'Match and store Fenced Code Blocks in the HtmlStash.'

def run(self, lines):

    text = u'\n'.join(lines)
    while 1:
        m = self.FENCED_BLOCK_RE.search(text)
        if m:
            lang = u''
            if m.group(u'lang'):
                lang = m.group(u'lang')
            html = highlight(m.group(u'code'), self.config, self.markdown.tab_length, lang=lang)
            placeholder = self.markdown.htmlStash.store(html, safe=True)
            text = (u'%s\n%s\n%s' % (text[:m.start()], placeholder, text[m.end():]))
        else:
            break
    return text.split(u'\n')
