<?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>155180</bug_id>
          
          <creation_ts>2016-03-08 11:43:26 -0800</creation_ts>
          <short_desc>Add proper JSON.stringify support for Proxy when the target is an array</short_desc>
          <delta_ts>2016-03-09 23:57:46 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1172118</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-08 11:43:26 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172915</commentid>
    <comment_count>1</comment_count>
      <attachid>273519</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-09 17:35:35 -0800</bug_when>
    <thetext>Created attachment 273519
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172940</commentid>
    <comment_count>2</comment_count>
      <attachid>273519</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 18:41:22 -0800</bug_when>
    <thetext>Comment on attachment 273519
patch

Clearing flags on attachment: 273519

Committed r197918: &lt;http://trac.webkit.org/changeset/197918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172941</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 18:41:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173013</commentid>
    <comment_count>4</comment_count>
      <attachid>273519</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-09 23:28:50 -0800</bug_when>
    <thetext>Comment on attachment 273519
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=273519&amp;action=review

&gt; Source/JavaScriptCore/runtime/ArrayConstructor.h:91
&gt; +    ASSERT_NOT_REACHED();

I didn&apos;t catch this before, but you should probably make this a RELEASE_ASSERT_NOT_REACHED().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173019</commentid>
    <comment_count>5</comment_count>
      <attachid>273519</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-09 23:57:46 -0800</bug_when>
    <thetext>Comment on attachment 273519
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=273519&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/ArrayConstructor.h:91
&gt;&gt; +    ASSERT_NOT_REACHED();
&gt; 
&gt; I didn&apos;t catch this before, but you should probably make this a RELEASE_ASSERT_NOT_REACHED().

Nevermind.  Saam reminded me (offline) that this comes after an infinite loop.  Short of a compiler error, there&apos;s really no way to reach this point.  The debug assert is good enough if only for documentation (in case someone re-writes the loop in the future to not be an infinite loop).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273519</attachid>
            <date>2016-03-09 17:35:35 -0800</date>
            <delta_ts>2016-03-09 18:41:22 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>10729</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3OTA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE2LTAzLTA5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBwcm9wZXIgSlNPTi5zdHJpbmdpZnkgc3VwcG9ydCBmb3IgUHJveHkgd2hlbiB0aGUgdGFy
