<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>57902</bug_id>
          
          <creation_ts>2011-04-05 16:19:06 -0700</creation_ts>
          <short_desc>Crash in RenderMathMLSubSup::stretchToHeight()</short_desc>
          <delta_ts>2011-05-06 16:23:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>57897</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>bdakin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>379955</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-04-05 16:19:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/8913108&gt;

Crashing test attached.


  1 com.apple.WebCore              0x7fff943b52a9 WebCore::RenderMathMLSubSup::stretchToHeight(int) + 0x47
   2 com.apple.WebCore              0x7fff943b43df WebCore::RenderMathMLRow::layout() + 0x1cf
   3 com.apple.WebCore              0x7fff93bd49ad WebCore::RenderBlock::layoutInlineChildren(bool, int&amp;, int&amp;) + 0x423
   4 com.apple.WebCore              0x7fff94388eee WebCore::RenderBlock::layoutBlock(bool, int) + 0x4dc
   5 com.apple.WebCore              0x7fff93bd1dda WebCore::RenderBlock::layout() + 0x28
   6 com.apple.WebCore              0x7fff93bd3b97 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;) + 0x2db
   7 com.apple.WebCore              0x7fff93bd319b WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;) + 0x2b3
   8 com.apple.WebCore              0x7fff94388f09 WebCore::RenderBlock::layoutBlock(bool, int) + 0x4f7
   9 com.apple.WebCore              0x7fff93bd1dda WebCore::RenderBlock::layout() + 0x28
  10 com.apple.WebCore              0x7fff93bd3b97 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;) + 0x2db
  11 com.apple.WebCore              0x7fff93bd319b WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;) + 0x2b3
  12 com.apple.WebCore              0x7fff94388f09 WebCore::RenderBlock::layoutBlock(bool, int) + 0x4f7
  13 com.apple.WebCore              0x7fff93bd1dda WebCore::RenderBlock::layout() + 0x28
  14 com.apple.WebCore              0x7fff93bd3b97 WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;) + 0x2db
  15 com.apple.WebCore              0x7fff93bd319b WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;) + 0x2b3
  16 com.apple.WebCore              0x7fff94388f09 WebCore::RenderBlock::layoutBlock(bool, int) + 0x4f7
  17 com.apple.WebCore              0x7fff93bd1dda WebCore::RenderBlock::layout() + 0x28
  18 com.apple.WebCore              0x7fff93bd1cf5 WebCore::RenderView::layout() + 0x21f
  19 com.apple.WebCore              0x7fff93bd0ef8 WebCore::FrameView::layout(bool) + 0x6c6
  20 com.apple.WebCore              0x7fff93c15810 WebCore::Document::updateLayoutIgnorePendingStylesheets() + 0x6e
  21 com.apple.WebCore              0x7fff9402fa43 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const + 0x81
  22 com.apple.WebCore              0x7fff93f8ae76 WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;) + 0x70
  23 com.apple.WebCore              0x7fff941bc58b WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*) + 0x1eb
  24                                0x000024a8d52001b8 0 + 40307548750264
  25 com.apple.JavaScriptCore       0x7fff910c9269 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*) + 0x22d
  26 com.apple.JavaScriptCore       0x7fff9101595c JSC::evaluate(JSC::ExecState*, JSC::ScopeChain&amp;, JSC::SourceCode const&amp;, JSC::JSValue) + 0xfc
  27 com.apple.WebCore              0x7fff943ee345 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld*, WebCore::ShouldAllowXSS) + 0x1b5
  28 com.apple.WebCore              0x7fff943ee73f WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS) + 0x2f
  29 com.apple.WebCore              0x7fff943efbb1 WebCore::ScriptController::executeScript(WebCore::ScriptSourceCode const&amp;, WebCore::ShouldAllowXSS) + 0x51
  30 com.apple.WebCore              0x7fff943f3487 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;) + 0x57
  31 com.apple.WebCore              0x7fff940d60f4 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;) + 0x2aa
  32 com.apple.WebCore              0x7fff940d68b7 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition&lt;WTF::OneBasedNumber&gt; const&amp;) + 0x17
  33 com.apple.WebCore              0x7fff940b3e69 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 0x57
  34 com.apple.WebCore              0x7fff940b403c WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 0x16e
  35 com.apple.WebCore              0x7fff940b44ce WebCore::HTMLDocumentParser::append(WebCore::SegmentedString const&amp;) + 0x96
  36 com.apple.WebCore              0x7fff93f849c9 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter*, char const*, int, bool) + 0x165
  37 com.apple.WebCore              0x7fff93f95491 WebCore::DocumentLoader::commitData(char const*, int) + 0xa9
  38 com.apple.WebKit               0x7fff8c43c9a2 -[WebHTMLRepresentation receivedData:withDataSource:] + 0x62
  39 com.apple.WebKit               0x7fff8c43c8a0 -[WebDataSource(WebInternal) _receivedData:] + 0x50
  40 com.apple.WebKit               0x7fff8c43c82b WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 0x69
  41 com.apple.WebCore              0x7fff93be82b5 WebCore::DocumentLoader::commitLoad(char const*, int) + 0x8b
  42 com.apple.WebCore              0x7fff93be7ed2 WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 0x36
  43 com.apple.WebCore              0x7fff93be7e2d WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool) + 0x26b
  44 com.apple.WebCore              0x7fff93be7b95 WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) + 0x95
  45 com.apple.Foundation           0x7fff8a4a61c9 ___NSURLConnectionDidReceiveData_block_invoke_1 + 0x90
  46 com.apple.Foundation           0x7fff8a3c8882 _NSURLConnectionDidReceiveData + 0x56
  47 com.apple.CFNetwork            0x7fff90100e4c URLConnectionClient::_clientDidReceiveData(__CFData const*, URLConnectionClient::ClientConnectionEventQueue*) + 0x110
  48 com.apple.CFNetwork            0x7fff901b6c14 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;XClientEvent, XClientEventParams&gt;*, long) + 0x14e
  49 com.apple.CFNetwork            0x7fff901b6e44 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;XClientEvent, XClientEventParams&gt;*, long) + 0x37e
  50 com.apple.CFNetwork            0x7fff900f336b URLConnectionClient::processEvents() + 0xc1
  51 com.apple.CFNetwork            0x7fff900f3230 MultiplexerSource::perform() + 0xd4
  52 com.apple.CoreFoundation       0x7fff8c6027ed __CFRunLoopDoSources0 + 0xfd
  53 com.apple.CoreFoundation       0x7fff8c6021b9 __CFRunLoopRun + 0x389
  54 com.apple.CoreFoundation       0x7fff8c601bf6 CFRunLoopRunSpecific + 0xe6
  55 com.apple.HIToolbox            0x7fff8d298fef RunCurrentEventLoopInMode + 0x115
  56 com.apple.HIToolbox            0x7fff8d298de9 ReceiveNextEventCommon + 0x163
  57 com.apple.HIToolbox            0x7fff8d298c76 BlockUntilNextEventMatchingListInMode + 0x3e
  58 com.apple.AppKit               0x7fff8ebca2b9 _DPSNextEvent + 0x293
  59 com.apple.AppKit               0x7fff8ebc9bbe -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 0x87
  60 com.apple.Safari.framework     0x7fff91c755fc -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 0xab
  61 com.apple.AppKit               0x7fff8eb8ea7d -[NSApplication run] + 0x1c8
  62 com.apple.AppKit               0x7fff8eb87861 NSApplicationMain + 0x35c
  63 com.apple.Safari.framework     0x7fff91dd68ca SafariMain + 0xc5
  64 com.apple.Safari               0x10b00ff24 start + 0x0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379956</commentid>
    <comment_count>1</comment_count>
      <attachid>88332</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-04-05 16:19:27 -0700</bug_when>
    <thetext>Created attachment 88332
