<?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>148359</bug_id>
          
          <creation_ts>2015-08-22 07:42:16 -0700</creation_ts>
          <short_desc>[JSC] Static hash tables should be 100% compile-time constant.</short_desc>
          <delta_ts>2015-08-22 11:06: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>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>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120112</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-08-22 07:42:16 -0700</bug_when>
    <thetext>Wouldn&apos;t it be cool if all those generated JSC::HashTable objects would live in __DATA __const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120113</commentid>
    <comment_count>1</comment_count>
      <attachid>259722</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-08-22 07:45:33 -0700</bug_when>
    <thetext>Created attachment 259722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120118</commentid>
    <comment_count>2</comment_count>
      <attachid>259722</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-08-22 09:52:01 -0700</bug_when>
    <thetext>Comment on attachment 259722
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120120</commentid>
    <comment_count>3</comment_count>
      <attachid>259722</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-22 11:06:02 -0700</bug_when>
    <thetext>Comment on attachment 259722
Patch

Clearing flags on attachment: 259722

Committed r188824: &lt;http://trac.webkit.org/changeset/188824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120121</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-22 11:06:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259722</attachid>
            <date>2015-08-22 07:45:33 -0700</date>
            <delta_ts>2015-08-22 11:06:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148359.diff</filename>
            <type>text/plain</type>
            <size>24019</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGExNWI0ZWIuLmNjNzA0MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE1LTA4LTIyICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTdGF0aWMgaGFzaCB0YWJsZXMg
