<?php

/**
* @package   s9e\TextFormatter
* @copyright Copyright (c) 2010-2017 The s9e Authors
* @license   http://www.opensource.org/licenses/mit-license.php The MIT License
*/
class s9e_renderer_f6dc9abd6c281444350fe02ff73cb4cc2f98e935 extends \s9e\TextFormatter\Renderers\PHP
{
	protected $params=['L_ABBC3_OFFTOPIC'=>'','L_ABBC3_SPOILER_HIDE'=>'','L_ABBC3_SPOILER_SHOW'=>'','L_CODE'=>'','L_COLON'=>'','L_FROM'=>'','L_IMAGE'=>'','L_MESSAGE'=>'','L_SELECT_ALL_CODE'=>'','L_WROTE'=>'','STYLE_ID'=>'','S_VIEWFLASH'=>'','S_VIEWIMG'=>'','S_VIEWSMILIES'=>'','T_SMILIES_PATH'=>''];
	protected function renderNode(\DOMNode $node)
	{
		switch($node->nodeName){case'ALIGN':$this->out.='<span style="text-align:'.htmlspecialchars($node->getAttribute('align'),2).';display:block">';$this->at($node);$this->out.='</span>';break;case'ATTACHMENT':$this->out.='<div class="inline-attachment"><!-- ia'.htmlspecialchars($node->getAttribute('index'),0).' -->'.htmlspecialchars($node->getAttribute('filename'),0).'<!-- ia'.htmlspecialchars($node->getAttribute('index'),0).' --></div>';break;case'B':$this->out.='<strong';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$this->out.=' class="text-strong"';$this->out.='>';$this->at($node);$this->out.='</strong>';break;case'BBVIDEO':$this->out.='<a href="'.htmlspecialchars($node->getAttribute('content'),2).'" class="bbvideo" data-bbvideo="'.htmlspecialchars($node->getAttribute('bbvideo0'),2).','.htmlspecialchars($node->getAttribute('bbvideo1'),2).'" target="_blank" rel="noreferrer">'.htmlspecialchars($node->getAttribute('content'),0).'</a>';break;case'BLINK':$this->out.='<blink>';$this->at($node);$this->out.='</blink>';break;case'BLUR':$this->out.='<span class="blur" style="display:inline;padding:0 6px;color:transparent;text-shadow:0 0 0.2em '.htmlspecialchars($node->getAttribute('blur'),2).'">';$this->at($node);$this->out.='</span>';break;case'CODE':$this->out.='<div class="codebox"><p>'.htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).' <a href="#" onclick="selectCode(this); return false;">'.htmlspecialchars($this->params['L_SELECT_ALL_CODE'],0).'</a></p>';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8){$this->out.='<pre><code>';$this->at($node);$this->out.='</code></pre>';}else{$this->out.='<code>';$this->at($node);$this->out.='</code>';}$this->out.='</div>';break;case'COLOR':$this->out.='<span style="color:'.htmlspecialchars($node->getAttribute('color'),2).'">';$this->at($node);$this->out.='</span>';break;case'COLOR2':$this->out.='<div style="color:'.htmlspecialchars($node->getAttribute('color2'),2).'">';$this->at($node);$this->out.='</div>';break;case'DIR':$this->out.='<bdo dir="'.htmlspecialchars($node->getAttribute('dir'),2).'">';$this->at($node);$this->out.='</bdo>';break;case'DROPSHADOW':$this->out.='<span class="dropshadow" style="display:inline;padding:0 6px;color:'.htmlspecialchars($node->getAttribute('dropshadow'),2).';text-shadow:-1px 1px 0 #999">';$this->at($node);$this->out.='</span>';break;case'E':if(empty($this->params['S_VIEWSMILIES']))$this->out.=htmlspecialchars($node->textContent,0);else{switch($node->textContent){case'8-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool">';break;case':!:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_exclaim.gif" width="15" height="17" alt=":!:" title="Exclamation">';break;case':(':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":(" title="Sad">';break;case':)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile">';break;case':-(':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":-(" title="Sad">';break;case':-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":-)" title="Smile">';break;case':-?':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":-?" title="Confused">';break;case':-D':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":-D" title="Very Happy">';break;case':-P':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":-P" title="Razz">';break;case':-o':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":-o" title="Surprised">';break;case':-x':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":-x" title="Mad">';break;case':-|':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":-|" title="Neutral">';break;case':?':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":?" title="Confused">';break;case':?:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_question.gif" width="15" height="17" alt=":?:" title="Question">';break;case':???:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":???:" title="Confused">';break;case':D':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":D" title="Very Happy">';break;case':P':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":P" title="Razz">';break;case':arrow:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_arrow.gif" width="15" height="17" alt=":arrow:" title="Arrow">';break;case':cool:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt=":cool:" title="Cool">';break;case':cry:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cry.gif" width="15" height="17" alt=":cry:" title="Crying or Very Sad">';break;case':eek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":eek:" title="Surprised">';break;case':evil:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_evil.gif" width="15" height="17" alt=":evil:" title="Evil or Very Mad">';break;case':geek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_geek.gif" width="17" height="17" alt=":geek:" title="Geek">';break;case':grin:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":grin:" title="Very Happy">';break;case':idea:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_idea.gif" width="15" height="17" alt=":idea:" title="Idea">';break;case':lol:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_lol.gif" width="15" height="17" alt=":lol:" title="Laughing">';break;case':mad:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":mad:" title="Mad">';break;case':mrgreen:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mrgreen.gif" width="15" height="17" alt=":mrgreen:" title="Mr. Green">';break;case':o':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":o" title="Surprised">';break;case':oops:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_redface.gif" width="15" height="17" alt=":oops:" title="Embarrassed">';break;case':razz:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":razz:" title="Razz">';break;case':roll:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_rolleyes.gif" width="15" height="17" alt=":roll:" title="Rolling Eyes">';break;case':sad:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":sad:" title="Sad">';break;case':shock:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_eek.gif" width="15" height="17" alt=":shock:" title="Shocked">';break;case':smile:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":smile:" title="Smile">';break;case':twisted:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_twisted.gif" width="15" height="17" alt=":twisted:" title="Twisted Evil">';break;case':ugeek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_ugeek.gif" width="17" height="18" alt=":ugeek:" title="Uber Geek">';break;case':wink:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=":wink:" title="Wink">';break;case':x':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":x" title="Mad">';break;case':|':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":|" title="Neutral">';break;case';)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";)" title="Wink">';break;case';-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";-)" title="Wink">';break;default:$this->out.=htmlspecialchars($node->textContent,0);}}break;case'EMAIL':$this->out.='<a href="mailto:'.htmlspecialchars($node->getAttribute('email'),2);if($this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8||$this->params['STYLE_ID']==9)if($node->hasAttribute('subject')||$node->hasAttribute('body')){$this->out.='?';if($node->hasAttribute('subject'))$this->out.='subject='.htmlspecialchars($node->getAttribute('subject'),2);if($node->hasAttribute('body')){if($node->hasAttribute('subject'))$this->out.='&amp;';$this->out.='body='.htmlspecialchars($node->getAttribute('body'),2);}}$this->out.='">';$this->at($node);$this->out.='</a>';break;case'EMOJI':if(!empty($this->params['S_VIEWSMILIES']))$this->out.='<img alt="'.htmlspecialchars($node->textContent,2).'" class="emoji smilies" draggable="false" src="//cdn.jsdelivr.net/emojione/assets/3.1/png/64/'.htmlspecialchars($node->getAttribute('seq'),2).'.png">';else$this->out.=htmlspecialchars($node->textContent,0);break;case'FADE':$this->out.='<span class="fadeEffect">';$this->at($node);$this->out.='</span>';break;case'FLASH':if(!empty($this->params['S_VIEWFLASH']))$this->out.='<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="'.htmlspecialchars($node->getAttribute('width'),2).'" height="'.htmlspecialchars($node->getAttribute('height'),2).'"><param name="movie" value="'.htmlspecialchars($node->getAttribute('url'),2).'"><param name="play" value="false"><param name="loop" value="false"><param name="quality" value="high"><param name="allowScriptAccess" value="never"><param name="allowNetworking" value="internal"><embed src="'.htmlspecialchars($node->getAttribute('url'),2).'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="'.htmlspecialchars($node->getAttribute('width'),2).'" height="'.htmlspecialchars($node->getAttribute('height'),2).'" play="false" loop="false" quality="high" allowscriptaccess="never" allownetworking="internal"></object>';else$this->at($node);break;case'FLOAT':$this->out.='<div style="float:'.htmlspecialchars($node->getAttribute('float'),2).';padding:0 10px">';$this->at($node);$this->out.='</div>';break;case'FONT':$this->out.='<span style="font-family:'.htmlspecialchars($node->getAttribute('font'),2).'">';$this->at($node);$this->out.='</span>';break;case'GLOW':$this->out.='<span class="glow" style="display:inline;padding:0 6px;color:#fff;text-shadow:0 0 1em '.htmlspecialchars($node->getAttribute('glow'),2).',0 0 1em '.htmlspecialchars($node->getAttribute('glow'),2).',0 0 1.2em '.htmlspecialchars($node->getAttribute('glow'),2).'">';$this->at($node);$this->out.='</span>';break;case'HIDDEN':$this->out.='<!-- ABBC3_BBCODE_HIDDEN -->';$this->at($node);$this->out.='<!-- ABBC3_BBCODE_HIDDEN -->';break;case'HIGHLIGHT':$this->out.='<span style="background-color:'.htmlspecialchars($node->getAttribute('highlight'),2).'">';$this->at($node);$this->out.='</span>';break;case'I':$this->out.='<em';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$this->out.=' class="text-italics"';$this->out.='>';$this->at($node);$this->out.='</em>';break;case'IMG':if(!empty($this->params['S_VIEWIMG']))$this->out.='<img src="'.htmlspecialchars($node->getAttribute('src'),2).'" class="postimage" alt="'.htmlspecialchars($this->params['L_IMAGE'],2).'">';else$this->at($node);break;case'LI':$this->out.='<li>';$this->at($node);$this->out.='</li>';break;case'LINK_TEXT':$this->out.=htmlspecialchars($node->getAttribute('text'),0);break;case'LIST':if(!$node->hasAttribute('type')){$this->out.='<ul>';$this->at($node);$this->out.='</ul>';}elseif((strpos('upperlowerdecim',mb_substr($node->getAttribute('type'),0,5,'utf-8'))!==false)){$this->out.='<ol style="list-style-type:'.htmlspecialchars($node->getAttribute('type'),2).'">';$this->at($node);$this->out.='</ol>';}else{$this->out.='<ul style="list-style-type:'.htmlspecialchars($node->getAttribute('type'),2).'">';$this->at($node);$this->out.='</ul>';}break;case'MARQ':$this->out.='<marquee class="abbc3_marquee" direction="'.htmlspecialchars($node->getAttribute('marq'),2).'" scrolldelay="100" onmouseover="this.scrollDelay=10000000;" onmouseout="this.scrollDelay=100;" style="margin:10px 0;padding:5px;display:inline-block">';$this->at($node);$this->out.='</marquee>';break;case'MOD':$this->out.='<table class="ModTable" style="background-color:#fff;border:1px solid #000;border-collapse:separate;border-spacing:5px;padding:0;width:100%;color:#333;overflow:hidden"><tr><td class="exclamation" rowspan="2" style="background-color:#ff6060;font-weight:bold;font-family:\'Times New Roman\',Verdana,sans-serif;font-size:4em;color:#fff;vertical-align:middle;text-align:center;width:1%"> ! </td><td class="rowuser" style="border-bottom:1px solid #000;font-weight:bold">'.htmlspecialchars($this->params['L_MESSAGE'],0).' '.htmlspecialchars($this->params['L_FROM'].$this->params['L_COLON'],0).' '.htmlspecialchars($node->getAttribute('mod'),0).'</td></tr><tr><td class="rowtext">';$this->at($node);$this->out.='</td></tr></table>';break;case'NFO':$this->out.='<pre class="nfo" style="color:#000;font-weight:normal;line-height:normal;font-size:10pt;font-family:Terminal,monospace;background-color:#fff;white-space:pre;padding:5px">';$this->at($node);$this->out.='</pre>';break;case'OFFTOPIC':$this->out.='<div class="offtopic" style="position:relative;margin:5px 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px"><div class="offtopic_title" style="position:absolute;top:-1px;left:-1px;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0">'.htmlspecialchars($this->params['L_ABBC3_OFFTOPIC'],0).'</div><div class="offtopic_text" style="padding:5px 10px;color:#333">';$this->at($node);$this->out.='</div></div>';break;case'PRE':$this->out.='<pre class="abbc3_pre" style="display:block;font-family:monospace;white-space:pre">';$this->at($node);$this->out.='</pre>';break;case'QUOTE':$this->out.='<blockquote';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8){if(!$node->hasAttribute('author'))$this->out.=' class="uncited"';$this->out.='><div>';if($node->hasAttribute('author')){$this->out.='<cite>';if($node->hasAttribute('url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="postlink">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';elseif($node->hasAttribute('profile_url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('profile_url'),2).'">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';else$this->out.=htmlspecialchars($node->getAttribute('author'),0);$this->out.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if($node->hasAttribute('post_url'))$this->out.=' <a href="'.htmlspecialchars($node->getAttribute('post_url'),2).'" data-post-id="'.htmlspecialchars($node->getAttribute('post_id'),2).'" onclick="if(document.getElementById(hash.substr(1)))href=hash">↑</a>';if($node->hasAttribute('date'))$this->out.='<div class="responsive-hide">'.htmlspecialchars($node->getAttribute('date'),0).'</div>';$this->out.='</cite>';}$this->at($node);}else{$this->out.=' class="uncited"><div>';$this->at($node);}$this->out.='</div>';$this->out.='</blockquote>';break;case'S':$this->out.='<span class="abbc3_strike" style="text-decoration:line-through">';$this->at($node);$this->out.='</span>';break;case'SHADOW':$this->out.='<span class="shadow" style="display:inline;padding:0 6px;color:'.htmlspecialchars($node->getAttribute('shadow'),2).';text-shadow:-2px 2px 2px #999">';$this->at($node);$this->out.='</span>';break;case'SIZE':$this->out.='<span style="font-size: '.htmlspecialchars($node->getAttribute('size'),2).'%; line-height: ';if($this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8||$this->params['STYLE_ID']==9)$this->out.='normal';else$this->out.='116%;';$this->out.='">';$this->at($node);$this->out.='</span>';break;case'SOUNDCLOUD':$this->out.='<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url='.htmlspecialchars($node->getAttribute('content'),2).'&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe>';break;case'SPOIL':$this->out.='<div class="spoilwrapper" style="margin:5px 0;font-weight:normal;padding:4px 10px;background-color:#fff;border:1px solid #dbdbdb;border-radius:4px;color:#333"><div class="spoiltitle" style="margin:0;padding:0;width:100%"><span class="spoilbtn" style="margin:2px 5px;text-transform:uppercase;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-size:11px;font-weight:bold;display:block;cursor:pointer;color:#333" data-show="'.htmlspecialchars($this->params['L_ABBC3_SPOILER_SHOW'],2).'" data-hide="'.htmlspecialchars($this->params['L_ABBC3_SPOILER_HIDE'],2).'">'.htmlspecialchars($this->params['L_ABBC3_SPOILER_SHOW'],0).'</span></div><div class="spoilcontent" style="color:#333;display:none;padding:5px;border-top:1px solid #ccc">';$this->at($node);$this->out.='</div></div>';break;case'STRIKE':$this->out.='<strike>'.htmlspecialchars($node->getAttribute('content'),0).'</strike>';break;case'SUB':$this->out.='<sub style="vertical-align:sub;font-size:smaller">';$this->at($node);$this->out.='</sub>';break;case'SUP':$this->out.='<sup style="vertical-align:super;font-size:smaller">';$this->at($node);$this->out.='</sup>';break;case'U':$this->out.='<span style="text-decoration:underline">';$this->at($node);$this->out.='</span>';break;case'URL':$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="postlink">';$this->at($node);$this->out.='</a>';break;case'YOUTUBE':$this->out.='<a href="'.htmlspecialchars($node->getAttribute('content'),2).'" class="bbvideo" data-bbvideo="560,315">'.htmlspecialchars($node->getAttribute('content'),0).'</a>';break;case'br':$this->out.='<br>';break;case'e':case'i':case's':break;case'p':$this->out.='<p>';$this->at($node);$this->out.='</p>';break;default:$this->at($node);}
	}
	/** {@inheritdoc} */
	public $enableQuickRenderer=true;
	/** {@inheritdoc} */
	protected $static=['/ALIGN'=>'</span>','/B'=>'</strong>','/BLINK'=>'</blink>','/BLUR'=>'</span>','/COLOR'=>'</span>','/COLOR2'=>'</div>','/DIR'=>'</bdo>','/DROPSHADOW'=>'</span>','/EMAIL'=>'</a>','/FADE'=>'</span>','/FLOAT'=>'</div>','/FONT'=>'</span>','/GLOW'=>'</span>','/HIDDEN'=>'<!-- ABBC3_BBCODE_HIDDEN -->','/HIGHLIGHT'=>'</span>','/I'=>'</em>','/LI'=>'</li>','/MARQ'=>'</marquee>','/MOD'=>'</td></tr></table>','/NFO'=>'</pre>','/OFFTOPIC'=>'</div></div>','/PRE'=>'</pre>','/S'=>'</span>','/SHADOW'=>'</span>','/SIZE'=>'</span>','/SPOIL'=>'</div></div>','/SUB'=>'</sub>','/SUP'=>'</sup>','/U'=>'</span>','/URL'=>'</a>','BLINK'=>'<blink>','FADE'=>'<span class="fadeEffect">','HIDDEN'=>'<!-- ABBC3_BBCODE_HIDDEN -->','LI'=>'<li>','NFO'=>'<pre class="nfo" style="color:#000;font-weight:normal;line-height:normal;font-size:10pt;font-family:Terminal,monospace;background-color:#fff;white-space:pre;padding:5px">','PRE'=>'<pre class="abbc3_pre" style="display:block;font-family:monospace;white-space:pre">','S'=>'<span class="abbc3_strike" style="text-decoration:line-through">','SUB'=>'<sub style="vertical-align:sub;font-size:smaller">','SUP'=>'<sup style="vertical-align:super;font-size:smaller">','U'=>'<span style="text-decoration:underline">'];
	/** {@inheritdoc} */
	protected $dynamic=['ALIGN'=>['(^[^ ]+(?> (?!align=)[^=]+="[^"]*")*(?> align="([^"]*)")?.*)s','<span style="text-align:$1;display:block">'],'BLUR'=>['(^[^ ]+(?> (?!blur=)[^=]+="[^"]*")*(?> blur="([^"]*)")?.*)s','<span class="blur" style="display:inline;padding:0 6px;color:transparent;text-shadow:0 0 0.2em $1">'],'COLOR'=>['(^[^ ]+(?> (?!color=)[^=]+="[^"]*")*(?> color="([^"]*)")?.*)s','<span style="color:$1">'],'COLOR2'=>['(^[^ ]+(?> (?!color2=)[^=]+="[^"]*")*(?> color2="([^"]*)")?.*)s','<div style="color:$1">'],'DIR'=>['(^[^ ]+(?> (?!dir=)[^=]+="[^"]*")*(?> dir="([^"]*)")?.*)s','<bdo dir="$1">'],'DROPSHADOW'=>['(^[^ ]+(?> (?!dropshadow=)[^=]+="[^"]*")*(?> dropshadow="([^"]*)")?.*)s','<span class="dropshadow" style="display:inline;padding:0 6px;color:$1;text-shadow:-1px 1px 0 #999">'],'FLOAT'=>['(^[^ ]+(?> (?!float=)[^=]+="[^"]*")*(?> float="([^"]*)")?.*)s','<div style="float:$1;padding:0 10px">'],'FONT'=>['(^[^ ]+(?> (?!font=)[^=]+="[^"]*")*(?> font="([^"]*)")?.*)s','<span style="font-family:$1">'],'GLOW'=>['(^[^ ]+(?> (?!glow=)[^=]+="[^"]*")*(?> glow="([^"]*)")?.*)s','<span class="glow" style="display:inline;padding:0 6px;color:#fff;text-shadow:0 0 1em $1,0 0 1em $1,0 0 1.2em $1">'],'HIGHLIGHT'=>['(^[^ ]+(?> (?!highlight=)[^=]+="[^"]*")*(?> highlight="([^"]*)")?.*)s','<span style="background-color:$1">'],'MARQ'=>['(^[^ ]+(?> (?!marq=)[^=]+="[^"]*")*(?> marq="([^"]*)")?.*)s','<marquee class="abbc3_marquee" direction="$1" scrolldelay="100" onmouseover="this.scrollDelay=10000000;" onmouseout="this.scrollDelay=100;" style="margin:10px 0;padding:5px;display:inline-block">'],'SHADOW'=>['(^[^ ]+(?> (?!shadow=)[^=]+="[^"]*")*(?> shadow="([^"]*)")?.*)s','<span class="shadow" style="display:inline;padding:0 6px;color:$1;text-shadow:-2px 2px 2px #999">'],'SOUNDCLOUD'=>['(^[^ ]+(?> (?!content=)[^=]+="[^"]*")*(?> content="([^"]*)")?.*)s','<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=$1&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe>'],'URL'=>['(^[^ ]+(?> (?!url=)[^=]+="[^"]*")*(?> url="([^"]*)")?.*)s','<a href="$1" class="postlink">']];
	/** {@inheritdoc} */
	protected $quickRegexp='(<(?:(?!/)((?:ATTACHMENT|BBVIDEO|E(?>MOJI)?|LINK_TEXT|S(?>OUNDCLOUD|TRIKE)|YOUTUBE))(?: [^>]*)?>.*?</\\1|(/?(?!br/|p>)[^ />]+)[^>]*?(/)?)>)s';
	/** {@inheritdoc} */
	protected $quickRenderingTest='(<(?:[!?]|(?>FLASH|IMG)[ />]))';
	/** {@inheritdoc} */
	protected function renderQuickTemplate($id, $xml)
	{
		$attributes=$this->matchAttributes($xml);
		$html='';switch($id){case'/CODE':if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$html.='</code></pre>';else$html.='</code>';$html.='</div>';break;case'/LIST':$attributes=array_pop($this->attributes);if(!isset($attributes['type']))$html.='</ul>';elseif((strpos('upperlowerdecim',mb_substr(htmlspecialchars_decode($attributes['type']),0,5,'utf-8'))!==false))$html.='</ol>';else$html.='</ul>';break;case'/QUOTE':if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8);else;$html.='</div>';$html.='</blockquote>';break;case'ATTACHMENT':$attributes+=['index'=>null,'filename'=>null];$html.='<div class="inline-attachment"><!-- ia'.str_replace('&quot;','"',$attributes['index']).' -->'.str_replace('&quot;','"',$attributes['filename']).'<!-- ia'.str_replace('&quot;','"',$attributes['index']).' --></div>';break;case'B':$html.='<strong';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$html.=' class="text-strong"';$html.='>';break;case'BBVIDEO':$attributes+=['content'=>null,'bbvideo0'=>null,'bbvideo1'=>null];$html.='<a href="'.$attributes['content'].'" class="bbvideo" data-bbvideo="'.$attributes['bbvideo0'].','.$attributes['bbvideo1'].'" target="_blank" rel="noreferrer">'.str_replace('&quot;','"',$attributes['content']).'</a>';break;case'CODE':$html.='<div class="codebox"><p>'.htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).' <a href="#" onclick="selectCode(this); return false;">'.htmlspecialchars($this->params['L_SELECT_ALL_CODE'],0).'</a></p>';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$html.='<pre><code>';else$html.='<code>';break;case'E':$textContent=$this->getQuickTextContent($xml);if(empty($this->params['S_VIEWSMILIES']))$html.=htmlspecialchars($textContent,0);else{switch($textContent){case'8-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool">';break;case':!:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_exclaim.gif" width="15" height="17" alt=":!:" title="Exclamation">';break;case':(':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":(" title="Sad">';break;case':)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile">';break;case':-(':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":-(" title="Sad">';break;case':-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":-)" title="Smile">';break;case':-?':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":-?" title="Confused">';break;case':-D':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":-D" title="Very Happy">';break;case':-P':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":-P" title="Razz">';break;case':-o':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":-o" title="Surprised">';break;case':-x':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":-x" title="Mad">';break;case':-|':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":-|" title="Neutral">';break;case':?':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":?" title="Confused">';break;case':?:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_question.gif" width="15" height="17" alt=":?:" title="Question">';break;case':???:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":???:" title="Confused">';break;case':D':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":D" title="Very Happy">';break;case':P':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":P" title="Razz">';break;case':arrow:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_arrow.gif" width="15" height="17" alt=":arrow:" title="Arrow">';break;case':cool:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt=":cool:" title="Cool">';break;case':cry:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cry.gif" width="15" height="17" alt=":cry:" title="Crying or Very Sad">';break;case':eek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":eek:" title="Surprised">';break;case':evil:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_evil.gif" width="15" height="17" alt=":evil:" title="Evil or Very Mad">';break;case':geek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_geek.gif" width="17" height="17" alt=":geek:" title="Geek">';break;case':grin:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":grin:" title="Very Happy">';break;case':idea:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_idea.gif" width="15" height="17" alt=":idea:" title="Idea">';break;case':lol:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_lol.gif" width="15" height="17" alt=":lol:" title="Laughing">';break;case':mad:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":mad:" title="Mad">';break;case':mrgreen:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mrgreen.gif" width="15" height="17" alt=":mrgreen:" title="Mr. Green">';break;case':o':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":o" title="Surprised">';break;case':oops:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_redface.gif" width="15" height="17" alt=":oops:" title="Embarrassed">';break;case':razz:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":razz:" title="Razz">';break;case':roll:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_rolleyes.gif" width="15" height="17" alt=":roll:" title="Rolling Eyes">';break;case':sad:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":sad:" title="Sad">';break;case':shock:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_eek.gif" width="15" height="17" alt=":shock:" title="Shocked">';break;case':smile:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":smile:" title="Smile">';break;case':twisted:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_twisted.gif" width="15" height="17" alt=":twisted:" title="Twisted Evil">';break;case':ugeek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_ugeek.gif" width="17" height="18" alt=":ugeek:" title="Uber Geek">';break;case':wink:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=":wink:" title="Wink">';break;case':x':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":x" title="Mad">';break;case':|':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":|" title="Neutral">';break;case';)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";)" title="Wink">';break;case';-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";-)" title="Wink">';break;default:$html.=htmlspecialchars($textContent,0);}}break;case'EMAIL':$attributes+=['email'=>null,'body'=>null];$html.='<a href="mailto:'.$attributes['email'];if($this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8||$this->params['STYLE_ID']==9)if(isset($attributes['subject'])||isset($attributes['body'])){$html.='?';if(isset($attributes['subject']))$html.='subject='.$attributes['subject'];if(isset($attributes['body'])){if(isset($attributes['subject']))$html.='&amp;';$html.='body='.$attributes['body'];}}$html.='">';break;case'EMOJI':$attributes+=['seq'=>null];$textContent=$this->getQuickTextContent($xml);if(!empty($this->params['S_VIEWSMILIES']))$html.='<img alt="'.htmlspecialchars($textContent,2).'" class="emoji smilies" draggable="false" src="//cdn.jsdelivr.net/emojione/assets/3.1/png/64/'.$attributes['seq'].'.png">';else$html.=htmlspecialchars($textContent,0);break;case'I':$html.='<em';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8)$html.=' class="text-italics"';$html.='>';break;case'LINK_TEXT':$attributes+=['text'=>null];$html.=str_replace('&quot;','"',$attributes['text']);break;case'LIST':$attributes+=['type'=>null];if(!isset($attributes['type']))$html.='<ul>';elseif((strpos('upperlowerdecim',mb_substr(htmlspecialchars_decode($attributes['type']),0,5,'utf-8'))!==false))$html.='<ol style="list-style-type:'.$attributes['type'].'">';else$html.='<ul style="list-style-type:'.$attributes['type'].'">';$this->attributes[]=$attributes;break;case'MOD':$attributes+=['mod'=>null];$html.='<table class="ModTable" style="background-color:#fff;border:1px solid #000;border-collapse:separate;border-spacing:5px;padding:0;width:100%;color:#333;overflow:hidden"><tr><td class="exclamation" rowspan="2" style="background-color:#ff6060;font-weight:bold;font-family:\'Times New Roman\',Verdana,sans-serif;font-size:4em;color:#fff;vertical-align:middle;text-align:center;width:1%"> ! </td><td class="rowuser" style="border-bottom:1px solid #000;font-weight:bold">'.htmlspecialchars($this->params['L_MESSAGE'],0).' '.htmlspecialchars($this->params['L_FROM'].$this->params['L_COLON'],0).' '.str_replace('&quot;','"',$attributes['mod']).'</td></tr><tr><td class="rowtext">';break;case'OFFTOPIC':$html.='<div class="offtopic" style="position:relative;margin:5px 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px"><div class="offtopic_title" style="position:absolute;top:-1px;left:-1px;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0">'.htmlspecialchars($this->params['L_ABBC3_OFFTOPIC'],0).'</div><div class="offtopic_text" style="padding:5px 10px;color:#333">';break;case'QUOTE':$attributes+=['url'=>null,'author'=>null,'post_id'=>null];$html.='<blockquote';if($this->params['STYLE_ID']==1||$this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8){if(!isset($attributes['author']))$html.=' class="uncited"';$html.='><div>';if(isset($attributes['author'])){$html.='<cite>';if(isset($attributes['url']))$html.='<a href="'.$attributes['url'].'" class="postlink">'.str_replace('&quot;','"',$attributes['author']).'</a>';elseif(isset($attributes['profile_url']))$html.='<a href="'.$attributes['profile_url'].'">'.str_replace('&quot;','"',$attributes['author']).'</a>';else$html.=str_replace('&quot;','"',$attributes['author']);$html.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if(isset($attributes['post_url']))$html.=' <a href="'.$attributes['post_url'].'" data-post-id="'.$attributes['post_id'].'" onclick="if(document.getElementById(hash.substr(1)))href=hash">↑</a>';if(isset($attributes['date']))$html.='<div class="responsive-hide">'.str_replace('&quot;','"',$attributes['date']).'</div>';$html.='</cite>';}}else$html.=' class="uncited"><div>';break;case'SIZE':$attributes+=['size'=>null];$html.='<span style="font-size: '.$attributes['size'].'%; line-height: ';if($this->params['STYLE_ID']==7||$this->params['STYLE_ID']==8||$this->params['STYLE_ID']==9)$html.='normal';else$html.='116%;';$html.='">';break;case'SPOIL':$html.='<div class="spoilwrapper" style="margin:5px 0;font-weight:normal;padding:4px 10px;background-color:#fff;border:1px solid #dbdbdb;border-radius:4px;color:#333"><div class="spoiltitle" style="margin:0;padding:0;width:100%"><span class="spoilbtn" style="margin:2px 5px;text-transform:uppercase;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-size:11px;font-weight:bold;display:block;cursor:pointer;color:#333" data-show="'.htmlspecialchars($this->params['L_ABBC3_SPOILER_SHOW'],2).'" data-hide="'.htmlspecialchars($this->params['L_ABBC3_SPOILER_HIDE'],2).'">'.htmlspecialchars($this->params['L_ABBC3_SPOILER_SHOW'],0).'</span></div><div class="spoilcontent" style="color:#333;display:none;padding:5px;border-top:1px solid #ccc">';break;case'STRIKE':$attributes+=['content'=>null];$html.='<strike>'.str_replace('&quot;','"',$attributes['content']).'</strike>';break;case'YOUTUBE':$attributes+=['content'=>null];$html.='<a href="'.$attributes['content'].'" class="bbvideo" data-bbvideo="560,315">'.str_replace('&quot;','"',$attributes['content']).'</a>';}

		return $html;
	}
}