<?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>144254</bug_id>
          
          <creation_ts>2015-04-27 02:12:42 -0700</creation_ts>
          <short_desc>Class syntax should allow string and numeric identifiers for method names</short_desc>
          <delta_ts>2015-05-01 19:24:15 -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>JavaScriptCore</component>
          <version>528+ (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>
          
          <blocked>140491</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088963</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-27 02:12:42 -0700</bug_when>
    <thetext>class syntax allows numeric and string identifiers for both instance and static methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088965</commentid>
    <comment_count>1</comment_count>
      <attachid>251730</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-27 02:22:52 -0700</bug_when>
    <thetext>Created attachment 251730
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088966</commentid>
    <comment_count>2</comment_count>
      <attachid>251730</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-27 02:24:03 -0700</bug_when>
    <thetext>Comment on attachment 251730
Fixes the bug

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

&gt; LayoutTests/js/class-syntax-string-and-numeric-names-expected.txt:32
&gt; +FAIL setterValue = 0; X = class { set 2(x) { setterValue = x; } }; (new X)[2] = 22; setterValue should be 22. Was 0.
&gt; +FAIL X[2] = 23; setterValue should be 22. Was 0.

These failures are caused by webkit.org/b/144252 as commented in the test.

&gt; LayoutTests/js/class-syntax-string-and-numeric-names-expected.txt:38
&gt; +FAIL setterValue = 0; X = class { get 5() { } set 5(x) { setterValue = x; } }; (new X)[5] = 25; setterValue should be 25. Was 0.
&gt; +FAIL X[5] = 26; setterValue should be 25. Was 0.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091032</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-01 19:24:15 -0700</bug_when>
    <thetext>Committed r183709: &lt;http://trac.webkit.org/changeset/183709&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251730</attachid>
            <date>2015-04-27 02:22:52 -0700</date>
            <delta_ts>2015-04-27 09:20:22 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-144254-20150427022145.patch</filename>
            <type>text/plain</type>
            <size>28764</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTBlZDAwNWEyYWZhOTRmOTNjNWYzZjVkODJlOWEzNWM2YTk4YmYwLi5hZDk3NzIzMWU2Y2E3YWZh
ZmEyMGJhMDliZmI2NjExMTA2YTRkNWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAxNS0wNC0yNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
KworICAgICAgICBDbGFzcyBzeW50YXggc2hvdWxkIGFsbG93IHN0cmluZyBhbmQgbnVtZXJpYyBp
ZGVudGlmaWVycyBmb3IgbWV0aG9kIG5hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgc3VwcG9ydCBmb3Igc3RyaW5nIGFuZCBudW1l
cmljIGlkZW50aWZpZXJzIGluIGNsYXNzIHN5bnRheC4KKworICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8pOiBJbnN0ZWFkIG9mIHVzaW5nIENvbnN0cnVjdG9yS2luZCB0byBpbmRpY2F0ZSB3aGV0aGVy
IHdlJ3JlCisgICAgICAgIGluc2lkZSBhIGNsYXNzIG9yIG5vdCwgdXNlIHRoZSBuZXdseSBhZGRl
ZCBTdXBlckJpbmRpbmcgYXJndW1lbnQgaW5zdGVhZC4gQ29uc3RydWN0b3JLaW5kIGlzIG5vdyBO
b25lCisgICAgICAgIG91dHNpZGUgYSBjbGFzcyBjb25zdHJ1Y3RvciBhcyBpdCBzaG91bGQgYmUu
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6IE5vIGxv
bmdlciBleHBlY3RzIGFuIGlkZW50aWZpZXIgYXQgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBjbGFz
cworICAgICAgICBlbGVtZW50IHRvIGFsbG93IG51bWVyaWMgYW5kIHN0cmluZyBtZXRob2QgbmFt
ZXMuIEZvciBib3RoIG9mIHRob3NlIG1ldGhvZCBuYW1lcywgcGFyc2UgaXQgaGVyZSBpbnN0ZWFk
CisgICAgICAgIG9mIHBhcnNlRnVuY3Rpb25JbmZvIHNpbmNlIGl0IGRvZXNuJ3Qgc3VwcG9ydCBl
aXRoZXIgdHlwZS4gQWxzbyBwYXNzIGluIFN1cGVyQmluZGluZzo6TmVlZGVkLgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZCk6IENhbGwgcGFyc2VG
dW5jdGlvbkluZm8gd2l0aCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCBzaW5jZQorICAgICAgICB0
aGlzIGZ1bmN0aW9uIGlzIG5ldmVyIHVzZWQgdG8gcGFyc2UgYSBjbGFzcyBtZXRob2QuCisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcik6IFBhc3MgaW4g
c3VwZXJCaW5kaW5nIGFyZ3VtZW50IHRvIHBhcnNlRnVuY3Rpb25JbmZvLgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6IENhbGwgcGFyc2VG
dW5jdGlvbkluZm8gd2l0aCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZC4KKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAg
KEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlUHJvcGVydHkpOgorCiAyMDE1LTA0LTI2ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENsYXNzIGJvZHkgZW5kaW5n
IHdpdGggYSBzZW1pY29sb24gdGhyb3dzIGEgU3ludGF4RXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBjNzA4OGU3MTkyOGNjMmJlNTg3OTYwOWJiMzA5MDhj
MWU1ODM0NTU5Li5lY2FlYWQ5YmFmN2IwOTM0MmQwNzE0YzQyYWUwZDgzMWY2NDA2NmE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0xMzEyLDcgKzEzMTIsNyBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VN
b2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMs
IEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisgICAgYm9vbCBuYW1l
SXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3Vw
ZXJCaW5kaW5nIGV4cGVjdGVkU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7CiAgICAgQXV0b1BvcFNj
b3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2Nv
cGUtPnNldElzRnVuY3Rpb24oKTsKQEAgLTEzNTksMTIgKzEzNTksMTEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKIAogICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhy
b3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KICAgICAv
LyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2Rz
IG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhv
ZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3I7CiAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25z
dHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAg
IGNvbnN0cnVjdG9yS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgZXhw
ZWN0ZWRTdXBlckJpbmRpbmcgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgPT0gQ29uc3RydWN0
b3JLaW5kOjpEZXJpdmVkID8gU3VwZXJCaW5kaW5nOjpOZWVkZWQgOiBTdXBlckJpbmRpbmc6Ok5v
dE5lZWRlZDsKICAgICB9Ci0gICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlz
Q2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0gY29uc3RydWN0b3JLaW5kICE9IENvbnN0
cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0OwogICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOwpAQCAt
MTQyNCwxMCArMTQyMywxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIH0KICAgICBp
ZiAoZnVuY3Rpb25TY29wZS0+aGFzRGlyZWN0U3VwZXIoKSkgewogICAgICAgICBzZW1hbnRpY0Zh
aWxJZlRydWUoIWlzQ2xhc3NDb25zdHJ1Y3RvciwgIkNhbm5vdCBjYWxsIHN1cGVyKCkgb3V0c2lk
ZSBvZiBhIGNsYXNzIGNvbnN0cnVjdG9yIik7Ci0gICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShv
d25lckNsYXNzS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6OkRlcml2ZWQsICJDYW5ub3QgY2FsbCBz
dXBlcigpIGluIGEgYmFzZSBjbGFzcyBjb25zdHJ1Y3RvciIpOworICAgICAgICBzZW1hbnRpY0Zh
aWxJZlRydWUoY29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCwgIkNh
bm5vdCBjYWxsIHN1cGVyKCkgaW4gYSBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yIik7CiAgICAgfQog
ICAgIGlmIChmdW5jdGlvblNjb3BlLT5uZWVkc1N1cGVyQmluZGluZygpKQotICAgICAgICBzZW1h
bnRpY0ZhaWxJZlRydWUob3duZXJDbGFzc0tpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpEZXJpdmVk
LCAic3VwZXIgY2FuIG9ubHkgYmUgdXNlZCBpbiBhIG1ldGhvZCBvZiBhIGRlcml2ZWQgY2xhc3Mi
KTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGV4cGVjdGVkU3VwZXJCaW5kaW5nID09IFN1
cGVyQmluZGluZzo6Tm90TmVlZGVkLCAic3VwZXIgY2FuIG9ubHkgYmUgdXNlZCBpbiBhIG1ldGhv
ZCBvZiBhIGRlcml2ZWQgY2xhc3MiKTsKIAogICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldDsKICAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZSA9IG1fdG9r
ZW4ubV9kYXRhLmxpbmU7CkBAIC0xNDY4LDcgKzE0NjcsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25E
ZWNsYQogICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwog
ICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Ci0g
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNO
YW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CisgICAg
ZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1l
LCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5n
OjpOb3ROZWVkZWQsCisgICAgICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZT
dHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0
aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7
CkBAIC0xNTUwLDI4ICsxNTUwLDQ0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAg
IGlmIChpc1N0YXRpY01ldGhvZCkKICAgICAgICAgICAgIG5leHQoKTsKIAotICAgICAgICBtYXRj
aE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGFuIGlkZW50aWZpZXIiKTsKLQorICAgICAgICAvLyBG
SVhNRTogRmlndXJlIG91dCBhIHdheSB0byBzaGFyZSBtb3JlIGNvZGUgd2l0aCBwYXJzZVByb3Bl
cnR5LgogICAgICAgICBjb25zdCBDb21tb25JZGVudGlmaWVycyYgcHJvcGVydHlOYW1lcyA9ICpt
X3ZtLT5wcm9wZXJ0eU5hbWVzOwotICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9ICpt
X3Rva2VuLm1fZGF0YS5pZGVudDsKLSAgICAgICAgYm9vbCBpc0dldHRlciA9IGlkZW50ID09IHBy
b3BlcnR5TmFtZXMuZ2V0OwotICAgICAgICBib29sIGlzU2V0dGVyID0gaWRlbnQgPT0gcHJvcGVy
dHlOYW1lcy5zZXQ7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbnVsbHB0cjsK
KyAgICAgICAgYm9vbCBpc0dldHRlciA9IGZhbHNlOworICAgICAgICBib29sIGlzU2V0dGVyID0g
ZmFsc2U7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBT
VFJJTkc6CisgICAgICAgICAgICBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAg
ICAgICAgbmV4dCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURFTlQ6Cisg
ICAgICAgICAgICBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAgaXNH
ZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5nZXQ7CisgICAgICAgICAgICBpc1NldHRl
ciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLnNldDsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIERPVUJMRToKKyAgICAgICAgY2FzZSBJTlRFR0VSOgorICAgICAgICAgICAgaWRl
bnQgPSAmbV9wYXJzZXJBcmVuYS5pZGVudGlmaWVyQXJlbmEoKS5tYWtlTnVtZXJpY0lkZW50aWZp
ZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX3Rva2VuLm1fZGF0YS5kb3VibGVWYWx1ZSk7Cisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOworICAgICAgICB9CiAKICAg
ICAgICAgVHJlZVByb3BlcnR5IHByb3BlcnR5OwogICAgICAgICBjb25zdCBib29sIGFsd2F5c1N0
cmljdEluc2lkZUNsYXNzID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzR2V0dGVyIHx8IGlzU2V0dGVy
KSB7CiAgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVz
ZXJ2ZWRXb3Jkcyk7Ci0gICAgICAgICAgICBwcm9wZXJ0eSA9IHBhcnNlR2V0dGVyU2V0dGVyKGNv
bnRleHQsIGFsd2F5c1N0cmljdEluc2lkZUNsYXNzLCBpc0dldHRlciA/IFByb3BlcnR5Tm9kZTo6
R2V0dGVyIDogUHJvcGVydHlOb2RlOjpTZXR0ZXIsIG1ldGhvZFN0YXJ0LCBjb25zdHJ1Y3Rvcktp
bmQsIFN1cGVyQmluZGluZzo6TmVlZGVkKTsKKyAgICAgICAgICAgIHByb3BlcnR5ID0gcGFyc2VH
ZXR0ZXJTZXR0ZXIoY29udGV4dCwgYWx3YXlzU3RyaWN0SW5zaWRlQ2xhc3MsIGlzR2V0dGVyID8g
UHJvcGVydHlOb2RlOjpHZXR0ZXIgOiBQcm9wZXJ0eU5vZGU6OlNldHRlciwgbWV0aG9kU3RhcnQs
CisgICAgICAgICAgICAgICAgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5l
ZWRlZCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJzZSB0
aGlzIG1ldGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01l
dGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQs
IG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsK
LSAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1ldGhvZEluZm8ubmFtZSwgIm1ldGhvZCBtdXN0IGhh
dmUgYSBuYW1lIik7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZShkZWNsYXJlVmFyaWFibGUobWV0
aG9kSW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgbWV0aG9kIG5hbWVkICciLCBtZXRob2RJ
bmZvLm5hbWUtPmltcGwoKSwgIiciKTsKLQotICAgICAgICAgICAgYm9vbCBpc0NvbnN0cnVjdG9y
ID0gIWlzU3RhdGljTWV0aG9kICYmICptZXRob2RJbmZvLm5hbWUgPT0gcHJvcGVydHlOYW1lcy5j
b25zdHJ1Y3RvcjsKLSAgICAgICAgICAgIGlmIChpc0NvbnN0cnVjdG9yKQotICAgICAgICAgICAg
ICAgIG1ldGhvZEluZm8ubmFtZSA9IGNsYXNzTmFtZTsKKyAgICAgICAgICAgIGJvb2wgaXNDb25z
dHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25z
dHJ1Y3RvcjsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9k
ZSA6IE1ldGhvZE1vZGUsIGZhbHNlLAorICAgICAgICAgICAgICAgIGlzQ29uc3RydWN0b3IgPyBj
b25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVl
ZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShpZGVudCAmJiBkZWNsYXJlVmFyaWFibGUoaWRl
bnQpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+
aW1wbCgpLCAiJyIpOworICAgICAgICAgICAgbWV0aG9kSW5mby5uYW1lID0gaXNDb25zdHJ1Y3Rv
ciA/IGNsYXNzTmFtZSA6IGlkZW50OwogCiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBtZXRo
b2QgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5m
byk7CiAgICAgICAgICAgICBpZiAoaXNDb25zdHJ1Y3RvcikgewpAQCAtMTU4MSw3ICsxNTk3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
Ly8gRklYTUU6IFN5bnRheCBlcnJvciB3aGVuIHN1cGVyKCkgaXMgY2FsbGVkCi0gICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNTdGF0aWNNZXRob2QgJiYgKm1ldGhvZEluZm8ubmFtZSA9
PSBwcm9wZXJ0eU5hbWVzLnByb3RvdHlwZSwKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShpc1N0YXRpY01ldGhvZCAmJiBtZXRob2RJbmZvLm5hbWUgJiYgKm1ldGhvZEluZm8ubmFtZSA9
PSBwcm9wZXJ0eU5hbWVzLnByb3RvdHlwZSwKICAgICAgICAgICAgICAgICAiQ2Fubm90IGRlY2xh
cmUgYSBzdGF0aWMgbWV0aG9kIG5hbWVkICdwcm90b3R5cGUnIik7CiAgICAgICAgICAgICBwcm9w
ZXJ0eSA9IGNvbnRleHQuY3JlYXRlUHJvcGVydHkobWV0aG9kSW5mby5uYW1lLCBtZXRob2QsIFBy
b3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgYWx3YXlzU3RyaWN0
SW5zaWRlQ2xhc3MsIFN1cGVyQmluZGluZzo6TmVlZGVkKTsKICAgICAgICAgfQpAQCAtMjA2OCw3
ICsyMDg0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGgKICAgICBKU1Rva2VuTG9jYXRpb24g
bWV0aG9kTG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBtZXRob2RTdGFy
dCA9IHRva2VuU3RhcnQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1l
dGhvZEluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1
bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCisgICAgICAgIG1ldGhvZFN0YXJ0LCBtZXRob2RJ
bmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUg
PSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRo
b2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMDk0LDEwICsyMTExLDEyIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBp
bmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZh
aWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZv
ciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2Us
IGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fu
bm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJz
ZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2Rl
LCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBzdXBlckJpbmRpbmcsCisgICAgICAgICAgICBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmlu
aXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFS
RU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsK
LSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
Tm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRl
ck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5p
dGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2lu
ZCwgc3VwZXJCaW5kaW5nLAorICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
aW5mbykpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlm
IChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRl
ck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlO
YW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAtMjM0Niw3ICsyMzY1LDggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgpOwogICAgICAgICBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFs
c2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwg
IkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5j
dGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90
TmVlZGVkLAorICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5v
dCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CiAgICAgfQogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggYmRl
NGIwZWUxMjgzZWMwYTFkMzMzZjljZWY1Y2RlMDgzYTA5ZjVhMC4uM2RmZjhlNDliMzA1N2M0OTkx
NDQ1ZjZmYzRlZDQyYzlmMzQ2NWFjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCkBAIC03NzIsNyArNzcyLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQg
ZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVy
JiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0lu
Q29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZywgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CiAjaWYg
RU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWlsZGVy
JiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4mKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDY2ZjEyNmVkMWFlNTUwMTEzNDViMTcxNTZmOGJkYzA3MzBhOWNiYTUu
LjUyNTk5MTg4MTM3NmEwYmQxYjBiZDBkNThjYzQyMzRkNjIwY2Y0ZmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMiBAQAorMjAxNS0wNC0yNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBDbGFzcyBzeW50YXggc2hvdWxkIGFsbG93IHN0cmluZyBhbmQgbnVtZXJpYyBpZGVu
dGlmaWVycyBmb3IgbWV0aG9kIG5hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDQyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgYW5kIHJlYmFzZWxpbmVkIG90aGVyIHRlc3Rz
IHBlciBzeW50YXggZXJyb3IgbWVzc2FnZSBjaGFuZ2UuCisKKyAgICAgICAgKiBqcy9jbGFzcy1z
eW50YXgtZGVjbGFyYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2NsYXNzLXN5bnRh
eC1leHByZXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9jbGFzcy1zeW50YXgtc3Ry
aW5nLWFuZC1udW1lcmljLW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMv
Y2xhc3Mtc3ludGF4LXN0cmluZy1hbmQtbnVtZXJpYy1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBqcy9jbGFzcy1zeW50YXgtc3VwZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL3Nj
cmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZGVjbGFyYXRpb24uanM6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL2NsYXNzLXN5bnRheC1leHByZXNzaW9uLmpzOgorICAgICAgICAqIGpzL3Njcmlw
dC10ZXN0cy9jbGFzcy1zeW50YXgtc3RyaW5nLWFuZC1udW1lcmljLW5hbWVzLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LXN1cGVyLmpzOgorCiAyMDE1
LTA0LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENsYXNz
IGJvZHkgZW5kaW5nIHdpdGggYSBzZW1pY29sb24gdGhyb3dzIGEgU3ludGF4RXJyb3IKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1kZWNsYXJhdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtZGVjbGFyYXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGFjN2Y5NzRhNmYzZjFiMDZlZmZiYWM5MGFkMDY0ZGViYmIzM2ZlNGMuLmFmNmI3ZmEz
NzU3MTY4NjMxMGQ5MzYwYjljM2M0NzViMWU5MzM2ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL2NsYXNzLXN5bnRheC1kZWNsYXJhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvanMvY2xhc3Mtc3ludGF4LWRlY2xhcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTksNyArMTks
NyBAQCBQQVNTIGNsYXNzIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBl
bmQgb2Ygc2NyaXB0LgogUEFTUyBjbGFzcyBbIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnWycuCiBQQVNTIGNsYXNzIHsgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBDbGFzcyBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUuLgogUEFTUyBjbGFzcyBY
IHsgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVuZCBvZiBzY3JpcHQu
Ci1QQVNTIGNsYXNzIFggeyAoIH0gdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcoJy4gRXhwZWN0ZWQgYW4gaWRlbnRpZmllci4uCitQQVNTIGNsYXNzIFggeyAo
IH0gdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcoJy4KIFBB
U1MgY2xhc3MgWCB7fSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgY2xhc3MgWCB7IGNv
bnN0cnVjdG9yKCkge30gY29uc3RydWN0b3IoKSB7fSB9IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogQ2Fubm90IGRlY2xhcmUgbXVsdGlwbGUgY29uc3RydWN0b3JzIGluIGEgc2luZ2xlIGNs
YXNzLi4KIFBBU1MgY2xhc3MgWCB7IGdldCBjb25zdHJ1Y3RvcigpIHt9IH0gdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGdldHRlciBvciBzZXR0ZXIgbmFtZWQg
J2NvbnN0cnVjdG9yJy4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgt
ZXhwcmVzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtZXhw
cmVzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggODFiYzhkZTc3N2Y4Y2YyOGIxOTM1MDBkOTM2YjNj
MjljYTA2ZTIzNy4uY2QwOWU2YTAxMDNkMGZjMzU0MjEwMmFkNzM3OWQ1MWQ2MTA3MmRhMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LWV4cHJlc3Npb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1leHByZXNzaW9uLWV4cGVjdGVk
LnR4dApAQCAtMTcsNyArMTcsNyBAQCBQQVNTIChuZXcgQSkuX19wcm90b19fIGlzIEEucHJvdG90
eXBlCiBQQVNTIEEucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIEEKIFBBU1MgeCA9IGNsYXNzIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlbmQgb2Ygc2NyaXB0LgogUEFT
UyB4ID0gY2xhc3MgeyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZW5k
IG9mIHNjcmlwdC4KLVBBU1MgeCA9IGNsYXNzIHsgKCB9IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKCcuIEV4cGVjdGVkIGFuIGlkZW50aWZpZXIuLgorUEFT
UyB4ID0gY2xhc3MgeyAoIH0gdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICcoJy4KIFBBU1MgeCA9IGNsYXNzIHt9IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgog
UEFTUyB4ID0gY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHt9IGNvbnN0cnVjdG9yKCkge30gfSB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIG11bHRpcGxlIGNvbnN0cnVj
dG9ycyBpbiBhIHNpbmdsZSBjbGFzcy4uCiBQQVNTIHggPSBjbGFzcyB7IGdldCBjb25zdHJ1Y3Rv
cigpIHt9IH0gdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGdl
dHRlciBvciBzZXR0ZXIgbmFtZWQgJ2NvbnN0cnVjdG9yJy4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9jbGFzcy1zeW50YXgtc3RyaW5nLWFuZC1udW1lcmljLW5hbWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdHJpbmctYW5kLW51bWVyaWMtbmFtZXMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0MzUyZDgyOWE2Mjg5OTM5ZDg1NGQxNDRkZGIwZTZl
MGNlYzc0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgt
c3RyaW5nLWFuZC1udW1lcmljLW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACitU
ZXN0cyBmb3Igc3RyaW5nIGFuZCBudW1lcmljIG1ldGhvZCBuYW1lcyBmb3IgRVM2IGNsYXNzIHN5
bnRheAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjb25zdHJ1Y3RvckNh
bGxDb3VudCA9IDA7IG5ldyAoY2xhc3MgeyAiY29uc3RydWN0b3IiKCkgeyBjb25zdHJ1Y3RvckNh
bGxDb3VudCsrOyB9IH0pOyBjb25zdHJ1Y3RvckNhbGxDb3VudCBpcyAxCitQQVNTIGNsYXNzIEEg
eyAnY29uc3RydWN0b3InKCkgeyBjb25zdHJ1Y3RvckNhbGxDb3VudCsrOyB9IH07IG5ldyBBOyBj
b25zdHJ1Y3RvckNhbGxDb3VudCBpcyAyCitQQVNTIG5ldyAoY2xhc3MgeyBjb25zdHJ1Y3Rvcigp
IHt9ICJjb25zdHJ1Y3RvciIoKSB7fSB9KTsgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBD
YW5ub3QgZGVjbGFyZSBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMgaW4gYSBzaW5nbGUgY2xhc3MuLgor
UEFTUyBuZXcgKGNsYXNzIHsgY29uc3RydWN0b3IoKSB7fSBzdGF0aWMgInByb3RvdHlwZSIoKSB7
fSB9KTsgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIHN0YXRp
YyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZScuLgorUEFTUyBjbGFzcyBBIHsgJ2ZvbycoKSB7IHJl
dHVybiAzOyB9IH07IChuZXcgQSkuZm9vKCkgaXMgMworUEFTUyBjbGFzcyBBIHsgZ2V0ICdmb28n
KCkgeyByZXR1cm4gNDsgfSB9OyAobmV3IEEpLmZvbyBpcyA0CitQQVNTIGNsYXNzIEEgeyBnZXQg
J2ZvbycoKSB7IHJldHVybiA0OyB9IH07IEEuZm9vIGlzIHVuZGVmaW5lZAorUEFTUyBjbGFzcyBB
IHsgc3RhdGljIGdldCAnZm9vJygpIHsgcmV0dXJuIDU7IH0gfTsgQS5mb28gaXMgNQorUEFTUyBj
bGFzcyBBIHsgc3RhdGljIGdldCAnZm9vJygpIHsgcmV0dXJuIDU7IH0gfTsgKG5ldyBBKS5mb28g
aXMgdW5kZWZpbmVkCitQQVNTIGZvb1ZhbHVlID0gMDsgWCA9IGNsYXNzIHsgc2V0ICdmb28nKHZh
bHVlKSB7IGZvb1ZhbHVlID0gdmFsdWU7IH0gfTsgKG5ldyBYKS5mb28gPSA2OyBmb29WYWx1ZSBp
cyA2CitQQVNTIFguZm9vID0gNzsgZm9vVmFsdWUgaXMgNgorUEFTUyBmb29WYWx1ZSA9IDA7IFgg
PSBjbGFzcyB7IHN0YXRpYyBzZXQgJ2ZvbycodmFsdWUpIHsgZm9vVmFsdWUgPSB2YWx1ZTsgfSB9
OyBYLmZvbyA9IDg7IGZvb1ZhbHVlIGlzIDgKK1BBU1MgKG5ldyBYKS5mb28gPSA3OyBmb29WYWx1
ZSBpcyA4CitQQVNTIFggPSBjbGFzcyB7IGdldCAnZm9vJygpIHsgcmV0dXJuIDkgfSBzZXQgJ2Zv
bycoeCkgeyB9IH07IHggPSBuZXcgWDsgeC5mb28gaXMgOQorUEFTUyBYLmZvbyBpcyB1bmRlZmlu
ZWQKK1BBU1MgZm9vVmFsdWUgPSAwOyBYID0gY2xhc3MgeyBnZXQgJ2ZvbycoKSB7IH0gc2V0ICdm
b28nKHgpIHsgZm9vVmFsdWUgPSB4IH0gfTsgKG5ldyBYKS5mb28gPSA5OyBmb29WYWx1ZSBpcyA5
CitQQVNTIFguZm9vID0gMTA7IGZvb1ZhbHVlIGlzIDkKK1BBU1MgWCA9IGNsYXNzIHsgc3RhdGlj
IHNldCAnZm9vJyh4KSB7IH0gc3RhdGljIGdldCAnZm9vJygpIHsgcmV0dXJuIDEwIH0gfTsgWC5m
b28gaXMgMTAKK1BBU1MgKG5ldyBYKS5mb28gaXMgdW5kZWZpbmVkCitQQVNTIGZvb1ZhbHVlID0g
MDsgWCA9IGNsYXNzIHsgc3RhdGljIHNldCAnZm9vJyh4KSB7IGZvb1ZhbHVlID0geCB9IHN0YXRp
YyBnZXQgJ2ZvbycoKSB7IH0gfTsgWC5mb28gPSAxMTsgZm9vVmFsdWUgaXMgMTEKK1BBU1MgKG5l
dyBYKS5mb28gPSAxMjsgZm9vVmFsdWUgaXMgMTEKK1BBU1MgY2xhc3MgQSB7IGdldCAwKCkgeyBy
ZXR1cm4gMjA7IH0gfTsgKG5ldyBBKVswXSBpcyAyMAorUEFTUyBjbGFzcyBBIHsgZ2V0IDAoKSB7
IHJldHVybiAyMDsgfSB9OyBBWzBdIGlzIHVuZGVmaW5lZAorUEFTUyBjbGFzcyBBIHsgc3RhdGlj
IGdldCAxKCkgeyByZXR1cm4gMjE7IH0gfTsgQVsxXSBpcyAyMQorUEFTUyBjbGFzcyBBIHsgc3Rh
dGljIGdldCAxKCkgeyByZXR1cm4gMjE7IH0gfTsgKG5ldyBBKVsxXSBpcyB1bmRlZmluZWQKK0ZB
SUwgc2V0dGVyVmFsdWUgPSAwOyBYID0gY2xhc3MgeyBzZXQgMih4KSB7IHNldHRlclZhbHVlID0g
eDsgfSB9OyAobmV3IFgpWzJdID0gMjI7IHNldHRlclZhbHVlIHNob3VsZCBiZSAyMi4gV2FzIDAu
CitGQUlMIFhbMl0gPSAyMzsgc2V0dGVyVmFsdWUgc2hvdWxkIGJlIDIyLiBXYXMgMC4KK1BBU1Mg
c2V0dGVyVmFsdWUgPSAwOyBYID0gY2xhc3MgeyBzdGF0aWMgc2V0IDMoeCkgeyBzZXR0ZXJWYWx1
ZSA9IHg7IH0gfTsgWFszXSA9IDIzOyBzZXR0ZXJWYWx1ZSBpcyAyMworUEFTUyAobmV3IFgpWzNd
ID0gMjM7IHNldHRlclZhbHVlIGlzIDIzCitQQVNTIFggPSBjbGFzcyB7IGdldCA0KCkgeyByZXR1
cm4gMjQgfSBzZXQgNCh4KSB7IH0gfTsgeCA9IG5ldyBYOyB4WzRdIGlzIDI0CitQQVNTIFhbNF0g
aXMgdW5kZWZpbmVkCitGQUlMIHNldHRlclZhbHVlID0gMDsgWCA9IGNsYXNzIHsgZ2V0IDUoKSB7
IH0gc2V0IDUoeCkgeyBzZXR0ZXJWYWx1ZSA9IHg7IH0gfTsgKG5ldyBYKVs1XSA9IDI1OyBzZXR0
ZXJWYWx1ZSBzaG91bGQgYmUgMjUuIFdhcyAwLgorRkFJTCBYWzVdID0gMjY7IHNldHRlclZhbHVl
IHNob3VsZCBiZSAyNS4gV2FzIDAuCitQQVNTIFggPSBjbGFzcyB7IHN0YXRpYyBzZXQgNih4KSB7
IH0gc3RhdGljIGdldCA2KCkgeyByZXR1cm4gMjYgfSB9OyBYWzZdIGlzIDI2CitQQVNTIChuZXcg
WClbNl0gaXMgdW5kZWZpbmVkCitQQVNTIHNldHRlclZhbHVlID0gMDsgWCA9IGNsYXNzIHsgc3Rh
dGljIHNldCA3KHgpIHsgc2V0dGVyVmFsdWUgPSB4IH0gc3RhdGljIGdldCA3KCkgeyB9IH07IFhb
N10gPSAyNzsgc2V0dGVyVmFsdWUgaXMgMjcKK1BBU1MgKG5ldyBYKVs3XSA9IDI4OyBzZXR0ZXJW
YWx1ZSBpcyAyNworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdHJpbmctYW5k
LW51bWVyaWMtbmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdHJpbmct
YW5kLW51bWVyaWMtbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZiMWU3YWJiZWZmZjczZmMxYzc4
ODhiZjVkN2JiZmFkZTQ0NzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvY2xh
c3Mtc3ludGF4LXN0cmluZy1hbmQtbnVtZXJpYy1uYW1lcy5odG1sCkBAIC0wLDAgKzEsOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Ns
YXNzLXN5bnRheC1zdHJpbmctYW5kLW51bWVyaWMtbmFtZXMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LXN1cGVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdXBlci1leHBlY3RlZC50
eHQKaW5kZXggZTBjNzFkNDUyYjdiNjUxZWQ5MzMxYzY5Njg3ODgyZjdmMmM0OTk5Zi4uMzk3ZTZk
MTIzZjE5ZjQzMTFjYTYxOWFmZGJmYWYzYTJiMWU4NWNjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvanMvY2xhc3Mtc3ludGF4LXN1cGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9q
cy9jbGFzcy1zeW50YXgtc3VwZXItZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsxMyw3IEBAIFBBU1Mg
KG5ldyBEZXJpdmVkKS5iYXNlTWV0aG9kSW5HZXR0ZXJTZXR0ZXIgaXMgKG5ldyBCYXNlKS5iYXNl
TWV0aG9kCiBQQVNTIChuZXcgRGVyaXZlZCkuYmFzZU1ldGhvZEluR2V0dGVyU2V0dGVyID0gMTsg
dmFsdWVJblNldHRlciBpcyAobmV3IEJhc2UpLmJhc2VNZXRob2QKIFBBU1MgRGVyaXZlZC5zdGF0
aWNNZXRob2QoKSBpcyAiYmFzZTMiCiBQQVNTIChuZXcgU2Vjb25kRGVyaXZlZCkuY2hhaW5NZXRo
b2QoKSBpcyBbImJhc2UiLCAiZGVyaXZlZCIsICJzZWNvbmREZXJpdmVkIl0KLVBBU1MgeCA9IGNs
YXNzIGV4dGVuZHMgQmFzZSB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9IHN1cGVyKCkge30g
fSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQga2V5d29yZCAnc3VwZXIn
LiBFeHBlY3RlZCBhbiBpZGVudGlmaWVyLi4KK1BBU1MgeCA9IGNsYXNzIGV4dGVuZHMgQmFzZSB7
IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9IHN1cGVyKCkge30gfSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQga2V5d29yZCAnc3VwZXInLgogUEFTUyB4ID0gY2xhc3Mg
ZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IH0gbWV0aG9kKCkgeyBzdXBl
cigpIH0gfSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IENhbm5vdCBjYWxsIHN1cGVyKCkg
b3V0c2lkZSBvZiBhIGNsYXNzIGNvbnN0cnVjdG9yLi4KIFBBU1MgeCA9IGNsYXNzIGV4dGVuZHMg
QmFzZSB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9IG1ldGhvZCgpIHsgc3VwZXIgfSB9IHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogQ2Fubm90IHJlZmVyZW5jZSBzdXBlci4uCiBQQVNT
IHggPSBjbGFzcyBleHRlbmRzIEJhc2UgeyBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfSBtZXRo
b2QoKSB7IHJldHVybiBuZXcgc3VwZXIgfSB9IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1kZWNsYXJh
dGlvbi5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZGVjbGFy
YXRpb24uanMKaW5kZXggOGMzZmEwOTAyOGU1OTczZGY0NDNhNzc3ZGI3YmM1ZjcwNWVmMjA2Mi4u
NDc5ZDg3ZTk5NDYwYzhlMzIyMDFkZjYyODgyODM3ZWVjODU3N2UxZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1kZWNsYXJhdGlvbi5qcworKysg
Yi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWRlY2xhcmF0aW9uLmpz
CkBAIC0zMyw3ICszMyw3IEBAIHNob3VsZFRocm93KCJjbGFzcyIsICInU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgZW5kIG9mIHNjcmlwdCciKTsKIHNob3VsZFRocm93KCJjbGFzcyBbIiwgIidTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiBcXCdbXFwnJyIpOwogc2hvdWxkVGhyb3coImNsYXNz
IHsiLCAiJ1N5bnRheEVycm9yOiBDbGFzcyBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUuJyIp
Owogc2hvdWxkVGhyb3coImNsYXNzIFggeyIsICInU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZW5k
IG9mIHNjcmlwdCciKTsKLXNob3VsZFRocm93KCJjbGFzcyBYIHsgKCB9IiwgIidTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiBcXCcoXFwnLiBFeHBlY3RlZCBhbiBpZGVudGlmaWVyLiciKTsK
K3Nob3VsZFRocm93KCJjbGFzcyBYIHsgKCB9IiwgIidTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiBcXCcoXFwnJyIpOwogc2hvdWxkTm90VGhyb3coImNsYXNzIFgge30iKTsKIAogc2hvdWxk
VGhyb3coImNsYXNzIFggeyBjb25zdHJ1Y3RvcigpIHt9IGNvbnN0cnVjdG9yKCkge30gfSIsICIn
U3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIG11bHRpcGxlIGNvbnN0cnVjdG9ycyBpbiBhIHNp
bmdsZSBjbGFzcy4nIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
Y2xhc3Mtc3ludGF4LWV4cHJlc3Npb24uanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
Y2xhc3Mtc3ludGF4LWV4cHJlc3Npb24uanMKaW5kZXggZGRjMGE2OWNiOTdjYWJiZmM5MjRhMzNl
MTgzMjBmNGRjZWQxYTgwOC4uY2JiOGI5NTUzOWRmNjVkMTMwMDYxZDJjZDAxN2E5NzU4NjM2ODdi
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1l
eHByZXNzaW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50
YXgtZXhwcmVzc2lvbi5qcwpAQCAtMzEsNyArMzEsNyBAQCBzaG91bGRCZSgiQS5wcm90b3R5cGUu
Y29uc3RydWN0b3IiLCAiQSIpOwogCiBzaG91bGRUaHJvdygieCA9IGNsYXNzIiwgIidTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBlbmQgb2Ygc2NyaXB0JyIpOwogc2hvdWxkVGhyb3coInggPSBjbGFz
cyB7IiwgIidTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlbmQgb2Ygc2NyaXB0JyIpOwotc2hvdWxk
VGhyb3coInggPSBjbGFzcyB7ICggfSIsICInU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
XFwnKFxcJy4gRXhwZWN0ZWQgYW4gaWRlbnRpZmllci4nIik7CitzaG91bGRUaHJvdygieCA9IGNs
YXNzIHsgKCB9IiwgIidTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiBcXCcoXFwnJyIpOwog
c2hvdWxkTm90VGhyb3coInggPSBjbGFzcyB7fSIpOwogCiBzaG91bGRUaHJvdygieCA9IGNsYXNz
IHsgY29uc3RydWN0b3IoKSB7fSBjb25zdHJ1Y3RvcigpIHt9IH0iLCAiJ1N5bnRheEVycm9yOiBD
YW5ub3QgZGVjbGFyZSBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMgaW4gYSBzaW5nbGUgY2xhc3MuJyIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1z
dHJpbmctYW5kLW51bWVyaWMtbmFtZXMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
Y2xhc3Mtc3ludGF4LXN0cmluZy1hbmQtbnVtZXJpYy1uYW1lcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmM2
YTRjMzQxNzk1MjRkOWQ2NzIzOGM0ZTc3MzIyMGIxNzhhNTRhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1zdHJpbmctYW5kLW51bWVy
aWMtbmFtZXMuanMKQEAgLTAsMCArMSw1MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIGZvciBzdHJp
bmcgYW5kIG51bWVyaWMgbWV0aG9kIG5hbWVzIGZvciBFUzYgY2xhc3Mgc3ludGF4Jyk7CisKK3No
b3VsZEJlKCJjb25zdHJ1Y3RvckNhbGxDb3VudCA9IDA7IG5ldyAoY2xhc3MgeyBcImNvbnN0cnVj
dG9yXCIoKSB7IGNvbnN0cnVjdG9yQ2FsbENvdW50Kys7IH0gfSk7IGNvbnN0cnVjdG9yQ2FsbENv
dW50IiwgIjEiKTsKK3Nob3VsZEJlKCJjbGFzcyBBIHsgJ2NvbnN0cnVjdG9yJygpIHsgY29uc3Ry
dWN0b3JDYWxsQ291bnQrKzsgfSB9OyBuZXcgQTsgY29uc3RydWN0b3JDYWxsQ291bnQiLCAiMiIp
Oworc2hvdWxkVGhyb3coIm5ldyAoY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHt9IFwiY29uc3RydWN0
b3JcIigpIHt9IH0pOyIsICInU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIG11bHRpcGxlIGNv
bnN0cnVjdG9ycyBpbiBhIHNpbmdsZSBjbGFzcy4nIik7CitzaG91bGRUaHJvdygibmV3IChjbGFz
cyB7IGNvbnN0cnVjdG9yKCkge30gc3RhdGljIFwicHJvdG90eXBlXCIoKSB7fSB9KTsiLCAiJ1N5
bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIHN0YXRpYyBtZXRob2QgbmFtZWQgXFwncHJvdG90
eXBlXFwnLiciKTsKKworc2hvdWxkQmUoImNsYXNzIEEgeyAnZm9vJygpIHsgcmV0dXJuIDM7IH0g
fTsgKG5ldyBBKS5mb28oKSIsICIzIik7CisKK3Nob3VsZEJlKCJjbGFzcyBBIHsgZ2V0ICdmb28n
KCkgeyByZXR1cm4gNDsgfSB9OyAobmV3IEEpLmZvbyIsICI0Iik7CitzaG91bGRCZSgiY2xhc3Mg
QSB7IGdldCAnZm9vJygpIHsgcmV0dXJuIDQ7IH0gfTsgQS5mb28iLCAidW5kZWZpbmVkIik7Citz
aG91bGRCZSgiY2xhc3MgQSB7IHN0YXRpYyBnZXQgJ2ZvbycoKSB7IHJldHVybiA1OyB9IH07IEEu
Zm9vIiwgIjUiKTsKK3Nob3VsZEJlKCJjbGFzcyBBIHsgc3RhdGljIGdldCAnZm9vJygpIHsgcmV0
dXJuIDU7IH0gfTsgKG5ldyBBKS5mb28iLCAidW5kZWZpbmVkIik7CisKK3Nob3VsZEJlKCJmb29W
YWx1ZSA9IDA7IFggPSBjbGFzcyB7IHNldCAnZm9vJyh2YWx1ZSkgeyBmb29WYWx1ZSA9IHZhbHVl
OyB9IH07IChuZXcgWCkuZm9vID0gNjsgZm9vVmFsdWUiLCAiNiIpOworc2hvdWxkQmUoIlguZm9v
ID0gNzsgZm9vVmFsdWUiLCAiNiIpOworc2hvdWxkQmUoImZvb1ZhbHVlID0gMDsgWCA9IGNsYXNz
IHsgc3RhdGljIHNldCAnZm9vJyh2YWx1ZSkgeyBmb29WYWx1ZSA9IHZhbHVlOyB9IH07IFguZm9v
ID0gODsgZm9vVmFsdWUiLCAiOCIpOworc2hvdWxkQmUoIihuZXcgWCkuZm9vID0gNzsgZm9vVmFs
dWUiLCAiOCIpOworCitzaG91bGRCZSgiWCA9IGNsYXNzIHsgZ2V0ICdmb28nKCkgeyByZXR1cm4g
OSB9IHNldCAnZm9vJyh4KSB7IH0gfTsgeCA9IG5ldyBYOyB4LmZvbyIsICI5Iik7CitzaG91bGRC
ZSgiWC5mb28iLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgiZm9vVmFsdWUgPSAwOyBYID0gY2xh
c3MgeyBnZXQgJ2ZvbycoKSB7IH0gc2V0ICdmb28nKHgpIHsgZm9vVmFsdWUgPSB4IH0gfTsgKG5l
dyBYKS5mb28gPSA5OyBmb29WYWx1ZSIsICI5Iik7CitzaG91bGRCZSgiWC5mb28gPSAxMDsgZm9v
VmFsdWUiLCAiOSIpOworCitzaG91bGRCZSgiWCA9IGNsYXNzIHsgc3RhdGljIHNldCAnZm9vJyh4
KSB7IH0gc3RhdGljIGdldCAnZm9vJygpIHsgcmV0dXJuIDEwIH0gfTsgWC5mb28iLCAiMTAiKTsK
K3Nob3VsZEJlKCIobmV3IFgpLmZvbyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJmb29WYWx1
ZSA9IDA7IFggPSBjbGFzcyB7IHN0YXRpYyBzZXQgJ2ZvbycoeCkgeyBmb29WYWx1ZSA9IHggfSBz
dGF0aWMgZ2V0ICdmb28nKCkgeyB9IH07IFguZm9vID0gMTE7IGZvb1ZhbHVlIiwgIjExIik7Citz
aG91bGRCZSgiKG5ldyBYKS5mb28gPSAxMjsgZm9vVmFsdWUiLCAiMTEiKTsKKworCitzaG91bGRC
ZSgiY2xhc3MgQSB7IGdldCAwKCkgeyByZXR1cm4gMjA7IH0gfTsgKG5ldyBBKVswXSIsICIyMCIp
Oworc2hvdWxkQmUoImNsYXNzIEEgeyBnZXQgMCgpIHsgcmV0dXJuIDIwOyB9IH07IEFbMF0iLCAi
dW5kZWZpbmVkIik7CitzaG91bGRCZSgiY2xhc3MgQSB7IHN0YXRpYyBnZXQgMSgpIHsgcmV0dXJu
IDIxOyB9IH07IEFbMV0iLCAiMjEiKTsKK3Nob3VsZEJlKCJjbGFzcyBBIHsgc3RhdGljIGdldCAx
KCkgeyByZXR1cm4gMjE7IH0gfTsgKG5ldyBBKVsxXSIsICJ1bmRlZmluZWQiKTsKKworLy8gRklY
TUU6IFRoaXMgdGVzdCBjYXNlIGZhaWxzIGR1ZSB0byB3ZWJraXQub3JnL2IvMTQ0MjUyLgorc2hv
dWxkQmUoInNldHRlclZhbHVlID0gMDsgWCA9IGNsYXNzIHsgc2V0IDIoeCkgeyBzZXR0ZXJWYWx1
ZSA9IHg7IH0gfTsgKG5ldyBYKVsyXSA9IDIyOyBzZXR0ZXJWYWx1ZSIsICIyMiIpOworc2hvdWxk
QmUoIlhbMl0gPSAyMzsgc2V0dGVyVmFsdWUiLCAiMjIiKTsKKworc2hvdWxkQmUoInNldHRlclZh
bHVlID0gMDsgWCA9IGNsYXNzIHsgc3RhdGljIHNldCAzKHgpIHsgc2V0dGVyVmFsdWUgPSB4OyB9
IH07IFhbM10gPSAyMzsgc2V0dGVyVmFsdWUiLCAiMjMiKTsKK3Nob3VsZEJlKCIobmV3IFgpWzNd
ID0gMjM7IHNldHRlclZhbHVlIiwgIjIzIik7CisKK3Nob3VsZEJlKCJYID0gY2xhc3MgeyBnZXQg
NCgpIHsgcmV0dXJuIDI0IH0gc2V0IDQoeCkgeyB9IH07IHggPSBuZXcgWDsgeFs0XSIsICIyNCIp
Oworc2hvdWxkQmUoIlhbNF0iLCAidW5kZWZpbmVkIik7CisKKy8vIEZJWE1FOiBUaGlzIHRlc3Qg
Y2FzZSBmYWlscyBkdWUgdG8gd2Via2l0Lm9yZy9iLzE0NDI1Mi4KK3Nob3VsZEJlKCJzZXR0ZXJW
YWx1ZSA9IDA7IFggPSBjbGFzcyB7IGdldCA1KCkgeyB9IHNldCA1KHgpIHsgc2V0dGVyVmFsdWUg
PSB4OyB9IH07IChuZXcgWClbNV0gPSAyNTsgc2V0dGVyVmFsdWUiLCAiMjUiKTsKK3Nob3VsZEJl
KCJYWzVdID0gMjY7IHNldHRlclZhbHVlIiwgIjI1Iik7CisKK3Nob3VsZEJlKCJYID0gY2xhc3Mg
eyBzdGF0aWMgc2V0IDYoeCkgeyB9IHN0YXRpYyBnZXQgNigpIHsgcmV0dXJuIDI2IH0gfTsgWFs2
XSIsICIyNiIpOworc2hvdWxkQmUoIihuZXcgWClbNl0iLCAidW5kZWZpbmVkIik7CitzaG91bGRC
ZSgic2V0dGVyVmFsdWUgPSAwOyBYID0gY2xhc3MgeyBzdGF0aWMgc2V0IDcoeCkgeyBzZXR0ZXJW
YWx1ZSA9IHggfSBzdGF0aWMgZ2V0IDcoKSB7IH0gfTsgWFs3XSA9IDI3OyBzZXR0ZXJWYWx1ZSIs
ICIyNyIpOworc2hvdWxkQmUoIihuZXcgWClbN10gPSAyODsgc2V0dGVyVmFsdWUiLCAiMjciKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtc3Vw
ZXIuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LXN1cGVyLmpz
CmluZGV4IDdhNWU5ZmY5ODZmNzgyY2NlYTM1YTk0NzZiOWVmZGJkY2ZjZGMwNGQuLmEzMTg1YWIx
ZGM1MjQ0YWU4ZjgwMGU1OGIyYzljZjBlZGNjM2EyMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtc3VwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1zdXBlci5qcwpAQCAtMzcsNyArMzcsNyBAQCBz
aG91bGRCZSgnKG5ldyBEZXJpdmVkKS5iYXNlTWV0aG9kSW5HZXR0ZXJTZXR0ZXInLCAnKG5ldyBC
YXNlKS5iYXNlTWV0aG9kJyk7CiBzaG91bGRCZSgnKG5ldyBEZXJpdmVkKS5iYXNlTWV0aG9kSW5H
ZXR0ZXJTZXR0ZXIgPSAxOyB2YWx1ZUluU2V0dGVyJywgJyhuZXcgQmFzZSkuYmFzZU1ldGhvZCcp
Owogc2hvdWxkQmUoJ0Rlcml2ZWQuc3RhdGljTWV0aG9kKCknLCAnImJhc2UzIicpOwogc2hvdWxk
QmUoJyhuZXcgU2Vjb25kRGVyaXZlZCkuY2hhaW5NZXRob2QoKScsICdbImJhc2UiLCAiZGVyaXZl
ZCIsICJzZWNvbmREZXJpdmVkIl0nKTsKLXNob3VsZFRocm93KCd4ID0gY2xhc3MgZXh0ZW5kcyBC
YXNlIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IH0gc3VwZXIoKSB7fSB9JywgJyJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBrZXl3b3JkIFwnc3VwZXJcJy4gRXhwZWN0ZWQgYW4gaWRlbnRpZmll
ci4iJyk7CitzaG91bGRUaHJvdygneCA9IGNsYXNzIGV4dGVuZHMgQmFzZSB7IGNvbnN0cnVjdG9y
KCkgeyBzdXBlcigpOyB9IHN1cGVyKCkge30gfScsICciU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
a2V5d29yZCBcJ3N1cGVyXCciJyk7CiBzaG91bGRUaHJvdygneCA9IGNsYXNzIGV4dGVuZHMgQmFz
ZSB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9IG1ldGhvZCgpIHsgc3VwZXIoKSB9IH0nLAog
ICAgICciU3ludGF4RXJyb3I6IENhbm5vdCBjYWxsIHN1cGVyKCkgb3V0c2lkZSBvZiBhIGNsYXNz
IGNvbnN0cnVjdG9yLiInKTsKIHNob3VsZFRocm93KCd4ID0gY2xhc3MgZXh0ZW5kcyBCYXNlIHsg
Y29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IH0gbWV0aG9kKCkgeyBzdXBlciB9IH0nLCAnIlN5bnRh
eEVycm9yOiBDYW5ub3QgcmVmZXJlbmNlIHN1cGVyLiInKTsK
</data>
<flag name="review"
          id="276520"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>