c2hvdWxkIGJlIDEwMCUgY29tcGlsZS10aW1lIGNvbnN0YW50LgorICAgICAgICA8aHR0cHM6Ly93
ZWJraXQub3JnL2IvMTQ4MzU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlIHdlcmUgZGlydHlpbmcgdGhlIG1lbW9yeSBwYWdlcyBjb250YWluaW5n
IHN0YXRpYyBoYXNoIHRhYmxlcyB0aGUKKyAgICAgICAgZmlyc3QgdGltZSB0aGV5IHdlcmUgdXNl
ZCwgd2hlbiBhIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbmRleC10by1rZXkKKyAgICAgICAgdGFi
bGUgd2FzIGJ1aWx0IGFuZCBjYWNoZWQgaW4gdGhlIEhhc2hUYWJsZSBzdHJ1Y3QuCisKKyAgICAg
ICAgSXQgdHVybnMgb3V0IHRoYXQgdGhpcyAib3B0aW1pemF0aW9uIiB3YXMgY29tcGxldGVseSB1
c2VsZXNzLCBzaW5jZQorICAgICAgICB3ZSd2ZSBsb25nIHNpbmNlIGRlY291cGxlZCBzdGF0aWMg
aGFzaCB0YWJsZXMgZnJvbSB0aGUgSlNDOjpWTSBhbmQKKyAgICAgICAgd2UgY2FuIGdldCB0aGUg
a2V5IGZvciBhbiBpbmRleCB2aWEgSGFzaFRhYmxlOjp2YWx1ZXNbaW5kZXhdLm1fa2V5IQorCisg
ICAgICAgIFdlIGFsc28gZ2V0IHJpZCBvZiBWTTo6a2V5d29yZHMgd2hpY2ggd2FzIGEgbGl0dGxl
IHdyYXBwZXIgYXJvdW5kCisgICAgICAgIGEgVk0tc3BlY2lmaWMgY29weSBvZiBKU0M6Om1haW5U
YWJsZS4gVGhlcmUgd2FzIG5vdGhpbmcgVk0tc3BlY2lmaWMKKyAgICAgICAgYWJvdXQgaXQgYXQg
YWxsLCBzbyBjbGllbnRzIG5vdyB1c2UgSlNDOjptYWluVGFibGUgZGlyZWN0bHkuCisKKyAgICAg
ICAgQWZ0ZXIgdGhpcyBjaGFuZ2UgYWxsIGZvb0hhc2hUYWJsZSBzdHJ1Y3RzIGVuZCB1cCBpbiBf
X0RBVEEgX19jb25zdAorICAgICAgICBhbmQgbm8gcnVudGltZSBpbml0aWFsaXphdGlvbi9hbGxv
Y2F0aW9uIHRha2VzIHBsYWNlLgorCisgICAgICAgICogY3JlYXRlX2hhc2hfdGFibGU6CisgICAg
ICAgICoganNjLmNwcDoKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlND
Ojppc0xleGVyS2V5d29yZCk6CisgICAgICAgIChKU0M6OkxleGVyPExDaGFyPjo6cGFyc2VJZGVu
dGlmaWVyKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VUNoYXI+OjpwYXJzZUlkZW50aWZpZXIpOgor
ICAgICAgICAoSlNDOjpMZXhlcjxDaGFyYWN0ZXJUeXBlPjo6cGFyc2VJZGVudGlmaWVyU2xvd0Nh
c2UpOgorICAgICAgICAoSlNDOjpLZXl3b3Jkczo6S2V5d29yZHMpOiBEZWxldGVkLgorICAgICAg
ICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpLZXl3b3Jkczo6aXNLZXl3b3JkKTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6S2V5d29yZHM6OmdldEtleXdvcmQpOiBEZWxldGVkLgor
ICAgICAgICAoSlNDOjpLZXl3b3Jkczo6fktleXdvcmRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpMaXRlcmFsUGFyc2VyPENo
YXJUeXBlPjo6dHJ5SlNPTlBQYXJzZSk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuY3BwOgor
ICAgICAgICAoSlNDOjpIYXNoVGFibGU6OmNyZWF0ZVRhYmxlKTogRGVsZXRlZC4KKyAgICAgICAg
KEpTQzo6SGFzaFRhYmxlOjpkZWxldGVUYWJsZSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGlt
ZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRhYmxlOjplbnRyeSk6CisgICAgICAgIChK
U0M6Okhhc2hUYWJsZTo6Q29uc3RJdGVyYXRvcjo6a2V5KToKKyAgICAgICAgKEpTQzo6SGFzaFRh
YmxlOjpDb25zdEl0ZXJhdG9yOjpza2lwSW52YWxpZEtleXMpOgorICAgICAgICAoSlNDOjpIYXNo
VGFibGU6OmNvcHkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpIYXNoVGFibGU6OmluaXRpYWxp
emVJZk5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Okhhc2hUYWJsZTo6YmVnaW4pOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpIYXNoVGFibGU6OmVuZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6IERlbGV0ZWQuCisgICAg
ICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3BwOgorCiAyMDE1LTA4
LTIxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTg4NzkyIGFuZCByMTg4ODAzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9oYXNoX3RhYmxlIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2NyZWF0ZV9oYXNoX3RhYmxlCmluZGV4IGIyNmVlZDAuLjNlZWQzNzcgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfaGFzaF90YWJsZQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvY3JlYXRlX2hhc2hfdGFibGUKQEAgLTMzMCw3ICszMzAsNyBAQCBzdWIg
b3V0cHV0KCkgewogICAgICAgICAkaSsrOwogICAgIH0KICAgICBwcmludCAifTtcblxuIjsKLSAg
ICBwcmludCAiSlNfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIGNvbnN0IHN0cnVjdCBIYXNoVGFibGUg
JG5hbWUgPVxuIjsKLSAgICBwcmludCAiICAgIFx7ICRwYWNrZWRTaXplLCAkY29tcGFjdEhhc2hT
aXplTWFzaywgJGhhc1NldHRlciwgJG5hbWVFbnRyaWVzLCAwLCAkbmFtZUluZGV4IFx9O1xuIjsK
KyAgICBwcmludCAic3RhdGljIGNvbnN0IHN0cnVjdCBIYXNoVGFibGUgJG5hbWUgPVxuIjsKKyAg
ICBwcmludCAiICAgIFx7ICRwYWNrZWRTaXplLCAkY29tcGFjdEhhc2hTaXplTWFzaywgJGhhc1Nl
dHRlciwgJG5hbWVFbnRyaWVzLCAkbmFtZUluZGV4IFx9O1xuIjsKICAgICBwcmludCAifSAvLyBu
YW1lc3BhY2VcbiI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IDkxODMxNmQuLjI3ZTUxMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xMDMsMTAgKzEwMyw2IEBACiB1c2luZyBuYW1lc3Bh
Y2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIFdURjsKIAotbmFtZXNwYWNlIEpTQyB7Ci1XVEZfSU1Q
T1JUIGV4dGVybiBjb25zdCBzdHJ1Y3QgSGFzaFRhYmxlIGdsb2JhbE9iamVjdFRhYmxlOwotfQot
CiBuYW1lc3BhY2UgewogCiBOT19SRVRVUk5fV0lUSF9WQUxVRSBzdGF0aWMgdm9pZCBqc2NFeGl0
KGludCBzdGF0dXMpCkBAIC03MjAsNyArNzE2LDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIH07CiAK
LWNvbnN0IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgImdsb2JhbCIsICZKU0ds
b2JhbE9iamVjdDo6c19pbmZvLCAmZ2xvYmFsT2JqZWN0VGFibGUsIENSRUFURV9NRVRIT0RfVEFC
TEUoR2xvYmFsT2JqZWN0KSB9OworY29uc3QgQ2xhc3NJbmZvIEdsb2JhbE9iamVjdDo6c19pbmZv
ID0geyAiZ2xvYmFsIiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoR2xvYmFsT2JqZWN0KSB9OwogY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUgR2xvYmFsT2JqZWN0OjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmYWxsb3dzQWNj
ZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmlsaW5nLCAmc3VwcG9ydHNSaWNoU291cmNlSW5mbywgJnNo
b3VsZEludGVycnVwdFNjcmlwdCwgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIDAsICZzaG91bGRJ
bnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LCBudWxscHRyLCAmbW9kdWxlTG9hZGVyRmV0Y2gs
IG51bGxwdHIsIG51bGxwdHIgfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwCmluZGV4IDQ3NjA0M2YuLmYxZmQ1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwCkBAIC00NCwxMCArNDQsOSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotS2V5d29y
ZHM6OktleXdvcmRzKFZNJiB2bSkKLSAgICA6IG1fdm0odm0pCi0gICAgLCBtX2tleXdvcmRUYWJs
ZShKU0M6Om1haW5UYWJsZSkKK2Jvb2wgaXNMZXhlcktleXdvcmQoY29uc3QgSWRlbnRpZmllciYg
aWRlbnRpZmllcikKIHsKKyAgICByZXR1cm4gSlNDOjptYWluVGFibGUuZW50cnkoaWRlbnRpZmll
cik7CiB9CiAKIGVudW0gQ2hhcmFjdGVyVHlwZSB7CkBAIC05NDgsNyArOTQ3LDcgQEAgdGVtcGxh
dGUgPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBKU1Rva2VuVHlw
ZSBMZXhlcjxMQ2hhcj46OnAKICAgICBpZiAoVU5MSUtFTFkoKHJlbWFpbmluZyA8IG1heFRva2Vu
TGVuZ3RoKSAmJiAhKGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcykp
ICYmICFpc1ByaXZhdGVOYW1lKSB7CiAgICAgICAgIEFTU0VSVChzaG91bGRDcmVhdGVJZGVudGlm
aWVyKTsKICAgICAgICAgaWYgKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSB7Ci0gICAgICAg
ICAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBtX3ZtLT5rZXl3b3Jkcy0+Z2V0S2V5
d29yZCgqaWRlbnQpOworICAgICAgICAgICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0g
SlNDOjptYWluVGFibGUuZW50cnkoKmlkZW50KTsKICAgICAgICAgICAgIEFTU0VSVCgocmVtYWlu
aW5nIDwgbWF4VG9rZW5MZW5ndGgpIHx8ICFlbnRyeSk7CiAgICAgICAgICAgICBpZiAoIWVudHJ5
KQogICAgICAgICAgICAgICAgIHJldHVybiBJREVOVDsKQEAgLTEwMjUsNyArMTAyNCw3IEBAIHRl
bXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZpZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tl
blR5cGUgTGV4ZXI8VUNoYXI+OjpwCiAgICAgaWYgKFVOTElLRUxZKChyZW1haW5pbmcgPCBtYXhU
b2tlbkxlbmd0aCkgJiYgIShsZXhlckZsYWdzICYgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29y
ZHMpKSAmJiAhaXNQcml2YXRlTmFtZSkgewogICAgICAgICBBU1NFUlQoc2hvdWxkQ3JlYXRlSWRl
bnRpZmllcik7CiAgICAgICAgIGlmIChyZW1haW5pbmcgPCBtYXhUb2tlbkxlbmd0aCkgewotICAg
ICAgICAgICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0gbV92bS0+a2V5d29yZHMtPmdl
dEtleXdvcmQoKmlkZW50KTsKKyAgICAgICAgICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRy
eSA9IEpTQzo6bWFpblRhYmxlLmVudHJ5KCppZGVudCk7CiAgICAgICAgICAgICBBU1NFUlQoKHJl
bWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSB8fCAhZW50cnkpOwogICAgICAgICAgICAgaWYgKCFl
bnRyeSkKICAgICAgICAgICAgICAgICByZXR1cm4gSURFTlQ7CkBAIC0xMDg5LDcgKzEwODgsNyBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiB0ZW1wbGF0ZTxib29sIHNob3VsZENy
ZWF0ZUlkZW50aWZpZXI+IEpTVG9rZW5UeQogCiAgICAgaWYgKExJS0VMWSghKGxleGVyRmxhZ3Mg
JiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcykpKSB7CiAgICAgICAgIEFTU0VSVChzaG91
bGRDcmVhdGVJZGVudGlmaWVyKTsKLSAgICAgICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5
ID0gbV92bS0+a2V5d29yZHMtPmdldEtleXdvcmQoKmlkZW50KTsKKyAgICAgICAgY29uc3QgSGFz
aFRhYmxlVmFsdWUqIGVudHJ5ID0gSlNDOjptYWluVGFibGUuZW50cnkoKmlkZW50KTsKICAgICAg
ICAgaWYgKCFlbnRyeSkKICAgICAgICAgICAgIHJldHVybiBJREVOVDsKICAgICAgICAgSlNUb2tl
blR5cGUgdG9rZW4gPSBzdGF0aWNfY2FzdDxKU1Rva2VuVHlwZT4oZW50cnktPmxleGVyVmFsdWUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggM2U2YTBjYi4uZTVmNTZj
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzMsMzMgKzMzLDYgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEtleXdvcmRzIHsKLSAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBib29sIGlzS2V5d29yZChjb25zdCBJZGVudGlmaWVy
JiBpZGVudCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2tleXdvcmRUYWJsZS5lbnRy
eShpZGVudCk7Ci0gICAgfQotICAgIAotICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBnZXRLZXl3
b3JkKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJu
IG1fa2V5d29yZFRhYmxlLmVudHJ5KGlkZW50KTsKLSAgICB9Ci0KLSAgICBleHBsaWNpdCBLZXl3
b3JkcyhWTSYpOwotCi0gICAgfktleXdvcmRzKCkKLSAgICB7Ci0gICAgICAgIG1fa2V5d29yZFRh
YmxlLmRlbGV0ZVRhYmxlKCk7Ci0gICAgfQotICAgIAotcHJpdmF0ZToKLSAgICBmcmllbmQgY2xh
c3MgVk07Ci0gICAgCi0gICAgVk0mIG1fdm07Ci0gICAgY29uc3QgSGFzaFRhYmxlIG1fa2V5d29y
ZFRhYmxlOwotfTsKLQogZW51bSBMZXhlckZsYWdzIHsKICAgICBMZXhlckZsYWdzSWdub3JlUmVz
ZXJ2ZWRXb3JkcyA9IDEsIAogICAgIExleGVyRmxhZ3NEb250QnVpbGRTdHJpbmdzID0gMiwKQEAg
LTY4LDYgKzQxLDggQEAgZW51bSBMZXhlckZsYWdzIHsKIAogc3RydWN0IFBhcnNlZFVuaWNvZGVF
c2NhcGVWYWx1ZTsKIAorYm9vbCBpc0xleGVyS2V5d29yZChjb25zdCBJZGVudGlmaWVyJik7CisK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogY2xhc3MgTGV4ZXIgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExleGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0xpdGVyYWxQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJh
bFBhcnNlci5jcHAKaW5kZXggZTdiZjlkYi4uM2FlZDEwZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKQEAgLTcwLDcgKzcwLDcgQEAgYm9v
bCBMaXRlcmFsUGFyc2VyPENoYXJUeXBlPjo6dHJ5SlNPTlBQYXJzZShWZWN0b3I8SlNPTlBEYXRh
PiYgcmVzdWx0cywgYm9vbCBuZWUKICAgICAgICAgICAgIGVudHJ5Lm1fcGF0aEVudHJ5TmFtZSA9
IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJm1fZXhlYy0+dm0oKSwgbV9sZXhlci5jdXJyZW50VG9r
ZW4oKS5zdGFydCwgbV9sZXhlci5jdXJyZW50VG9rZW4oKS5lbmQgLSBtX2xleGVyLmN1cnJlbnRU
b2tlbigpLnN0YXJ0KTsKICAgICAgICAgICAgIHBhdGguYXBwZW5kKGVudHJ5KTsKICAgICAgICAg
fQotICAgICAgICBpZiAobV9leGVjLT52bSgpLmtleXdvcmRzLT5pc0tleXdvcmQoZW50cnkubV9w
YXRoRW50cnlOYW1lKSkKKyAgICAgICAgaWYgKGlzTGV4ZXJLZXl3b3JkKGVudHJ5Lm1fcGF0aEVu
dHJ5TmFtZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIFRva2VuVHlwZSB0
b2tlblR5cGUgPSBtX2xleGVyLm5leHQoKTsKICAgICAgICAgaWYgKGVudHJ5Lm1fdHlwZSA9PSBK
U09OUFBhdGhFbnRyeVR5cGVEZWNsYXJlICYmIHRva2VuVHlwZSAhPSBUb2tBc3NpZ24pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmNwcAppbmRleCA5NTBmMTM1Li43ZGYxNWI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5jcHAKQEAgLTI3LDI3ICsy
Nyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi12b2lkIEhhc2hUYWJsZTo6Y3JlYXRlVGFibGUo
KSBjb25zdAotewotICAgIEFTU0VSVCgha2V5cyk7Ci0gICAga2V5cyA9IHN0YXRpY19jYXN0PGNv
bnN0IGNoYXIqKj4oZmFzdE1hbGxvYyhzaXplb2YoY2hhciopICogbnVtYmVyT2ZWYWx1ZXMpKTsK
LQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZWYWx1ZXM7ICsraSkgewotICAgICAg
ICBpZiAodmFsdWVzW2ldLm1fa2V5KQotICAgICAgICAgICAga2V5c1tpXSA9IHZhbHVlc1tpXS5t
X2tleTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAga2V5c1tpXSA9IDA7Ci0gICAgfQotfQot
Ci12b2lkIEhhc2hUYWJsZTo6ZGVsZXRlVGFibGUoKSBjb25zdAotewotICAgIGlmIChrZXlzKSB7
Ci0gICAgICAgIGZhc3RGcmVlKGtleXMpOwotICAgICAgICBrZXlzID0gbnVsbHB0cjsKLSAgICB9
Ci19Ci0KIHZvaWQgcmVpZnlTdGF0aWNBY2Nlc3NvcihWTSYgdm0sIGNvbnN0IEhhc2hUYWJsZVZh
bHVlJiB2YWx1ZSwgSlNPYmplY3QmIHRoaXNPYmosIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
CiB7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXNPYmouZ2xvYmFsT2Jq
ZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCmluZGV4IDRjODZjY2Qu
LmE2ZWRiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC03Miwz
NCArNzIsMTYgQEAgc3RydWN0IEhhc2hUYWJsZVZhbHVlIHsKIH07CiAKIHN0cnVjdCBIYXNoVGFi
bGUgewotICAgIG11dGFibGUgaW50IG51bWJlck9mVmFsdWVzOworICAgIGludCBudW1iZXJPZlZh
bHVlczsKICAgICBpbnQgaW5kZXhNYXNrOwogICAgIGJvb2wgaGFzU2V0dGVyT3JSZWFkb25seVBy
b3BlcnRpZXM7CiAKICAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogdmFsdWVzOyAvLyBGaXhlZCB2
YWx1ZXMgZ2VuZXJhdGVkIGJ5IHNjcmlwdC4KLSAgICBtdXRhYmxlIGNvbnN0IGNoYXIqKiBrZXlz
OyAvLyBUYWJsZSBhbGxvY2F0ZWQgYXQgcnVudGltZS4KICAgICBjb25zdCBDb21wYWN0SGFzaElu
ZGV4KiBpbmRleDsKIAotICAgIEFMV0FZU19JTkxJTkUgSGFzaFRhYmxlIGNvcHkoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgLy8gRG9uJ3QgY29weSBkeW5hbWljIHRhYmxlIHNpbmNlIGl0J3MgdGhy
ZWFkIHNwZWNpZmljLgotICAgICAgICBIYXNoVGFibGUgcmVzdWx0ID0geyBudW1iZXJPZlZhbHVl
cywgaW5kZXhNYXNrLCBoYXNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGllcywgdmFsdWVzLCAwLCBp
bmRleCB9OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLQotICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBpbml0aWFsaXplSWZOZWVkZWQoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKCFr
ZXlzKQotICAgICAgICAgICAgY3JlYXRlVGFibGUoKTsKLSAgICB9Ci0KLSAgICBKU19FWFBPUlRf
UFJJVkFURSB2b2lkIGRlbGV0ZVRhYmxlKCkgY29uc3Q7Ci0KICAgICAvLyBGaW5kIGFuIGVudHJ5
IGluIHRoZSB0YWJsZSwgYW5kIHJldHVybiB0aGUgZW50cnkuCiAgICAgQUxXQVlTX0lOTElORSBj
b25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkoUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29u
c3QKICAgICB7Ci0gICAgICAgIGluaXRpYWxpemVJZk5lZWRlZCgpOwotCiAgICAgICAgIGlmIChw
cm9wZXJ0eU5hbWUuaXNTeW1ib2woKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBA
IC0xMDcsMTUgKzg5LDEzIEBAIHN0cnVjdCBIYXNoVGFibGUgewogICAgICAgICBpZiAoIXVpZCkK
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIEFTU0VSVChrZXlzKTsKLQog
ICAgICAgICBpbnQgaW5kZXhFbnRyeSA9IElkZW50aWZpZXJSZXBIYXNoOjpoYXNoKHVpZCkgJiBp
bmRleE1hc2s7CiAgICAgICAgIGludCB2YWx1ZUluZGV4ID0gaW5kZXhbaW5kZXhFbnRyeV0udmFs
dWU7CiAgICAgICAgIGlmICh2YWx1ZUluZGV4ID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgIGlmIChXVEY6OmVx
dWFsKHVpZCwga2V5c1t2YWx1ZUluZGV4XSkpCisgICAgICAgICAgICBpZiAoV1RGOjplcXVhbCh1
aWQsIHZhbHVlc1t2YWx1ZUluZGV4XS5tX2tleSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuICZ2
YWx1ZXNbdmFsdWVJbmRleF07CiAKICAgICAgICAgICAgIGluZGV4RW50cnkgPSBpbmRleFtpbmRl
eEVudHJ5XS5uZXh0OwpAQCAtMTQyLDcgKzEyMiw3IEBAIHN0cnVjdCBIYXNoVGFibGUgewogCiAg
ICAgICAgIGNvbnN0IGNoYXIqIGtleSgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBt
X3RhYmxlLT5rZXlzW21fcG9zaXRpb25dOworICAgICAgICAgICAgcmV0dXJuIG1fdGFibGUtPnZh
bHVlc1ttX3Bvc2l0aW9uXS5tX2tleTsKICAgICAgICAgfQogCiAgICAgICAgIGNvbnN0IEhhc2hU
YWJsZVZhbHVlKiBvcGVyYXRvci0+KCkKQEAgLTE2OCw3ICsxNDgsNyBAQCBzdHJ1Y3QgSGFzaFRh
YmxlIHsKICAgICAgICAgdm9pZCBza2lwSW52YWxpZEtleXMoKQogICAgICAgICB7CiAgICAgICAg
ICAgICBBU1NFUlQobV9wb3NpdGlvbiA8PSBtX3RhYmxlLT5udW1iZXJPZlZhbHVlcyk7Ci0gICAg
ICAgICAgICB3aGlsZSAobV9wb3NpdGlvbiA8IG1fdGFibGUtPm51bWJlck9mVmFsdWVzICYmICFt
X3RhYmxlLT5rZXlzW21fcG9zaXRpb25dKQorICAgICAgICAgICAgd2hpbGUgKG1fcG9zaXRpb24g
PCBtX3RhYmxlLT5udW1iZXJPZlZhbHVlcyAmJiAhbV90YWJsZS0+dmFsdWVzW21fcG9zaXRpb25d
Lm1fa2V5KQogICAgICAgICAgICAgICAgICsrbV9wb3NpdGlvbjsKICAgICAgICAgICAgIEFTU0VS
VChtX3Bvc2l0aW9uIDw9IG1fdGFibGUtPm51bWJlck9mVmFsdWVzKTsKICAgICAgICAgfQpAQCAt
MTc5LDE4ICsxNTksMTIgQEAgc3RydWN0IEhhc2hUYWJsZSB7CiAKICAgICBDb25zdEl0ZXJhdG9y
IGJlZ2luKCkgY29uc3QKICAgICB7Ci0gICAgICAgIGluaXRpYWxpemVJZk5lZWRlZCgpOwogICAg
ICAgICByZXR1cm4gQ29uc3RJdGVyYXRvcih0aGlzLCAwKTsKICAgICB9CiAgICAgQ29uc3RJdGVy
YXRvciBlbmQoKSBjb25zdAogICAgIHsKLSAgICAgICAgaW5pdGlhbGl6ZUlmTmVlZGVkKCk7CiAg
ICAgICAgIHJldHVybiBDb25zdEl0ZXJhdG9yKHRoaXMsIG51bWJlck9mVmFsdWVzKTsKICAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgLy8gQ29udmVydCB0aGUgaGFzaCB0YWJsZSBrZXlzIHRvIGlkZW50
aWZpZXJzLgotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgY3JlYXRlVGFibGUoKSBjb25zdDsK
IH07CiAKIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgc2V0VXBTdGF0aWNGdW5jdGlvblNsb3QoRXhl
Y1N0YXRlKiwgY29uc3QgSGFzaFRhYmxlVmFsdWUqLCBKU09iamVjdCogdGhpc09iamVjdCwgUHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAppbmRleCA3MjcyOTAwLi4zZDRhNDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCkBAIC0xNTQsNyArMTU0LDYgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhl
YXBUeXBlKQogICAgICwgZW1wdHlMaXN0KG5ldyBNYXJrZWRBcmd1bWVudEJ1ZmZlcikKICAgICAs
IHN0cmluZ0NhY2hlKCp0aGlzKQogICAgICwgcHJvdG90eXBlTWFwKCp0aGlzKQotICAgICwga2V5
d29yZHMoc3RkOjptYWtlX3VuaXF1ZTxLZXl3b3Jkcz4oKnRoaXMpKQogICAgICwgaW50ZXJwcmV0
ZXIoMCkKICAgICAsIGpzQXJyYXlDbGFzc0luZm8oSlNBcnJheTo6aW5mbygpKQogICAgICwganNG
aW5hbE9iamVjdENsYXNzSW5mbyhKU0ZpbmFsT2JqZWN0OjppbmZvKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaAppbmRleCBlMjM0YzI3Li5lODdlZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmgKQEAgLTg2LDcgKzg2LDYgQEAgY2xhc3MgSWRlbnRpZmllcjsKIGNsYXNzIElu
dGVycHJldGVyOwogY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBjbGFzcyBKU09iamVjdDsKLWNsYXNz
IEtleXdvcmRzOwogY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogY2xhc3MgTGVnYWN5UHJv
ZmlsZXI7CiBjbGFzcyBOYXRpdmVFeGVjdXRhYmxlOwpAQCAtMzQ5LDcgKzM0OCw2IEBAIHB1Ymxp
YzoKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U291cmNlUHJvdmlkZXI+LCBSZWZQdHI8
U291cmNlUHJvdmlkZXJDYWNoZT4+IFNvdXJjZVByb3ZpZGVyQ2FjaGVNYXA7CiAgICAgU291cmNl
UHJvdmlkZXJDYWNoZU1hcCBzb3VyY2VQcm92aWRlckNhY2hlTWFwOwotICAgIHN0ZDo6dW5pcXVl
X3B0cjxLZXl3b3Jkcz4ga2V5d29yZHM7CiAgICAgSW50ZXJwcmV0ZXIqIGludGVycHJldGVyOwog
I2lmIEVOQUJMRShKSVQpCiAgICAgc3RkOjp1bmlxdWVfcHRyPEpJVFRodW5rcz4gaml0U3R1YnM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKaW5kZXggZDE5NDE1OS4uZWFkM2YyOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcApAQCAtNDUsMTAgKzQ1LDYgQEAKICNp
bmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotbmFtZXNwYWNlIEpTQyB7Ci1XVEZfSU1QT1JU
IGV4dGVybiBjb25zdCBzdHJ1Y3QgSGFzaFRhYmxlIGdsb2JhbE9iamVjdFRhYmxlOwotfQotCiBj
b25zdCBpbnQgTWF4TGluZUxlbmd0aCA9IDEwMCAqIDEwMjQ7CiAKIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CkBAIC0xMzcsNyArMTMzLDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIH07CiAKLWNvbnN0IENs
YXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgImdsb2JhbCIsICZKU0dsb2JhbE9iamVj
dDo6c19pbmZvLCAmZ2xvYmFsT2JqZWN0VGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoR2xvYmFs
T2JqZWN0KSB9OworY29uc3QgQ2xhc3NJbmZvIEdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiZ2xv
YmFsIiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoR2xvYmFsT2JqZWN0KSB9OwogCiBHbG9iYWxPYmplY3Q6Okdsb2JhbE9iamVjdChWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYXJndW1lbnRzKQog
ICAgIDogSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyOWUxZDRj
Li4yMDkzYTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMDgtMjIgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIFN0YXRpYyBoYXNo
IHRhYmxlcyBzaG91bGQgYmUgMTAwJSBjb21waWxlLXRpbWUgY29uc3RhbnQuCisgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNDgzNTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0IFdlYkNvcmUgYmluZGluZ3MgZ2VuZXJhdG9yIGZv
ciBuZXcgSlNDOjpIYXNoVGFibGUgbGF5b3V0CisgICAgICAgIGFuZCByZWJhc2VsaW5lIHRoZSBi
aW5kaW5ncyB0ZXN0cyBmb3IgdGhhdCBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSGFzaFRhYmxlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dFRhcmdldC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4
Y2VwdGlvbi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRl
QnVpbHRpbnMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RU
eXBlZGVmcy5jcHA6CisKIDIwMTUtMDgtMjIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIERlY29kZSBkYXRhIFVSTHMgaW4gd2ViIHByb2Nlc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
NGUzZmFlOS4uYmI0ZmUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTQyMjgsNyArNDIyOCw3IEBAIHN1YiBHZW5lcmF0
ZUhhc2hUYWJsZQogICAgIG15ICRwYWNrZWRTaXplID0gc2NhbGFyIEB7JGtleXN9OwogCiAgICAg
bXkgJGNvbXBhY3RTaXplTWFzayA9ICRudW1FbnRyaWVzIC0gMTsKLSAgICBwdXNoKEBpbXBsQ29u
dGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUgJG5hbWUgPSB7ICRwYWNrZWRTaXplLCAkY29t
cGFjdFNpemVNYXNrLCAkaGFzU2V0dGVyLCAkbmFtZUVudHJpZXMsIDAsICRuYW1lSW5kZXggfTtc
biIpOworICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IEhhc2hUYWJsZSAkbmFt
ZSA9IHsgJHBhY2tlZFNpemUsICRjb21wYWN0U2l6ZU1hc2ssICRoYXNTZXR0ZXIsICRuYW1lRW50
cmllcywgJG5hbWVJbmRleCB9O1xuIik7CiB9CiAKIHN1YiBXcml0ZURhdGEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01P
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggNjVlZGM1Mi4uMzQ1ZGQxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlVmFsdWUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXNbXSA9CiAgICAg
eyAiZXhjaXRpbmdBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3Is
IE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCiB9OwogCi1zdGF0
aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlID0geyAyLCAzLCB0
cnVlLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZVZhbHVlcywgMCwgSlNUZXN0QWN0aXZlRE9N
T2JqZWN0VGFibGVJbmRleCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RBY3RpdmVE
T01PYmplY3RUYWJsZSA9IHsgMiwgMywgdHJ1ZSwgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVW
YWx1ZXMsIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlSW5kZXggfTsKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEFjdGl2
ZURPTU9iamVjdENvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0QWN0aXZl
RE9NT2JqZWN0Q29uc3RydWN0b3I6OkpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggZWRlMDQzZC4uZjA4N2RkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC05OSw3ICs5OSw3IEBA
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RDdXN0b21OYW1lZEdldHRlclRhYmxl
VmFsdWVzW10gPQogICAgIHsgImNvbnN0cnVjdG9yIiwgRG9udEVudW0gfCBSZWFkT25seSwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCiB9OwogCi1zdGF0aWMg
Y29uc3QgSGFzaFRhYmxlIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyVGFibGUgPSB7IDEsIDEsIHRy
dWUsIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyVGFibGVWYWx1ZXMsIDAsIEpTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyVGFibGVJbmRleCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RDdXN0
b21OYW1lZEdldHRlclRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1Rlc3RDdXN0b21OYW1lZEdldHRl
clRhYmxlVmFsdWVzLCBKU1Rlc3RDdXN0b21OYW1lZEdldHRlclRhYmxlSW5kZXggfTsKIGNvbnN0
IENsYXNzSW5mbyBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7
ICJUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3RvcikgfTsK
IAogSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXJDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IGE4MzRkNTMuLjM3
ZDMyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIHN0
YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFdmVudFRhcmdldFRhYmxlVmFsdWVzW10g
PQogICAgIHsgImNvbnN0cnVjdG9yIiwgRG9udEVudW0gfCBSZWFkT25seSwgTm9JbnRyaW5zaWMs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
RXZlbnRUYXJnZXRDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxl
IEpTVGVzdEV2ZW50VGFyZ2V0VGFibGUgPSB7IDEsIDEsIHRydWUsIEpTVGVzdEV2ZW50VGFyZ2V0
VGFibGVWYWx1ZXMsIDAsIEpTVGVzdEV2ZW50VGFyZ2V0VGFibGVJbmRleCB9Oworc3RhdGljIGNv
bnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVudFRhcmdldFRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1Rl
c3RFdmVudFRhcmdldFRhYmxlVmFsdWVzLCBKU1Rlc3RFdmVudFRhcmdldFRhYmxlSW5kZXggfTsK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7
ICJUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0RXZl
bnRUYXJnZXRDb25zdHJ1Y3Rvcjo6SlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcihTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4
Y2VwdGlvbi5jcHAKaW5kZXggYmQxZjhlNC4uZWQzMzlkMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24u
Y3BwCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RF
eGNlcHRpb25UYWJsZVZhbHVlc1tdID0KICAgICB7ICJuYW1lIiwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAogfTsK
IAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFeGNlcHRpb25UYWJsZSA9IHsgMSwgMSwg
dHJ1ZSwgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXMsIDAsIEpTVGVzdEV4Y2VwdGlvblRhYmxl
SW5kZXggfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uVGFibGUgPSB7
IDEsIDEsIHRydWUsIEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzLCBKU1Rlc3RFeGNlcHRpb25U
YWJsZUluZGV4IH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIlRlc3RFeGNlcHRpb25Db25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAs
IENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IpIH07CiAKIEpT
VGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yOjpKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3RvcihTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5jcHAKaW5kZXggYjkxM2JhZC4uMzZiZDAzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0SW50ZXJmYWNlVGFibGVWYWx1ZXNbXSA9CiAjZW5kaWYKIH07CiAKLXN0YXRpYyBjb25zdCBI
YXNoVGFibGUgSlNUZXN0SW50ZXJmYWNlVGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVzdEludGVy
ZmFjZVRhYmxlVmFsdWVzLCAwLCBKU1Rlc3RJbnRlcmZhY2VUYWJsZUluZGV4IH07CitzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlIEpTVGVzdEludGVyZmFjZVRhYmxlID0geyAyLCAzLCB0cnVlLCBKU1Rl
c3RJbnRlcmZhY2VUYWJsZVZhbHVlcywgSlNUZXN0SW50ZXJmYWNlVGFibGVJbmRleCB9OwogLyog
SGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IGE3ZWMyNzMuLjdkOTQwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0zOTQsNyArMzk0LDcgQEAgc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialRhYmxlVmFsdWVzW10gPQogICAgIHsg
ImNvbnRlbnREb2N1bWVudCIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29y
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpDb250ZW50RG9jdW1lbnQpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAogfTsKIAotc3RhdGljIGNvbnN0
IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNiwgMTUsIHRydWUsIEpTVGVzdE9ialRhYmxl
VmFsdWVzLCAwLCBKU1Rlc3RPYmpUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxl
IEpTVGVzdE9ialRhYmxlID0geyA2LCAxNSwgdHJ1ZSwgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIEpT
VGVzdE9ialRhYmxlSW5kZXggfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFs
dWVzW10gPQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IGIxODU2NzQu
LmU5YjM4M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKQEAgLTEwMSw3
ICsxMDEsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T3ZlcnJpZGVCdWls
dGluc1RhYmxlVmFsdWVzW10gPQogICAgIHsgImNvbnN0cnVjdG9yIiwgRG9udEVudW0gfCBSZWFk
T25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKIH07CiAK
LXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T3ZlcnJpZGVCdWlsdGluc1RhYmxlID0geyAx
LCAxLCB0cnVlLCBKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zVGFibGVWYWx1ZXMsIDAsIEpTVGVzdE92
ZXJyaWRlQnVpbHRpbnNUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVz
dE92ZXJyaWRlQnVpbHRpbnNUYWJsZSA9IHsgMSwgMSwgdHJ1ZSwgSlNUZXN0T3ZlcnJpZGVCdWls
dGluc1RhYmxlVmFsdWVzLCBKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zVGFibGVJbmRleCB9OwogY29u
c3QgQ2xhc3NJbmZvIEpTVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yKSB9Owog
CiBKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zQ29uc3RydWN0b3I6OkpTVGVzdE92ZXJyaWRlQnVpbHRp
bnNDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IDQzYTg3Y2QuLmRhMWQ0YzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RU
eXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3RUeXBlZGVmc1RhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9J
bnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RUeXBl
ZGVmc1RhYmxlID0geyAwLCAxLCBmYWxzZSwgSlNUZXN0VHlwZWRlZnNUYWJsZVZhbHVlcywgMCwg
SlNUZXN0VHlwZWRlZnNUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVz
dFR5cGVkZWZzVGFibGUgPSB7IDAsIDEsIGZhbHNlLCBKU1Rlc3RUeXBlZGVmc1RhYmxlVmFsdWVz
LCBKU1Rlc3RUeXBlZGVmc1RhYmxlSW5kZXggfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVj
dG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RUeXBlZGVmc0NvbnN0
cnVjdG9yVGFibGVWYWx1ZXNbXSA9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>