Z2V0IGlzIGFuIGFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBmb2xsb3dpbmcgdHlwZSBvZiBwcm9ncmFtIHRy
dWU6CisgICAgICAgIGBKU09OLnN0cmluZ2lmeShuZXcgUHJveHkoWzI1XSwge30pKSA9PT0gIlsy
NV0iYAorCisgICAgICAgIFdlIG5lZWQgdG8gY2hhbmdlIHRoZSBKU09OIHN0cmluZ2lmaWVyIHRv
IHVzZSB0aGUgSXNBcnJheSB0ZXN0CisgICAgICAgIGluIHNlY3Rpb24gNy4yLjIgb2YgRVM2IHNw
ZWMgaW5zdGVhZCBvZiB0aGUgSlNDIGluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkKKyAgICAgICAg
dGVzdC4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gYWRkcyB0ZXN0cyBmb3IgZ2VuZXJhbCBK
U09OLnN0cmluZ2lmeSBzdXBwb3J0CisgICAgICAgIG9mIFByb3h5LgorCisgICAgICAgICogcnVu
dGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlDb25zdHJ1Y3Rv
cklzQXJyYXkpOgorICAgICAgICAoSlNDOjphcnJheUNvbnN0cnVjdG9yUHJpdmF0ZUZ1bmNJc0Fy
cmF5Q29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAoSlNDOjppc0FycmF5KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpTdHJpbmdpZmllcjo6SG9sZGVyOjpvYmplY3QpOgorICAgICAgICAo
SlNDOjpTdHJpbmdpZmllcjo6YXBwZW5kU3RyaW5naWZpZWRWYWx1ZSk6CisgICAgICAgIChKU0M6
OlN0cmluZ2lmaWVyOjpzdGFydE5ld0xpbmUpOgorICAgICAgICAoSlNDOjpTdHJpbmdpZmllcjo6
SG9sZGVyOjpIb2xkZXIpOgorICAgICAgICAqIHRlc3RzL2VzNi55YW1sOgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9wcm94eS1qc29uLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAg
ICAgICh0ZXN0KToKKwogMjAxNi0wMy0wOSAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBBcnJheS5pc0FycmF5IHN1cHBvcnQgZm9yIFByb3h5CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAko
cmV2aXNpb24gMTk3OTA2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyNiArMTMwLDcgQEAgQ2FsbFR5
cGUgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0Q2FsbERhdGEoSgogLy8gaHR0cHM6Ly90YzM5LmdpdGh1
Yi5pby9lY21hMjYyLyNzZWMtaXNhcnJheQogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheUNvbnN0cnVjdG9ySXNBcnJheShFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSlNWYWx1ZSBh
cmd1bWVudFZhbHVlID0gZXhlYy0+YXJndW1lbnQoMCk7Ci0KLSAgICBpZiAoIWFyZ3VtZW50VmFs
dWUuaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4o
ZmFsc2UpKTsKLQotICAgIEpTT2JqZWN0KiBhcmd1bWVudCA9IGpzQ2FzdDxKU09iamVjdCo+KGFy
Z3VtZW50VmFsdWUpOwotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIGlmIChhcmd1bWVudC0+
aW5oZXJpdHMoSlNBcnJheTo6aW5mbygpKSkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNCb29sZWFuKHRydWUpKTsKLQotICAgICAgICBpZiAoYXJndW1lbnQtPnR5cGUoKSAh
PSBQcm94eU9iamVjdFR5cGUpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
Qm9vbGVhbihmYWxzZSkpOwotCi0gICAgICAgIFByb3h5T2JqZWN0KiBwcm94eSA9IGpzQ2FzdDxQ
cm94eU9iamVjdCo+KGFyZ3VtZW50KTsKLSAgICAgICAgaWYgKHByb3h5LT5pc1Jldm9rZWQoKSkK
LSAgICAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgi
QXJyYXkuaXNBcnJheSBjYW4gbm90IGJlIGNhbGxlZCBvbiBhIFByb3h5IHRoYXQgaGFzIGJlZW4g
cmV2b2tlZC4iKSk7Ci0gICAgICAgIGFyZ3VtZW50ID0gcHJveHktPnRhcmdldCgpOwotICAgIH0K
LQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNCb29sZWFuKGlzQXJyYXkoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpKSk7CiB9CiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvclByaXZhdGVGdW5jSXNBcnJh
eUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgJKHJldmlzaW9uIDE5NzkwNikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBBcnJheUNvbnN0cnVjdG9yX2gKIAog
I2luY2x1ZGUgIkludGVybmFsRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJQcm94eU9iamVjdC5oIgog
CiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNjQsNiArNjUsMzIgQEAgSlNPYmplY3QqIGNvbnN0cnVj
dEFycmF5V2l0aFNpemVRdWlyayhFeAogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5Q29uc3RydWN0b3JQcml2YXRlRnVuY0lzQXJyYXlDb25zdHJ1Y3RvcihFeGVjU3RhdGUqKTsK
IAorLy8gRVM2IDcuMi4yCisvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1p
c2FycmF5CitpbmxpbmUgYm9vbCBpc0FycmF5KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBhcmd1
bWVudFZhbHVlKQoreworICAgIGlmICghYXJndW1lbnRWYWx1ZS5pc09iamVjdCgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBKU09iamVjdCogYXJndW1lbnQgPSBqc0Nhc3Q8SlNPYmpl
Y3QqPihhcmd1bWVudFZhbHVlKTsKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBpZiAoYXJn
dW1lbnQtPmluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgICAgICBpZiAoYXJndW1lbnQtPnR5cGUoKSAhPSBQcm94eU9iamVjdFR5cGUpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUHJveHlPYmplY3QqIHByb3h5ID0g
anNDYXN0PFByb3h5T2JqZWN0Kj4oYXJndW1lbnQpOworICAgICAgICBpZiAocHJveHktPmlzUmV2
b2tlZCgpKSB7CisgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwo
IkFycmF5LmlzQXJyYXkgY2FuIG5vdCBiZSBjYWxsZWQgb24gYSBQcm94eSB0aGF0IGhhcyBiZWVu
IHJldm9rZWQuIikpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAg
ICAgIGFyZ3VtZW50ID0gcHJveHktPnRhcmdldCgpOworICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEFycmF5Q29u
c3RydWN0b3JfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9i
amVjdC5jcHAJKHJldmlzaW9uIDE5NzkwNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNPTk9iamVjdC5oIgogCisjaW5jbHVkZSAiQXJy
YXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkJvb2xlYW5PYmplY3QuaCIKICNpbmNsdWRlICJF
cnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKQEAgLTkyLDcgKzkzLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBjbGFzcyBIb2xkZXIgewogICAgIHB1YmxpYzoKLSAgICAg
ICAgSG9sZGVyKFZNJiwgSlNPYmplY3QqKTsKKyAgICAgICAgSG9sZGVyKFZNJiwgRXhlY1N0YXRl
KiwgSlNPYmplY3QqKTsKIAogICAgICAgICBKU09iamVjdCogb2JqZWN0KCkgY29uc3QgeyByZXR1
cm4gbV9vYmplY3QuZ2V0KCk7IH0KIApAQCAtMjg5LDkgKzI5MCwxMCBAQCBKU1ZhbHVlIFN0cmlu
Z2lmaWVyOjp0b0pTT05JbXBsKEpTVmFsdWUgCiAKIFN0cmluZ2lmaWVyOjpTdHJpbmdpZnlSZXN1
bHQgU3RyaW5naWZpZXI6OmFwcGVuZFN0cmluZ2lmaWVkVmFsdWUoU3RyaW5nQnVpbGRlciYgYnVp
bGRlciwgSlNWYWx1ZSB2YWx1ZSwgSlNPYmplY3QqIGhvbGRlciwgY29uc3QgUHJvcGVydHlOYW1l
Rm9yRnVuY3Rpb25DYWxsJiBwcm9wZXJ0eU5hbWUpCiB7CisgICAgVk0mIHZtID0gbV9leGVjLT52
bSgpOwogICAgIC8vIENhbGwgdGhlIHRvSlNPTiBmdW5jdGlvbi4KICAgICB2YWx1ZSA9IHRvSlNP
Tih2YWx1ZSwgcHJvcGVydHlOYW1lKTsKLSAgICBpZiAobV9leGVjLT5oYWRFeGNlcHRpb24oKSkK
KyAgICBpZiAodm0uZXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmdpZnlGYWlsZWQ7
CiAKICAgICAvLyBDYWxsIHRoZSByZXBsYWNlciBmdW5jdGlvbi4KQEAgLTMwMCw3ICszMDIsNyBA
QCBTdHJpbmdpZmllcjo6U3RyaW5naWZ5UmVzdWx0IFN0cmluZ2lmaWVyCiAgICAgICAgIGFyZ3Mu
YXBwZW5kKHByb3BlcnR5TmFtZS52YWx1ZShtX2V4ZWMpKTsKICAgICAgICAgYXJncy5hcHBlbmQo
dmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGNhbGwobV9leGVjLCBtX3JlcGxhY2VyLmdldCgpLCBt
X3JlcGxhY2VyQ2FsbFR5cGUsIG1fcmVwbGFjZXJDYWxsRGF0YSwgaG9sZGVyLCBhcmdzKTsKLSAg
ICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIGlmICh2bS5leGNlcHRp
b24oKSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmdpZnlGYWlsZWQ7CiAgICAgfQogCkBAIC0z
MTQsNyArMzE2LDcgQEAgU3RyaW5naWZpZXI6OlN0cmluZ2lmeVJlc3VsdCBTdHJpbmdpZmllcgog
CiAgICAgdmFsdWUgPSB1bndyYXBCb3hlZFByaW1pdGl2ZShtX2V4ZWMsIHZhbHVlKTsKIAotICAg
IGlmIChtX2V4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgIGlmICh2bS5leGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIFN0cmluZ2lmeUZhaWxlZDsKIAogICAgIGlmICh2YWx1ZS5pc0Jvb2xlYW4o
KSkgewpAQCAtMzY0LDE0ICszNjYsMTcgQEAgU3RyaW5naWZpZXI6OlN0cmluZ2lmeVJlc3VsdCBT
dHJpbmdpZmllcgogICAgICAgICAgICAgcmV0dXJuIFN0cmluZ2lmeUZhaWxlZDsKICAgICAgICAg
fQogICAgIH0KKwogICAgIGJvb2wgaG9sZGVyU3RhY2tXYXNFbXB0eSA9IG1faG9sZGVyU3RhY2su
aXNFbXB0eSgpOwotICAgIG1faG9sZGVyU3RhY2suYXBwZW5kKEhvbGRlcihtX2V4ZWMtPnZtKCks
IG9iamVjdCkpOworICAgIG1faG9sZGVyU3RhY2suYXBwZW5kKEhvbGRlcih2bSwgbV9leGVjLCBv
YmplY3QpKTsKKyAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1
cm4gU3RyaW5naWZ5RmFpbGVkOwogICAgIGlmICghaG9sZGVyU3RhY2tXYXNFbXB0eSkKICAgICAg
ICAgcmV0dXJuIFN0cmluZ2lmeVN1Y2NlZWRlZDsKIAogICAgIGRvIHsKICAgICAgICAgd2hpbGUg
KG1faG9sZGVyU3RhY2subGFzdCgpLmFwcGVuZE5leHRQcm9wZXJ0eSgqdGhpcywgYnVpbGRlcikp
IHsKLSAgICAgICAgICAgIGlmIChtX2V4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAg
aWYgKHZtLmV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmdpZnlGYWls
ZWQ7CiAgICAgICAgIH0KICAgICAgICAgbV9ob2xkZXJTdGFjay5yZW1vdmVMYXN0KCk7CkBAIC00
MDgsOSArNDEzLDkgQEAgaW5saW5lIHZvaWQgU3RyaW5naWZpZXI6OnN0YXJ0TmV3TGluZShTdAog
ICAgIGJ1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsKIH0KIAotaW5saW5lIFN0cmluZ2lmaWVyOjpI
b2xkZXI6OkhvbGRlcihWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCitpbmxpbmUgU3RyaW5naWZp
ZXI6OkhvbGRlcjo6SG9sZGVyKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb2Jq
ZWN0KQogICAgIDogbV9vYmplY3Qodm0sIG9iamVjdCkKLSAgICAsIG1faXNBcnJheShvYmplY3Qt
PmluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkpCisgICAgLCBtX2lzQXJyYXkoaXNBcnJheShleGVj
LCBvYmplY3QpKQogICAgICwgbV9pbmRleCgwKQogI2lmbmRlZiBOREVCVUcKICAgICAsIG1fc2l6
ZSgwKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAkocmV2aXNpb24gMTk3
OTA2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDU3LDcgKzEwNTcsNyBAQAogLSBwYXRoOiBlczYvUHJveHlfaXNFeHRlbnNpYmxl
X2hhbmRsZXIuanMKICAgY21kOiBydW5FUzYgOm5vcm1hbAogLSBwYXRoOiBlczYvUHJveHlfSlNP
Ti5zdHJpbmdpZnlfc3VwcG9ydC5qcwotICBjbWQ6IHJ1bkVTNiA6ZmFpbAorICBjbWQ6IHJ1bkVT
NiA6bm9ybWFsCiAtIHBhdGg6IGVzNi9Qcm94eV9vd25LZXlzX2hhbmRsZXIuanMKICAgY21kOiBy
dW5FUzYgOm5vcm1hbAogLSBwYXRoOiBlczYvUHJveHlfcHJldmVudEV4dGVuc2lvbnNfaGFuZGxl
ci5qcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9wcm94eS1qc29u
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcHJv
eHktanNvbi5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvcHJveHktanNvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExNCBAQAorZnVu
Y3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIGFzc2VydGlvbi4iKTsKK30KKworZnVuY3Rpb24gdGVzdChmKSB7CisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCA1MDA7IGkrKykKKyAgICAgICAgZigpOworfQorCit0ZXN0KGZ1bmN0aW9uKCkg
eworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eShbXSwge30pOworICAgIGFzc2VydChKU09OLnN0
cmluZ2lmeShwcm94eSkgPT09ICJbXSIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRhcmdldCA9IFsiZm9vIl07CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwg
e30pOworICAgIGFzc2VydChKU09OLnN0cmluZ2lmeShwcm94eSkgPT09IEpTT04uc3RyaW5naWZ5
KHRhcmdldCkpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRhcmdldCA9IHsK
KyAgICAgICAgZm9vOiAyNSwKKyAgICAgICAgYmFyOiBmYWxzZSwKKyAgICAgICAgMDogNDUKKyAg
ICB9OworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHt9KTsKKyAgICBhc3NlcnQo
SlNPTi5zdHJpbmdpZnkocHJveHkpID09PSBKU09OLnN0cmluZ2lmeSh0YXJnZXQpKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0YXJnZXQgPSB7CisgICAgICAgIGZvbzogWyJi
YXoiLCB7Zm9vOiA0NX1dLAorICAgICAgICBiYXI6IGZhbHNlLAorICAgICAgICAwOiA0NSwKKyAg
ICAgICAgYmF6OiAiaGVsbG8gd29ybGQiLAorICAgICAgICBqYXo6IDQ1NTMuNDM0CisgICAgfTsK
KyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSk7CisgICAgYXNzZXJ0KEpTT04u
c3RyaW5naWZ5KHByb3h5KSA9PT0gSlNPTi5zdHJpbmdpZnkodGFyZ2V0KSk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGFyZ2V0ID0geworICAgICAgICBmb286IFsiYmF6Iiwg
e2ZvbzogNDV9XSwKKyAgICAgICAgYmFyOiBmYWxzZSwKKyAgICAgICAgMDogNDUsCisgICAgICAg
IGJhejogImhlbGxvIHdvcmxkIiwKKyAgICAgICAgamF6OiA0NTUzLjQzNAorICAgIH07CisgICAg
bGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwge30pOworICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgNTA7IGkrKykKKyAgICAgICAgcHJveHkgPSBuZXcgUHJveHkocHJveHksIHt9KTsKKyAgICBh
c3NlcnQoSlNPTi5zdHJpbmdpZnkocHJveHkpID09PSBKU09OLnN0cmluZ2lmeSh0YXJnZXQpKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0YXJnZXQgPSBbMjAsIDMwLCAiZm9v
Iiwge2hlbGxvOiAid29ybGQifV07CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwg
e30pOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTA7IGkrKykKKyAgICAgICAgcHJveHkgPSBu
ZXcgUHJveHkocHJveHksIHt9KTsKKyAgICBhc3NlcnQoSlNPTi5zdHJpbmdpZnkocHJveHkpID09
PSBKU09OLnN0cmluZ2lmeSh0YXJnZXQpKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0YXJnZXQgPSB7CisgICAgICAgIGZvbzogWyJiYXoiLCB7Zm9vOiA0NX1dLAorICAgICAg
ICBiYXI6IGZhbHNlLAorICAgICAgICAwOiA0NSwKKyAgICAgICAgYmF6OiAiaGVsbG8gd29ybGQi
LAorICAgICAgICBqYXo6IDQ1NTMuNDM0CisgICAgfTsKKyAgICBsZXQge3Byb3h5LCByZXZva2V9
ID0gUHJveHkucmV2b2NhYmxlKHRhcmdldCwge30pOworICAgIGFzc2VydChKU09OLnN0cmluZ2lm
eShwcm94eSkgPT09IEpTT04uc3RyaW5naWZ5KHRhcmdldCkpOworCisgICAgcmV2b2tlKCk7Cisg
ICAgSlNPTi5zdHJpbmdpZnkodGFyZ2V0KTsgLy8gVGhpbmdzIGFyZSBvay4KKyAgICBsZXQgdGhy
ZXcgPSBmYWxzZTsKKyAgICB0cnkgeworICAgICAgICBKU09OLnN0cmluZ2lmeShwcm94eSk7IC8v
IFRoaW5ncyBhcmUgbm90IG9rLgorICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0aHJldyA9IHRy
dWU7CisgICAgICAgIGFzc2VydChlLnRvU3RyaW5nKCkgPT09ICJUeXBlRXJyb3I6IFByb3h5IGhh
cyBhbHJlYWR5IGJlZW4gcmV2b2tlZC4gTm8gbW9yZSBvcGVyYXRpb25zIGFyZSBhbGxvd2VkIHRv
IGJlIHBlcmZvcm1lZCBvbiBpdC4iKTsKKyAgICB9CisgICAgYXNzZXJ0KHRocmV3KTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0YXJnZXQgPSBbImZvbyIsICJiYXIiLCAyNSwg
ZmFsc2VdOworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHt9KTsKKyAgICBsZXQg
cmV2b2tlOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTA7IGkrKykgeworICAgICAgICBpZiAo
aSA9PT0gMjUpIHsKKyAgICAgICAgICAgIGxldCByZXN1bHQgPSBQcm94eS5yZXZvY2FibGUocHJv
eHksIHt9KTsKKyAgICAgICAgICAgIHByb3h5ID0gcmVzdWx0LnByb3h5OworICAgICAgICAgICAg
cmV2b2tlID0gcmVzdWx0LnJldm9rZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHBy
b3h5ID0gbmV3IFByb3h5KHByb3h5LCB7fSk7CisgICAgICAgIH0KKyAgICB9CisgICAgYXNzZXJ0
KEpTT04uc3RyaW5naWZ5KHByb3h5KSA9PT0gSlNPTi5zdHJpbmdpZnkodGFyZ2V0KSk7CisKKyAg
ICByZXZva2UoKTsKKyAgICBKU09OLnN0cmluZ2lmeSh0YXJnZXQpOyAvLyBUaGluZ3MgYXJlIG9r
LgorICAgIGxldCB0aHJldyA9IGZhbHNlOworICAgIHRyeSB7CisgICAgICAgIEpTT04uc3RyaW5n
aWZ5KHByb3h5KTsgLy8gVGhpbmdzIGFyZSBub3Qgb2suCisgICAgfSBjYXRjaChlKSB7CisgICAg
ICAgIHRocmV3ID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0KGUudG9TdHJpbmcoKSA9PT0gIlR5cGVF
cnJvcjogUHJveHkgaGFzIGFscmVhZHkgYmVlbiByZXZva2VkLiBObyBtb3JlIG9wZXJhdGlvbnMg
YXJlIGFsbG93ZWQgdG8gYmUgcGVyZm9ybWVkIG9uIGl0LiIpOworICAgIH0KKyAgICBhc3NlcnQo
dGhyZXcpOworfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>