<?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>21801</bug_id>
          
          <creation_ts>2008-10-22 09:41:33 -0700</creation_ts>
          <short_desc>REGRESSION (r37821): YUI date formatting JavaScript puts the letter &apos;d&apos; in place of the day</short_desc>
          <delta_ts>2008-11-07 13:29:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://developer.yahoo.com/yui/examples/datatable/dt_basic_clean.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Silva">nate</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          <cc>ap</cc>
    
    <cc>ggaren</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96188</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Silva">nate</who>
    <bug_when>2008-10-22 09:41:33 -0700</bug_when>
    <thetext>SUMMARY

When using the YUI DataTable object, a column formatted as:

  {key:&apos;date&apos;, formatter:YAHOO.widget.DataTable.formatDate, 
                  sortable:true, resizeable:true}

...shows the date incorrectly. For example, a date which should be shown as &quot;03/24/1980&quot; is instead shown as &quot;03/d/1980&quot;.

This does not happen on Safari 3, but it does happen on the latest WebKit nightly (r37764).

STEPS TO REPRODUCE

Go to the Yahoo UI example at:
http://developer.yahoo.com/yui/examples/datatable/dt_basic_clean.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96190</commentid>
    <comment_count>1</comment_count>
    <who name="Nate Silva">nate</who>
    <bug_when>2008-10-22 09:53:36 -0700</bug_when>
    <thetext>This has also been filed as YUI bug #2187202.
https://sourceforge.net/tracker2/?func=detail&amp;aid=2187202&amp;group_id=165715&amp;atid=836476</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96325</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-23 06:27:23 -0700</bug_when>
    <thetext>Confirmed as a regression with r37807.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97518</commentid>
    <comment_count>3</comment_count>
    <who name="Nate Silva">nate</who>
    <bug_when>2008-11-03 16:38:50 -0800</bug_when>
    <thetext>Filed with Apple&apos;s Bug Reporter (is that what &quot;NeedsRadar&quot; means?). The bug report is:

rdar://problem/6341231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97556</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-04 03:53:00 -0800</bug_when>
    <thetext>Thank you! NeedsRadar isn&apos;t necessarily a request for the reporter to file it with Apple (someone else can do that), but it is slightly better if both bugs are technically reported by the same person.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97900</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-06 18:38:46 -0800</bug_when>
    <thetext>I have determined that this regressed between r36766 and r36847. I am also assigning this to myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97902</commentid>
    <comment_count>6</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-06 18:59:38 -0800</bug_when>
    <thetext>There was a typo in my previous post. This regressed in r36821:

http://trac.webkit.org/changeset/36821
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97907</commentid>
    <comment_count>7</comment_count>
      <attachid>24962</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-06 21:07:37 -0800</bug_when>
    <thetext>Created attachment 24962
Reduction

Here is a reduction. I can&apos;t seem to reduce it any further. The code in the script tag also works in the commandline JSC shell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97932</commentid>
    <comment_count>8</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-07 01:05:48 -0800</bug_when>
    <thetext>The problem here is that the check in CodeGenerator::emitTypeOf() to determine whether a register is constant is wrong after r36821:

            &amp;&amp; static_cast&lt;unsigned&gt;(src2-&gt;index()) &lt; m_codeBlock-&gt;constantRegisters.size()

I am kind of surprised that nothing else hit this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97934</commentid>
    <comment_count>9</comment_count>
      <attachid>24967</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-07 01:41:48 -0800</bug_when>
    <thetext>Created attachment 24967
Fix

Here is the simple fix. I will make a bunch of tests based on this original pattern, covering all of the individual typeof cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97949</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-11-07 10:21:53 -0800</bug_when>
    <thetext>In r36821, I had to fix many call sites making custom calculations about whether a register was constant. I guess I missed one.

I think it would be nice to fix this bug by changing this call site to use the isConstant function I wrote -- that way, the next time constant register layout changes, we won&apos;t have the same problem again.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97962</commentid>
    <comment_count>11</comment_count>
      <attachid>24972</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-07 13:11:34 -0800</bug_when>
    <thetext>Created attachment 24972
Proposed patch

Here is a better fix that uses the isConstant() member function I just added to CodeBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97963</commentid>
    <comment_count>12</comment_count>
      <attachid>24972</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-11-07 13:12:58 -0800</bug_when>
    <thetext>Comment on attachment 24972
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97964</commentid>
    <comment_count>13</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-07 13:29:51 -0800</bug_when>
    <thetext>Landed in r38230.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24962</attachid>
            <date>2008-11-06 21:07:37 -0800</date>
            <delta_ts>2008-11-06 21:07:37 -0800</delta_ts>
            <desc>Reduction</desc>
            <filename>reduction.html</filename>
            <type>text/html</type>
            <size>397</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwcmludCA9