Crashing test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399892</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2011-05-06 16:23:14 -0700</bug_when>
    <thetext>This is the same issue as bug 57897 where the base or sub/superscript has been removed via javascript and violates the assumption that the RenderMathMLBlock instance added by the renderer always has a child.  That&apos;s a bad assumption.

*** This bug has been marked as a duplicate of bug 57897 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>88332</attachid>
            <date>2011-04-05 16:19:27 -0700</date>
            <delta_ts>2011-04-05 16:19:27 -0700</delta_ts>
            <desc>Crashing test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>16171</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">PGh0bWwgaWQ9IndlYmZ1enowIiB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc+
CjxoZWFkIGlkPSJ3ZWJmdXp6MSI+Cjx0aXRsZSBpZD0id2ViZnV6ejIiPlN1cGVyc2NyaXB0czwv
dGl0bGU+CjwvaGVhZD4KPGJvZHkgaWQ9IndlYmZ1enozIj4KPHAgaWQ9J3QxJz5zdXBlcnNjcmlw
dDogCjxtYXRoIGlkPSJ3ZWJmdXp6NCIgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0
aC9NYXRoTUwnPgo8bXN1cCBpZD0id2ViZnV6ejUiPjxtaSBpZD0id2ViZnV6ejYiPng8L21pPjxt
biBpZD0id2ViZnV6ejciPjI8L21uPjwvbXN1cD4KPC9tYXRoPgo8L3A+CjwvYm9keT4KPC9odG1s
Pgo8c2NyaXB0PiB0cnkgewp2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJm
dXp6NiIpOwp2YXIgcm5kID0gWzksNjgsMzgsNiw1OSw2MCw1MywxLDEsOTddOwp2YXIgbW9kaWZp
ZWQgPSBmYWxzZTsKZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLmF0dHJpYnV0ZXMubGVuZ3RoOyBp
KyspICB7CiAgaWYgKGVsZW0uYXR0cmlidXRlc1tpXS5zcGVjaWZpZWQgJiYgZWxlbS5hdHRyaWJ1
dGVzW2ldLm5hbWUgIT0gImlkIikgeyAKICAgIGlmIChybmRbaV0gPCAxMCkgewogICAgICBlbGVt
LnJlbW92ZUF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSk7CiAgICAgIGktLTsKICAg
ICAgbW9kaWZpZWQgPSB0cnVlOwogICAgfSBlbHNlIGlmIChybmRbaV0gPCAyMCkgewogICAgICBl
bGVtLnNldEF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSwgJzExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExLjEnKTsKICAgICAgbW9kaWZpZWQgPSB0cnVlOwog
ICAgfQogIH0KfSAKCmlmICghIG1vZGlmaWVkKSB7CiAgZWxlbS5zZXRBdHRyaWJ1dGUoJ3ZhbGln
bicsICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQScpOwp9Cgp9IGNh
dGNoKGUpIHtkb2N1bWVudC53cml0ZSgiRXJyb3I6ICIgKyBlLm5hbWUgKyAiOiAiICsgZS5tZXNz
YWdlKTt9Cjwvc2NyaXB0Pgo8c2NyaXB0PiB0cnkgewp2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ3ZWJmdXp6NiIpOwpmb3IgKGk9MDtpPGVsZW0uY2hpbGROb2Rlcy5sZW5ndGg7
aSsrKSB7CiAgZWxlbS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGVsZW0uY2hpbGROb2Rlc1tpXSk7
CiAgaS0tOwp9CmVsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTsKfSBjYXRjaChlKSB7
ZG9jdW1lbnQud3JpdGUoIkVycm9yOiAiICsgZS5uYW1lICsgIjogIiArIGUubWVzc2FnZSk7fQo8
L3NjcmlwdD4KPHNjcmlwdD4gdHJ5IHsKZG9jdW1lbnQuZGVzaWduTW9kZSA9ICJvbiI7CmRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkZvbnRT
aXplRGVsdGEiLCB0cnVlLCBudWxsKTsKdmFyIGZ1enpfcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVS
YW5nZSgpOwpmdXp6X3JhbmdlLnNldFN0YXJ0KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgNyk7
CmZ1enpfcmFuZ2Uuc2V0RW5kKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJmdXp6NiIpLCA2
KTsKZnV6el9yYW5nZS5leGVjQ29tbWFuZCgiSnVzdGlmeVJpZ2h0IiwgZmFsc2UsIG51bGwpOwpk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2ViZnV6ejYiKS5jb250ZW50RWRpdGFibGU9InRydWUi
Owpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2ViZnV6ejYiKS5jb250ZW50RG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkluc2VydEltYWdlIiwgdHJ1ZSwgJyVmJTIwJTliJTdjJTE5Jyk7CnZhciBmdXp6
X3JhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKZnV6el9yYW5nZS5zZXRTdGFydChkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQsIDEpOwpmdXp6X3JhbmdlLnNldEVuZChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgid2ViZnV6ejAiKSwgMCk7CmZ1enpfcmFuZ2UuZXhlY0NvbW1hbmQoIlVuZG8i
LCB0cnVlLCBmYWxzZSk7Cn0gY2F0Y2goZSkge2RvY3VtZW50LndyaXRlKCJFcnJvcjogIiArIGUu
bmFtZSArICI6ICIgKyBlLm1lc3NhZ2UpO30KPC9zY3JpcHQ+CjxzY3JpcHQ+IHRyeSB7CnZhciBl
bGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYmZ1eno2Iik7CnZhciBybmQgPSBbMjks
NjQsMzMsNDAsODUsOTcsOTEsNjYsNzQsNjldOwp2YXIgbW9kaWZpZWQgPSBmYWxzZTsKZm9yICh2
YXIgaSA9IDA7IGkgPCBlbGVtLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspICB7CiAgaWYgKGVsZW0u
YXR0cmlidXRlc1tpXS5zcGVjaWZpZWQgJiYgZWxlbS5hdHRyaWJ1dGVzW2ldLm5hbWUgIT0gImlk
IikgeyAKICAgIGlmIChybmRbaV0gPCAxMCkgewogICAgICBlbGVtLnJlbW92ZUF0dHJpYnV0ZShl
bGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSk7CiAgICAgIGktLTsKICAgICAgbW9kaWZpZWQgPSB0cnVl
OwogICAgfSBlbHNlIGlmIChybmRbaV0gPCAyMCkgewogICAgICBlbGVtLnNldEF0dHJpYnV0ZShl
bGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSwgJzB4ZmZmZmZmZmYnKTsKICAgICAgbW9kaWZpZWQgPSB0
cnVlOwogICAgfQogIH0KfSAKCmlmICghIG1vZGlmaWVkKSB7CiAgZWxlbS5zZXRBdHRyaWJ1dGUo
J29ubW91c2Vtb3ZlJywgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJmdXp6NyIpLm5vcm1h
bGl6ZSgpOycpOwp9Cgp9IGNhdGNoKGUpIHtkb2N1bWVudC53cml0ZSgiRXJyb3I6ICIgKyBlLm5h
bWUgKyAiOiAiICsgZS5tZXNzYWdlKTt9Cjwvc2NyaXB0Pgo8c2NyaXB0PiB0cnkgewp2YXIgZWxl
bSA9IGRvY3VtZW50Owp2YXIgcm5kID0gWzY5LDY3LDM1LDMyLDcsMzUsMTMsMjgsMTMsMjhdOwp2
YXIgbW9kaWZpZWQgPSBmYWxzZTsKZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLmF0dHJpYnV0ZXMu
bGVuZ3RoOyBpKyspICB7CiAgaWYgKGVsZW0uYXR0cmlidXRlc1tpXS5zcGVjaWZpZWQgJiYgZWxl
bS5hdHRyaWJ1dGVzW2ldLm5hbWUgIT0gImlkIikgeyAKICAgIGlmIChybmRbaV0gPCAxMCkgewog
ICAgICBlbGVtLnJlbW92ZUF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSk7CiAgICAg
IGktLTsKICAgICAgbW9kaWZpZWQgPSB0cnVlOwogICAgfSBlbHNlIGlmIChybmRbaV0gPCAyMCkg
ewogICAgICBlbGVtLnNldEF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSwgJzEyMzQ1
Njc4OS4nKTsKICAgICAgbW9kaWZpZWQgPSB0cnVlOwogICAgfQogIH0KfSAKCmlmICghIG1vZGlm
aWVkKSB7CiAgZWxlbS5zZXRBdHRyaWJ1dGUoJ3htbG5zJywgJ2h0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwnKTsKfQoKfSBjYXRjaChlKSB7ZG9jdW1lbnQud3JpdGUoIkVycm9yOiAiICsgZS5u
YW1lICsgIjogIiArIGUubWVzc2FnZSk7fQo8L3NjcmlwdD4KPHNjcmlwdD4gdHJ5IHsKZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIndlYmZ1enoxIikubGFuZz13aW5kb3cuZG9jdW1lbnQuY3JlYXRl
QXR0cmlidXRlKHdpbmRvdy5sb2NhdGlvbi5oYXNoKTsKfSBjYXRjaChlKSB7ZG9jdW1lbnQud3Jp
dGUoIkVycm9yOiAiICsgZS5uYW1lICsgIjogIiArIGUubWVzc2FnZSk7fQo8L3NjcmlwdD4KPHNj
cmlwdD4gdHJ5IHsKdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2ViZnV6ejUi
KTsgdmFyIHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZTsKdmFyIG5ld19lbGVtID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgibm9iciIpOwp0cnkgewpuZXdfZWxlbS5pbm5lckhUTUwgPSBlbGVtLmlu
bmVySFRNTDsKfSBjYXRjaChlKSB7fQpmb3IgKGkgaW4gZWxlbS5hdHRyaWJ1dGVzKSB7CglpZiAo
ZWxlbS5hdHRyaWJ1dGVzW2ldLnNwZWNpZmllZCkgewoJCW5ld19lbGVtLnNldEF0dHJpYnV0ZShl
bGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSwgZWxlbS5hdHRyaWJ1dGVzW2ldLnZhbHVlKTsKCX0KfQpw
YXJlbnQuaW5zZXJ0QmVmb3JlKG5ld19lbGVtLCBlbGVtKTsKcGFyZW50LnJlbW92ZUNoaWxkKGVs
ZW0pOwp9IGNhdGNoKGUpIHtkb2N1bWVudC53cml0ZSgiRXJyb3I6ICIgKyBlLm5hbWUgKyAiOiAi
ICsgZS5tZXNzYWdlKTt9Cjwvc2NyaXB0Pgo8c2NyaXB0PiB0cnkgewp2YXIgZWxlbSA9IGRvY3Vt
ZW50Owp2YXIgcm5kID0gWzM4LDk0LDMxLDc5LDQyLDg1LDM0LDgsNTEsNzJdOwp2YXIgbW9kaWZp
ZWQgPSBmYWxzZTsKZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLmF0dHJpYnV0ZXMubGVuZ3RoOyBp
KyspICB7CiAgaWYgKGVsZW0uYXR0cmlidXRlc1tpXS5zcGVjaWZpZWQgJiYgZWxlbS5hdHRyaWJ1
dGVzW2ldLm5hbWUgIT0gImlkIikgeyAKICAgIGlmIChybmRbaV0gPCAxMCkgewogICAgICBlbGVt
LnJlbW92ZUF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSk7CiAgICAgIGktLTsKICAg
ICAgbW9kaWZpZWQgPSB0cnVlOwogICAgfSBlbHNlIGlmIChybmRbaV0gPCAyMCkgewogICAgICBl
bGVtLnNldEF0dHJpYnV0ZShlbGVtLmF0dHJpYnV0ZXNbaV0ubmFtZSwgJ10kfWtULm44VzMnKTsK
ICAgICAgbW9kaWZpZWQgPSB0cnVlOwogICAgfQogIH0KfSAKCmlmICghIG1vZGlmaWVkKSB7CiAg
ZWxlbS5zZXRBdHRyaWJ1dGUoJ2JhY2tncm91bmQnLCAnZmlsZTovLy9ldGMvaG9zdHMnKTsKfQoK
fSBjYXRjaChlKSB7ZG9jdW1lbnQud3JpdGUoIkVycm9yOiAiICsgZS5uYW1lICsgIjogIiArIGUu
bWVzc2FnZSk7fQo8L3NjcmlwdD4KPHNjcmlwdD4gdHJ5IHsKdmFyIGVsZW0gPSBkb2N1bWVudC5i
b2R5Owp2YXIgcm5kID0gWzY5LDg4LDg1LDU3LDEsODksMTgsOSw0NiwzMl07CnZhciBtb2RpZmll
ZCA9IGZhbHNlOwpmb3IgKHZhciBpID0gMDsgaSA8IGVsZW0uYXR0cmlidXRlcy5sZW5ndGg7IGkr
KykgIHsKICBpZiAoZWxlbS5hdHRyaWJ1dGVzW2ldLnNwZWNpZmllZCAmJiBlbGVtLmF0dHJpYnV0
ZXNbaV0ubmFtZSAhPSAiaWQiKSB7IAogICAgaWYgKHJuZFtpXSA8IDEwKSB7CiAgICAgIGVsZW0u
cmVtb3ZlQXR0cmlidXRlKGVsZW0uYXR0cmlidXRlc1tpXS5uYW1lKTsKICAgICAgaS0tOwogICAg
ICBtb2RpZmllZCA9IHRydWU7CiAgICB9IGVsc2UgaWYgKHJuZFtpXSA8IDIwKSB7CiAgICAgIGVs
ZW0uc2V0QXR0cmlidXRlKGVsZW0uYXR0cmlidXRlc1tpXS5uYW1lLCAnLTEnKTsKICAgICAgbW9k
aWZpZWQgPSB0cnVlOwogICAgfQogIH0KfSAKCmlmICghIG1vZGlmaWVkKSB7CiAgZWxlbS5zZXRB
dHRyaWJ1dGUoJ2hyZWYnLCAnaHR0cDovL2JMUi5McWxeJyk7Cn0KCn0gY2F0Y2goZSkge2RvY3Vt
ZW50LndyaXRlKCJFcnJvcjogIiArIGUubmFtZSArICI6ICIgKyBlLm1lc3NhZ2UpO30KPC9zY3Jp
cHQ+CjxzY3JpcHQ+IHRyeSB7CmRvY3VtZW50LmRlc2lnbk1vZGUgPSAib2ZmIjsKZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwpkb2N1bWVudC5ib2R5LmNvbnRlbnRFZGl0YWJsZT0i
dHJ1ZSI7CmRvY3VtZW50LmJvZHkuY29udGVudERvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRM
aW5lQnJlYWsiLCBmYWxzZSwgbnVsbCk7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJmdXp6
MyIpLmNvbnRlbnRFZGl0YWJsZT0idHJ1ZSI7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWJm
dXp6MyIpLmNvbnRlbnREb2N1bWVudC5leGVjQ29tbWFuZCgiRW5hYmxlSW5saW5lVGFibGVFZGl0
aW5nIiwgdHJ1ZSwgJ3JlZCcpOwpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGVudEVkaXRh
YmxlPSJ0cnVlIjsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRlbnREb2N1bWVudC5leGVj
Q29tbWFuZCgiVHJhbnNwb3NlIiwgdHJ1ZSwgbnVsbCk7Cn0gY2F0Y2goZSkge2RvY3VtZW50Lndy
aXRlKCJFcnJvcjogIiArIGUubmFtZSArICI6ICIgKyBlLm1lc3NhZ2UpO30KPC9zY3JpcHQ+Cjxz
Y3JpcHQ+CnZhciBhID0gbmV3IEFycmF5KCk7CmZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyBpKysp
IHsKICAgdmFyIHMgPSBuZXcgQXJyYXkoaSsxKS5qb2luKCJBIik7CiAgIGFbaV0gPSBzOwogICBh
W3NdID0gaTsKICAgZGVsZXRlIGFbc107CiAgIGlmIChpICUgMiA9PSAwKSBkZWxldGUgczsKfQpk
ZWxldGUgYTsKYSA9IFtdOwp2YXIgbWF4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
IioiKS5sZW5ndGg7CmZvciAoaSA9IDA7IGkgPCBtYXg7ICsraSkgewogIGFbaV0gPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpW2ldOwp9CmlmICh3aW5kb3cuR0NDb250cm9sbGVy
KQogICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>