IGFsZXJ0OwoKZnVuY3Rpb24gcmVwbGFjZV9mb3JtYXRzKCkgewogICAgdmFyIG8gPSBbImdldERh
dGUiLCAiMCJdOwogICAgaWYgKHR5cGVvZiBvID09PSAic3RyaW5nIikgewogICAgfSBlbHNlIGlm
ICh0eXBlb2YgbyA9PT0gJ2Z1bmN0aW9uJykgewogICAgfSBlbHNlIGlmICh0eXBlb2YgbyA9PT0g
J29iamVjdCcgJiYgdHlwZW9mIG9bMF0gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgcmV0dXJuICJQ
QVNTIjsKICAgIH0KICAgIHJldHVybiAiRkFJTCI7Cn07CgpwcmludCgiJWQiLnJlcGxhY2UoLyVk
LywgcmVwbGFjZV9mb3JtYXRzKSk7Cjwvc2NyaXB0Pgo8Ym9keT4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24967</attachid>
            <date>2008-11-07 01:41:48 -0800</date>
            <delta_ts>2008-11-07 13:11:34 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>constants.diff</filename>
            <type>text/plain</type>
            <size>952</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IGJ5dGVjb21waWxlci9Db2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBieXRl
Y29tcGlsZXIvQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDM4MjE5KQorKysgYnl0ZWNvbXBp
bGVyL0NvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03ODMsNyArNzgzLDggQEAg
UmVnaXN0ZXJJRCogQ29kZUdlbmVyYXRvcjo6ZW1pdEVxdWFsaXR5TwogCiAgICAgICAgIGlmIChz
cmMxLT5pbmRleCgpID09IGRzdEluZGV4CiAgICAgICAgICAgICAmJiBzcmMxLT5pc1RlbXBvcmFy
eSgpCi0gICAgICAgICAgICAmJiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3JjMi0+aW5kZXgoKSkg
PCBtX2NvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnMuc2l6ZSgpCisgICAgICAgICAgICAmJiBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oc3JjMi0+aW5kZXgoKSkgPiBtX2NhbGxlZVJlZ2lzdGVycy5z
aXplKCkKKyAgICAgICAgICAgICYmIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzcmMyLT5pbmRleCgp
KSA8PSBtX2NhbGxlZVJlZ2lzdGVycy5zaXplKCkgKyBtX2NvZGVCbG9jay0+bnVtQ29uc3RhbnRz
CiAgICAgICAgICAgICAmJiBtX2NvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnNbc3JjMi0+aW5k
ZXgoKV0uanNWYWx1ZShtX3Njb3BlQ2hhaW4tPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkp
LT5pc1N0cmluZygpKSB7CiAgICAgICAgICAgICBjb25zdCBVU3RyaW5nJiB2YWx1ZSA9IGFzU3Ry
aW5nKG1fY29kZUJsb2NrLT5jb25zdGFudFJlZ2lzdGVyc1tzcmMyLT5pbmRleCgpXS5qc1ZhbHVl
KG1fc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSkpLT52YWx1ZSgpOwog
ICAgICAgICAgICAgaWYgKHZhbHVlID09ICJ1bmRlZmluZWQiKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24972</attachid>
            <date>2008-11-07 13:11:34 -0800</date>
            <delta_ts>2008-11-07 13:12:58 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>constants.diff</filename>
            <type>text/plain</type>
            <size>12813</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM4MjI5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDgtMTEtMDcgIENhbWVyb24g
WndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMTgwMTogUkVHUkVTU0lPTiAocjM3ODIxKTogWVVJ
IGRhdGUgZm9ybWF0dGluZyBKYXZhU2NyaXB0IHB1dHMgdGhlIGxldHRlciAnZCcgaW4gcGxhY2Ug
b2YgdGhlIGRheQorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxODAxPgorCisgICAgICAgIEZpeCB0aGUgY29uc3RhbnQgcmVnaXN0ZXIgY2hlY2sgaW4g
dGhlICd0eXBlb2YnIG9wdGltaXphdGlvbiBpbgorICAgICAgICBDb2RlR2VuZXJhdG9yLCB3aGlj
aCB3YXMgY29tcGxldGVseSBicm9rZW4gYWZ0ZXIgcjM3ODIxLgorCisgICAgICAgICogYnl0ZWNv
bXBpbGVyL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpDb2RlR2VuZXJhdG9yOjpl
bWl0RXF1YWxpdHlPcCk6CisKIDIwMDgtMTEtMDcgIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpJbmRleDogSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0NvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Db2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24g
MzgyMjgpCisrKyBKYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQ29kZUdlbmVyYXRvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc4Myw5ICs3ODMsOSBAQCBSZWdpc3RlcklEKiBDb2RlR2VuZXJh
dG9yOjplbWl0RXF1YWxpdHlPCiAKICAgICAgICAgaWYgKHNyYzEtPmluZGV4KCkgPT0gZHN0SW5k
ZXgKICAgICAgICAgICAgICYmIHNyYzEtPmlzVGVtcG9yYXJ5KCkKLSAgICAgICAgICAgICYmIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihzcmMyLT5pbmRleCgpKSA8IG1fY29kZUJsb2NrLT5jb25zdGFu
dFJlZ2lzdGVycy5zaXplKCkKLSAgICAgICAgICAgICYmIG1fY29kZUJsb2NrLT5jb25zdGFudFJl
Z2lzdGVyc1tzcmMyLT5pbmRleCgpXS5qc1ZhbHVlKG1fc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0
KCktPmdsb2JhbEV4ZWMoKSktPmlzU3RyaW5nKCkpIHsKLSAgICAgICAgICAgIGNvbnN0IFVTdHJp
bmcmIHZhbHVlID0gYXNTdHJpbmcobV9jb2RlQmxvY2stPmNvbnN0YW50UmVnaXN0ZXJzW3NyYzIt
PmluZGV4KCldLmpzVmFsdWUobV9zY29wZUNoYWluLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhl
YygpKSktPnZhbHVlKCk7CisgICAgICAgICAgICAmJiBtX2NvZGVCbG9jay0+aXNDb25zdGFudChz
cmMyLT5pbmRleCgpKQorICAgICAgICAgICAgJiYgbV9jb2RlQmxvY2stPmNvbnN0YW50UmVnaXN0
ZXJzW3NyYzItPmluZGV4KCkgLSBtX2NvZGVCbG9jay0+bnVtVmFyc10uanNWYWx1ZShtX3Njb3Bl
Q2hhaW4tPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkpLT5pc1N0cmluZygpKSB7CisgICAg
ICAgICAgICBjb25zdCBVU3RyaW5nJiB2YWx1ZSA9IGFzU3RyaW5nKG1fY29kZUJsb2NrLT5jb25z
dGFudFJlZ2lzdGVyc1tzcmMyLT5pbmRleCgpIC0gbV9jb2RlQmxvY2stPm51bVZhcnNdLmpzVmFs
dWUobV9zY29wZUNoYWluLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpKSktPnZhbHVlKCk7
CiAgICAgICAgICAgICBpZiAodmFsdWUgPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAg
ICByZXdpbmRVbmFyeU9wKCk7CiAgICAgICAgICAgICAgICAgZW1pdE9wY29kZShvcF9pc191bmRl
ZmluZWQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzgyMjkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMSBAQAorMjAwOC0xMS0wNyAgQ2FtZXJvbiBa
d2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy90eXBlb2YtY29uc3RhbnQt
c3RyaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3R5cGVvZi1jb25zdGFudC1zdHJp
bmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3R5cGVvZi1jb25zdGFu
dC1zdHJpbmcuaHRtbDogQWRkZWQuCisKIDIwMDgtMTEtMDcgIEhvbGdlciBIYW5zIFBldGVyIEZy
ZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3R5cGVvZi1jb25zdGFudC1zdHJpbmct
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvdHlwZW9mLWNv
bnN0YW50LXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2pzL3R5cGVvZi1jb25zdGFudC1zdHJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDQ3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdXNpbmcgdGhlIHR5cGVvZiBv
cGVyYXRvciBvbiBhIEphdmFTY3JpcHQgdmFsdWUgYW5kIGNvbXBhcmluZyBpdCB0byBhIGNvbnN0
YW50IHN0cmluZyB3b3JrcyBhcyBleHBlY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgaXNVbmRlZmluZWQodW5kZWZpbmVkKSBpcyB0cnVlCitQQVNTIGlzVW5kZWZp
bmVkKDEpIGlzIGZhbHNlCitQQVNTIGlzVW5kZWZpbmVkU3RyaWN0KHVuZGVmaW5lZCkgaXMgdHJ1
ZQorUEFTUyBpc1VuZGVmaW5lZFN0cmljdCgxKSBpcyBmYWxzZQorUEFTUyBpc0Jvb2xlYW4odHJ1
ZSkgaXMgdHJ1ZQorUEFTUyBpc0Jvb2xlYW4oZmFsc2UpIGlzIHRydWUKK1BBU1MgaXNCb29sZWFu
KDEpIGlzIGZhbHNlCitQQVNTIGlzQm9vbGVhblN0cmljdCh0cnVlKSBpcyB0cnVlCitQQVNTIGlz
Qm9vbGVhblN0cmljdChmYWxzZSkgaXMgdHJ1ZQorUEFTUyBpc0Jvb2xlYW5TdHJpY3QoMSkgaXMg
ZmFsc2UKK1BBU1MgaXNOdW1iZXIoMSkgaXMgdHJ1ZQorUEFTUyBpc051bWJlcih1bmRlZmluZWQp
IGlzIGZhbHNlCitQQVNTIGlzTnVtYmVyU3RyaWN0KDEpIGlzIHRydWUKK1BBU1MgaXNOdW1iZXJT
dHJpY3QodW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBpc1N0cmluZygnc3RyaW5nJykgaXMgdHJ1
ZQorUEFTUyBpc1N0cmluZygxKSBpcyBmYWxzZQorUEFTUyBpc1N0cmluZ1N0cmljdCgnc3RyaW5n
JykgaXMgdHJ1ZQorUEFTUyBpc1N0cmluZ1N0cmljdCgxKSBpcyBmYWxzZQorUEFTUyBpc09iamVj
dCh7IH0pIGlzIHRydWUKK1BBU1MgaXNPYmplY3QoMSkgaXMgZmFsc2UKK1BBU1MgaXNPYmplY3RT
dHJpY3QoeyB9KSBpcyB0cnVlCitQQVNTIGlzT2JqZWN0U3RyaWN0KDEpIGlzIGZhbHNlCitQQVNT
IGlzRnVuY3Rpb24oZnVuY3Rpb24gKCkgeyB9KSBpcyB0cnVlCitQQVNTIGlzRnVuY3Rpb24oMSkg
aXMgZmFsc2UKK1BBU1MgaXNGdW5jdGlvblN0cmljdChmdW5jdGlvbiAoKSB7IH0pIGlzIHRydWUK
K1BBU1MgaXNGdW5jdGlvblN0cmljdCgxKSBpcyBmYWxzZQorUEFTUyBjb21wbGV4SXNVbmRlZmlu
ZWRUZXN0KCkgaXMgJ1BBU1MnCitQQVNTIGNvbXBsZXhJc0Jvb2xlYW5UZXN0KCkgaXMgJ1BBU1Mn
CitQQVNTIGNvbXBsZXhJc051bWJlclRlc3QoKSBpcyAnUEFTUycKK1BBU1MgY29tcGxleElzU3Ry
aW5nVGVzdCgpIGlzICdQQVNTJworUEFTUyBjb21wbGV4SXNPYmplY3RUZXN0KCkgaXMgJ1BBU1Mn
CitQQVNTIGNvbXBsZXhJc0Z1bmN0aW9uVGVzdCgpIGlzICdQQVNTJworUEFTUyBjb21wbGV4SXNV
bmRlZmluZWRTdHJpY3RUZXN0KCkgaXMgJ1BBU1MnCitQQVNTIGNvbXBsZXhJc0Jvb2xlYW5TdHJp
Y3RUZXN0KCkgaXMgJ1BBU1MnCitQQVNTIGNvbXBsZXhJc051bWJlclN0cmljdFRlc3QoKSBpcyAn
UEFTUycKK1BBU1MgY29tcGxleElzU3RyaW5nU3RyaWN0VGVzdCgpIGlzICdQQVNTJworUEFTUyBj
b21wbGV4SXNPYmplY3RTdHJpY3RUZXN0KCkgaXMgJ1BBU1MnCitQQVNTIGNvbXBsZXhJc0Z1bmN0
aW9uU3RyaWN0VGVzdCgpIGlzICdQQVNTJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvdHlwZW9mLWNv
bnN0YW50LXN0cmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvdHlw
ZW9mLWNvbnN0YW50LXN0cmluZy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9qcy90eXBlb2YtY29uc3RhbnQtc3RyaW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdHlwZW9mLWNvbnN0
YW50LXN0cmluZy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy90eXBlb2YtY29uc3RhbnQtc3RyaW5nLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3R5cGVvZi1jb25zdGFudC1zdHJpbmcuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy90eXBlb2YtY29u
c3RhbnQtc3RyaW5nLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI5NyBAQAorZGVzY3JpcHRp
b24oCisiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHVzaW5nIHRoZSB0eXBlb2Ygb3BlcmF0b3Igb24g
YSBKYXZhU2NyaXB0IHZhbHVlIGFuZCBjb21wYXJpbmcgaXQgdG8gYSBjb25zdGFudCBzdHJpbmcg
d29ya3MgYXMgZXhwZWN0ZWQuIgorKTsKKworZnVuY3Rpb24gaXNVbmRlZmluZWQoYSkKK3sKKyAg
ICByZXR1cm4gdHlwZW9mIGEgPT0gInVuZGVmaW5lZCI7Cit9CisKK3Nob3VsZEJlVHJ1ZSgiaXNV
bmRlZmluZWQodW5kZWZpbmVkKSIpOworc2hvdWxkQmVGYWxzZSgiaXNVbmRlZmluZWQoMSkiKTsK
KworZnVuY3Rpb24gaXNVbmRlZmluZWRTdHJpY3QoYSkKK3sKKyAgICByZXR1cm4gdHlwZW9mIGEg
PT09ICJ1bmRlZmluZWQiOworfQorCitzaG91bGRCZVRydWUoImlzVW5kZWZpbmVkU3RyaWN0KHVu
ZGVmaW5lZCkiKTsKK3Nob3VsZEJlRmFsc2UoImlzVW5kZWZpbmVkU3RyaWN0KDEpIik7CisKK2Z1
bmN0aW9uIGlzQm9vbGVhbihhKQoreworICAgIHJldHVybiB0eXBlb2YgYSA9PSAiYm9vbGVhbiI7
Cit9CisKK3Nob3VsZEJlVHJ1ZSgiaXNCb29sZWFuKHRydWUpIik7CitzaG91bGRCZVRydWUoImlz
Qm9vbGVhbihmYWxzZSkiKTsKK3Nob3VsZEJlRmFsc2UoImlzQm9vbGVhbigxKSIpOworCitmdW5j
dGlvbiBpc0Jvb2xlYW5TdHJpY3QoYSkKK3sKKyAgICByZXR1cm4gdHlwZW9mIGEgPT09ICJib29s
ZWFuIjsKK30KKworc2hvdWxkQmVUcnVlKCJpc0Jvb2xlYW5TdHJpY3QodHJ1ZSkiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiaXNCb29sZWFuU3RyaWN0KGZhbHNlKSIpOworc2hvdWxkQmVGYWxzZSgiaXNCb29s
ZWFuU3RyaWN0KDEpIik7CisKK2Z1bmN0aW9uIGlzTnVtYmVyKGEpCit7CisgICAgcmV0dXJuIHR5
cGVvZiBhID09ICJudW1iZXIiOworfQorCitzaG91bGRCZVRydWUoImlzTnVtYmVyKDEpIik7Citz
aG91bGRCZUZhbHNlKCJpc051bWJlcih1bmRlZmluZWQpIik7CisKK2Z1bmN0aW9uIGlzTnVtYmVy
U3RyaWN0KGEpCit7CisgICAgcmV0dXJuIHR5cGVvZiBhID09PSAibnVtYmVyIjsKK30KKworc2hv
dWxkQmVUcnVlKCJpc051bWJlclN0cmljdCgxKSIpOworc2hvdWxkQmVGYWxzZSgiaXNOdW1iZXJT
dHJpY3QodW5kZWZpbmVkKSIpOworCitmdW5jdGlvbiBpc1N0cmluZyhhKQoreworICAgIHJldHVy
biB0eXBlb2YgYSA9PSAic3RyaW5nIjsKK30KKworc2hvdWxkQmVUcnVlKCJpc1N0cmluZygnc3Ry
aW5nJykiKTsKK3Nob3VsZEJlRmFsc2UoImlzU3RyaW5nKDEpIik7CisKK2Z1bmN0aW9uIGlzU3Ry
aW5nU3RyaWN0KGEpCit7CisgICAgcmV0dXJuIHR5cGVvZiBhID09PSAic3RyaW5nIjsKK30KKwor
c2hvdWxkQmVUcnVlKCJpc1N0cmluZ1N0cmljdCgnc3RyaW5nJykiKTsKK3Nob3VsZEJlRmFsc2Uo
ImlzU3RyaW5nU3RyaWN0KDEpIik7CisKK2Z1bmN0aW9uIGlzT2JqZWN0KGEpCit7CisgICAgcmV0
dXJuIHR5cGVvZiBhID09ICJvYmplY3QiOworfQorCitzaG91bGRCZVRydWUoImlzT2JqZWN0KHsg
fSkiKTsKK3Nob3VsZEJlRmFsc2UoImlzT2JqZWN0KDEpIik7CisKK2Z1bmN0aW9uIGlzT2JqZWN0
U3RyaWN0KGEpCit7CisgICAgcmV0dXJuIHR5cGVvZiBhID09PSAib2JqZWN0IjsKK30KKworc2hv
dWxkQmVUcnVlKCJpc09iamVjdFN0cmljdCh7IH0pIik7CitzaG91bGRCZUZhbHNlKCJpc09iamVj
dFN0cmljdCgxKSIpOworCitmdW5jdGlvbiBpc0Z1bmN0aW9uKGEpCit7CisgICAgcmV0dXJuIHR5
cGVvZiBhID09ICJmdW5jdGlvbiI7Cit9CisKK3Nob3VsZEJlVHJ1ZSgiaXNGdW5jdGlvbihmdW5j
dGlvbiAoKSB7IH0pIik7CitzaG91bGRCZUZhbHNlKCJpc0Z1bmN0aW9uKDEpIik7CisKK2Z1bmN0
aW9uIGlzRnVuY3Rpb25TdHJpY3QoYSkKK3sKKyAgICByZXR1cm4gdHlwZW9mIGEgPT09ICJmdW5j
dGlvbiI7Cit9CisKK3Nob3VsZEJlVHJ1ZSgiaXNGdW5jdGlvblN0cmljdChmdW5jdGlvbiAoKSB7
IH0pIik7CitzaG91bGRCZUZhbHNlKCJpc0Z1bmN0aW9uU3RyaWN0KDEpIik7CisKK2Z1bmN0aW9u
IGNvbXBsZXhJc1VuZGVmaW5lZFRlc3QoKQoreworICAgIGZ1bmN0aW9uIHJlcGxhY2VfZm9ybWF0
cygpIHsKKyAgICAgICAgdmFyIG8gPSBbInRleHQiLCAwXTsKKyAgICAgICAgaWYgKHR5cGVvZiBv
ID09ICJzdHJpbmciKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8gPT0gInVuZGVmaW5l
ZCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbyA9PSAib2JqZWN0IiAmJiB0eXBlb2Yg
b1swXSA9PSAic3RyaW5nIikgeworICAgICAgICAgICAgcmV0dXJuICJQQVNTIjsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gIkZBSUwiOworICAgIH07CisKKyAgICByZXR1cm4gIiVkIi5yZXBs
YWNlKC8lZC8sIHJlcGxhY2VfZm9ybWF0cyk7Cit9CitzaG91bGRCZSgiY29tcGxleElzVW5kZWZp
bmVkVGVzdCgpIiwgIidQQVNTJyIpOworCitmdW5jdGlvbiBjb21wbGV4SXNCb29sZWFuVGVzdCgp
Cit7CisgICAgZnVuY3Rpb24gcmVwbGFjZV9mb3JtYXRzKCkgeworICAgICAgICB2YXIgbyA9IFsi
dGV4dCIsIDBdOworICAgICAgICBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIpIHsKKyAgICAgICAg
fSBlbHNlIGlmICh0eXBlb2YgbyA9PSAiYm9vbGVhbiIpIHsKKyAgICAgICAgfSBlbHNlIGlmICh0
eXBlb2YgbyA9PSAib2JqZWN0IiAmJiB0eXBlb2Ygb1swXSA9PSAic3RyaW5nIikgeworICAgICAg
ICAgICAgcmV0dXJuICJQQVNTIjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gIkZBSUwiOwor
ICAgIH07CisKKyAgICByZXR1cm4gIiVkIi5yZXBsYWNlKC8lZC8sIHJlcGxhY2VfZm9ybWF0cyk7
Cit9CitzaG91bGRCZSgiY29tcGxleElzQm9vbGVhblRlc3QoKSIsICInUEFTUyciKTsKKworZnVu
Y3Rpb24gY29tcGxleElzTnVtYmVyVGVzdCgpCit7CisgICAgZnVuY3Rpb24gcmVwbGFjZV9mb3Jt
YXRzKCkgeworICAgICAgICB2YXIgbyA9IFsidGV4dCIsIDBdOworICAgICAgICBpZiAodHlwZW9m
IG8gPT0gInN0cmluZyIpIHsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbyA9PSAibnVtYmVy
IikgeworICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvID09ICJvYmplY3QiICYmIHR5cGVvZiBv
WzBdID09ICJzdHJpbmciKSB7CisgICAgICAgICAgICByZXR1cm4gIlBBU1MiOworICAgICAgICB9
CisgICAgICAgIHJldHVybiAiRkFJTCI7CisgICAgfTsKKworICAgIHJldHVybiAiJWQiLnJlcGxh
Y2UoLyVkLywgcmVwbGFjZV9mb3JtYXRzKTsKK30KK3Nob3VsZEJlKCJjb21wbGV4SXNOdW1iZXJU
ZXN0KCkiLCAiJ1BBU1MnIik7CisKK2Z1bmN0aW9uIGNvbXBsZXhJc1N0cmluZ1Rlc3QoKQorewor
ICAgIGZ1bmN0aW9uIHJlcGxhY2VfZm9ybWF0cygpIHsKKyAgICAgICAgdmFyIG8gPSBbInRleHQi
LCAwXTsKKyAgICAgICAgaWYgKHR5cGVvZiBvID09ICJzdHJpbmciKSB7CisgICAgICAgIH0gZWxz
ZSBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIpIHsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Yg
byA9PSAib2JqZWN0IiAmJiB0eXBlb2Ygb1swXSA9PSAic3RyaW5nIikgeworICAgICAgICAgICAg
cmV0dXJuICJQQVNTIjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gIkZBSUwiOworICAgIH07
CisKKyAgICByZXR1cm4gIiVkIi5yZXBsYWNlKC8lZC8sIHJlcGxhY2VfZm9ybWF0cyk7Cit9Citz
aG91bGRCZSgiY29tcGxleElzU3RyaW5nVGVzdCgpIiwgIidQQVNTJyIpOworCitmdW5jdGlvbiBj
b21wbGV4SXNPYmplY3RUZXN0KCkKK3sKKyAgICB2YXIgYSA9IFsidGV4dCIsIDBdOworICAgIGZ1
bmN0aW9uIHJlcGxhY2VfZm9ybWF0cygpIHsKKyAgICAgICAgdmFyIG8gPSBmdW5jdGlvbiAoKSB7
IH07CisgICAgICAgIGlmICh0eXBlb2YgbyA9PSAic3RyaW5nIikgeworICAgICAgICB9IGVsc2Ug
aWYgKHR5cGVvZiBvID09ICJvYmplY3QiKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8g
PT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgYVswXSA9PSAic3RyaW5nIikgeworICAgICAgICAgICAg
cmV0dXJuICJQQVNTIjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gIkZBSUwiOworICAgIH07
CisKKyAgICByZXR1cm4gIiVkIi5yZXBsYWNlKC8lZC8sIHJlcGxhY2VfZm9ybWF0cyk7Cit9Citz
aG91bGRCZSgiY29tcGxleElzT2JqZWN0VGVzdCgpIiwgIidQQVNTJyIpOworCitmdW5jdGlvbiBj
b21wbGV4SXNGdW5jdGlvblRlc3QoKQoreworICAgIGZ1bmN0aW9uIHJlcGxhY2VfZm9ybWF0cygp
IHsKKyAgICAgICAgdmFyIG8gPSBbInRleHQiLCAwXTsKKyAgICAgICAgaWYgKHR5cGVvZiBvID09
ICJzdHJpbmciKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8gPT0gImZ1bmN0aW9uIikg
eworICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvID09ICJvYmplY3QiICYmIHR5cGVvZiBvWzBd
ID09ICJzdHJpbmciKSB7CisgICAgICAgICAgICByZXR1cm4gIlBBU1MiOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiAiRkFJTCI7CisgICAgfTsKKworICAgIHJldHVybiAiJWQiLnJlcGxhY2Uo
LyVkLywgcmVwbGFjZV9mb3JtYXRzKTsKK30KK3Nob3VsZEJlKCJjb21wbGV4SXNGdW5jdGlvblRl
c3QoKSIsICInUEFTUyciKTsKKworZnVuY3Rpb24gY29tcGxleElzVW5kZWZpbmVkU3RyaWN0VGVz
dCgpCit7CisgICAgZnVuY3Rpb24gcmVwbGFjZV9mb3JtYXRzKCkgeworICAgICAgICB2YXIgbyA9
IFsidGV4dCIsIDBdOworICAgICAgICBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIpIHsKKyAgICAg
ICAgfSBlbHNlIGlmICh0eXBlb2YgbyA9PT0gInVuZGVmaW5lZCIpIHsKKyAgICAgICAgfSBlbHNl
IGlmICh0eXBlb2YgbyA9PSAib2JqZWN0IiAmJiB0eXBlb2Ygb1swXSA9PSAic3RyaW5nIikgewor
ICAgICAgICAgICAgcmV0dXJuICJQQVNTIjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gIkZB
SUwiOworICAgIH07CisKKyAgICByZXR1cm4gIiVkIi5yZXBsYWNlKC8lZC8sIHJlcGxhY2VfZm9y
bWF0cyk7Cit9CitzaG91bGRCZSgiY29tcGxleElzVW5kZWZpbmVkU3RyaWN0VGVzdCgpIiwgIidQ
QVNTJyIpOworCitmdW5jdGlvbiBjb21wbGV4SXNCb29sZWFuU3RyaWN0VGVzdCgpCit7CisgICAg
ZnVuY3Rpb24gcmVwbGFjZV9mb3JtYXRzKCkgeworICAgICAgICB2YXIgbyA9IFsidGV4dCIsIDBd
OworICAgICAgICBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIpIHsKKyAgICAgICAgfSBlbHNlIGlm
ICh0eXBlb2YgbyA9PT0gImJvb2xlYW4iKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8g
PT0gIm9iamVjdCIgJiYgdHlwZW9mIG9bMF0gPT0gInN0cmluZyIpIHsKKyAgICAgICAgICAgIHJl
dHVybiAiUEFTUyI7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICJGQUlMIjsKKyAgICB9Owor
CisgICAgcmV0dXJuICIlZCIucmVwbGFjZSgvJWQvLCByZXBsYWNlX2Zvcm1hdHMpOworfQorc2hv
dWxkQmUoImNvbXBsZXhJc0Jvb2xlYW5TdHJpY3RUZXN0KCkiLCAiJ1BBU1MnIik7CisKK2Z1bmN0
aW9uIGNvbXBsZXhJc051bWJlclN0cmljdFRlc3QoKQoreworICAgIGZ1bmN0aW9uIHJlcGxhY2Vf
Zm9ybWF0cygpIHsKKyAgICAgICAgdmFyIG8gPSBbInRleHQiLCAwXTsKKyAgICAgICAgaWYgKHR5
cGVvZiBvID09ICJzdHJpbmciKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8gPT09ICJu
dW1iZXIiKSB7CisgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG8gPT0gIm9iamVjdCIgJiYgdHlw
ZW9mIG9bMF0gPT0gInN0cmluZyIpIHsKKyAgICAgICAgICAgIHJldHVybiAiUEFTUyI7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuICJGQUlMIjsKKyAgICB9OworCisgICAgcmV0dXJuICIlZCIu
cmVwbGFjZSgvJWQvLCByZXBsYWNlX2Zvcm1hdHMpOworfQorc2hvdWxkQmUoImNvbXBsZXhJc051
bWJlclN0cmljdFRlc3QoKSIsICInUEFTUyciKTsKKworZnVuY3Rpb24gY29tcGxleElzU3RyaW5n
U3RyaWN0VGVzdCgpCit7CisgICAgZnVuY3Rpb24gcmVwbGFjZV9mb3JtYXRzKCkgeworICAgICAg
ICB2YXIgbyA9IFsidGV4dCIsIDBdOworICAgICAgICBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIp
IHsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbyA9PT0gInN0cmluZyIpIHsKKyAgICAgICAg
fSBlbHNlIGlmICh0eXBlb2YgbyA9PSAib2JqZWN0IiAmJiB0eXBlb2Ygb1swXSA9PSAic3RyaW5n
IikgeworICAgICAgICAgICAgcmV0dXJuICJQQVNTIjsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gIkZBSUwiOworICAgIH07CisKKyAgICByZXR1cm4gIiVkIi5yZXBsYWNlKC8lZC8sIHJlcGxh
Y2VfZm9ybWF0cyk7Cit9CitzaG91bGRCZSgiY29tcGxleElzU3RyaW5nU3RyaWN0VGVzdCgpIiwg
IidQQVNTJyIpOworCitmdW5jdGlvbiBjb21wbGV4SXNPYmplY3RTdHJpY3RUZXN0KCkKK3sKKyAg
ICB2YXIgYSA9IFsidGV4dCIsIDBdOworICAgIGZ1bmN0aW9uIHJlcGxhY2VfZm9ybWF0cygpIHsK
KyAgICAgICAgdmFyIG8gPSBmdW5jdGlvbiAoKSB7IH07CisgICAgICAgIGlmICh0eXBlb2YgbyA9
PSAic3RyaW5nIikgeworICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvID09PSAib2JqZWN0Iikg
eworICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIGFb
MF0gPT0gInN0cmluZyIpIHsKKyAgICAgICAgICAgIHJldHVybiAiUEFTUyI7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuICJGQUlMIjsKKyAgICB9OworCisgICAgcmV0dXJuICIlZCIucmVwbGFj
ZSgvJWQvLCByZXBsYWNlX2Zvcm1hdHMpOworfQorc2hvdWxkQmUoImNvbXBsZXhJc09iamVjdFN0
cmljdFRlc3QoKSIsICInUEFTUyciKTsKKworZnVuY3Rpb24gY29tcGxleElzRnVuY3Rpb25TdHJp
Y3RUZXN0KCkKK3sKKyAgICBmdW5jdGlvbiByZXBsYWNlX2Zvcm1hdHMoKSB7CisgICAgICAgIHZh
ciBvID0gWyJ0ZXh0IiwgMF07CisgICAgICAgIGlmICh0eXBlb2YgbyA9PSAic3RyaW5nIikgewor
ICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvID09PSAiZnVuY3Rpb24iKSB7CisgICAgICAgIH0g
ZWxzZSBpZiAodHlwZW9mIG8gPT0gIm9iamVjdCIgJiYgdHlwZW9mIG9bMF0gPT0gInN0cmluZyIp
IHsKKyAgICAgICAgICAgIHJldHVybiAiUEFTUyI7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
ICJGQUlMIjsKKyAgICB9OworCisgICAgcmV0dXJuICIlZCIucmVwbGFjZSgvJWQvLCByZXBsYWNl
X2Zvcm1hdHMpOworfQorc2hvdWxkQmUoImNvbXBsZXhJc0Z1bmN0aW9uU3RyaWN0VGVzdCgpIiwg
IidQQVNTJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="11462"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>