<?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>227672</bug_id>
          
          <creation_ts>2021-07-04 07:13:48 -0700</creation_ts>
          <short_desc>[WebIDL] Simplify generation of runtime conditionally read-write attributes</short_desc>
          <delta_ts>2022-09-03 06:25:19 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>227275</dependson>
    
    <dependson>227732</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774714</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-07-04 07:13:48 -0700</bug_when>
    <thetext>[WebIDL] Simplify generation of runtime conditionally read-write attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774715</commentid>
    <comment_count>1</comment_count>
      <attachid>432861</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-07-04 07:17:11 -0700</bug_when>
    <thetext>Created attachment 432861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774733</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-04 12:18:45 -0700</bug_when>
    <thetext>Committed r279558 (239389@main): &lt;https://commits.webkit.org/239389@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432861.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774734</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-04 12:19:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/80153631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775177</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-07-06 20:09:37 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 227732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775181</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-06 20:11:39 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/279546/webkit caused 2-3% regression in Speedometer2/jQuery-TodoMVC and it was hard to revert r279546 without reverting this change. Please reland this without r279546 change, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1896024</commentid>
    <comment_count>6</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-03 06:25:03 -0700</bug_when>
    <thetext>This got reverted into this:

https://github.com/WebKit/WebKit/commit/d0333311de3aab7c2067acc61e7b9e0eb881eb03

Is this needed anymore? Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432861</attachid>
            <date>2021-07-04 07:17:11 -0700</date>
            <delta_ts>2021-07-04 12:18:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227672-20210704171710.patch</filename>
            <type>text/plain</type>
            <size>24110</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5NTQ4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTA3LTA0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2ViSURMXSBTaW1wbGlmeSBnZW5lcmF0aW9uIG9mIHJ1bnRpbWUgY29uZGl0aW9u
YWxseSByZWFkLXdyaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNzY3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFz
aFRhYmxlVmFsdWU6Om1ha2VSZWFkT25seUNvcHkgY29uc3QpOgorCiAyMDIxLTA3LTAzICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBS
ZXdvcmsgcnVudGltZSBlbmFibGVkIHByb3BlcnRpZXMgbGV2ZXJhZ2luZyBQcm9wZXJ0eUNhbGxi
YWNrCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAkocmV2aXNpb24g
Mjc5NTQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgJKHdvcmtp
bmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTUgQEAgc3RydWN0IEhhc2hUYWJsZVZhbHVlIHsKICAg
ICAgICAgYXV0byBpc0VuYWJsZWRDYWxsYmFjayA9IGJpdHdpc2VfY2FzdDxJc0xhenlQcm9wZXJ0
eUVuYWJsZWRDYWxsYmFjaz4obV92YWx1ZXMudmFsdWUyKTsKICAgICAgICAgcmV0dXJuICFpc0Vu
YWJsZWRDYWxsYmFjayB8fCBpc0VuYWJsZWRDYWxsYmFjayhnbG9iYWxPYmplY3QpOwogICAgIH0K
KworICAgIEhhc2hUYWJsZVZhbHVlIG1ha2VSZWFkT25seUNvcHkoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1fYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvck9y
Q3VzdG9tQWNjZXNzb3JPclZhbHVlKTsKKyAgICAgICAgSGFzaFRhYmxlVmFsdWUgY29weSA9ICp0
aGlzOworICAgICAgICBjb3B5Lm1fYXR0cmlidXRlcyB8PSBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHk7CisgICAgICAgIGNvcHkubV92YWx1ZXMudmFsdWUyID0gMDsKKyAgICAgICAgcmV0dXJu
IGNvcHk7CisgICAgfQogfTsKIAogc3RydWN0IEhhc2hUYWJsZSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNzk1NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wNy0wNCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWth
bGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgW1dlYklETF0gU2ltcGxpZnkgZ2VuZXJhdGlvbiBv
ZiBydW50aW1lIGNvbmRpdGlvbmFsbHkgcmVhZC13cml0ZSBhdHRyaWJ1dGVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc2NzIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVj
ZXMgSGFzaFRhYmxlVmFsdWU6Om1ha2VSZWFkT25seUNvcHkoKSB0byBhdm9pZCBtYW51YWxseQor
ICAgICAgICBnZW5lcmF0aW5nICYgcHV0dGluZyBhIEpTVmFsdWUgZm9yIGFuIGF0dHJpYnV0ZSwg
d2hpY2ggaXMgbm9uLXRyaXZpYWwgdG8KKyAgICAgICAgZG8gcmlnaHQgd2hpbGUgc3VwcG9ydGlu
ZyBhbGwga2luZHMgb2YgYWNjZWxlcmF0ZWQgLyBidWlsdC1pbiBhdHRyaWJ1dGVzLgorCisgICAg
ICAgIEFsc28sIHJlbW92ZXMgaW5jb3JyZWN0IGBjbGFzc0ZvclRoaXNgIGFyZ3VtZW50IGZyb20g
YGVudHJpZXNgIHJlaWZpY2F0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZp
b3IgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvKjogVXBkYXRlZC4KKwogMjAyMS0wNy0wMSAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBCb3R0b21Db250cm9sc0JhckhlaWdo
dCBhbmQgSW5zaWRlTWFyZ2luIHRvIGJlIGNvbXB1dGVkIGF0IHJ1bnRpbWUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShy
ZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNDQ2NywyMyArNDQ2NywxNSBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIG15ICRydW50aW1lRW5hYmxl
Q29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZVJ1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmlu
ZygkaW50ZXJmYWNlLCAkYXR0cmlidXRlLCAiZ2xvYmFsT2JqZWN0KCkiKTsKIAogICAgICAgICAg
ICAgICAgIG15ICRhdHRyaWJ1dGVOYW1lID0gJGF0dHJpYnV0ZS0+bmFtZTsKLSAgICAgICAgICAg
ICAgICAjIEZJWE1FOiBTaW1wbGlmeSB0aGlzIGJ5IGNhbGxpbmcgcmVpZnlTdGF0aWNQcm9wZXJ0
eSgpIG9uIGEgSGFzaFRhYmxlVmFsdWUgdGhhdCBoYXMgYmVlbiB0cmFuc2Zvcm1lZCB0byByZWFk
LW9ubHkuCi0gICAgICAgICAgICAgICAgbXkgJGdldHRlciA9IEdldEF0dHJpYnV0ZUdldHRlck5h
bWUoJGludGVyZmFjZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAgICAgICAgICAg
bXkgJHNldHRlciA9ICJudWxscHRyIjsKLSAgICAgICAgICAgICAgICBteSAkanNjQXR0cmlidXRl
cyA9IFN0cmluZ2lmeUpTQ0F0dHJpYnV0ZXMoR2V0SlNDQXR0cmlidXRlc0ZvckF0dHJpYnV0ZSgk
aW50ZXJmYWNlLCAkYXR0cmlidXRlKSkgLiAiIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkiOwogICAgICAgICAgICAgICAgIGFzc2VydCgiQmVpbmcgYm90aCBydW50aW1lIGVuYWJs
ZWQgYW5kIHJ1bnRpbWUgY29uZGl0aW9uYWxseSByZWFkLXdyaXRlIGlzIG5vdCB5ZXQgc3VwcG9y
dGVkICh1c2VkIG9uIHRoZSAnJHthdHRyaWJ1dGVOYW1lfScgYXR0cmlidXRlIG9mICcke3Zpc2li
bGVJbnRlcmZhY2VOYW1lfScpLiIpIGlmIE5lZWRzUnVudGltZUNoZWNrKCRpbnRlcmZhY2UsICRh
dHRyaWJ1dGUpOwogCiAgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNv
ZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGF0dHJpYnV0ZSk7CiAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31c
biIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAvLyBTaGFkb3cgcmVhZC13cml0ZSB2YXJpYW50IGZyb20gdGhlIHN0YXRpYyBo
YXNoIHRhYmxlLlxuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
aWYgKCEke3J1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmluZ30pXG4iKTsKLSAgICAgICAgICAg
ICAgICBpZiAoSXNBY2NlbGVyYXRlZERPTUF0dHJpYnV0ZSgkaW50ZXJmYWNlLCAkYXR0cmlidXRl
KSkgewotICAgICAgICAgICAgICAgICAgICBteSAkY2xhc3NGb3JUaGlzID0gIiR7Y2xhc3NOYW1l
fTo6aW5mbygpIjsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
ICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0
YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS4iIC4gJGF0dHJpYnV0ZU5hbWUgLiAi
UHVibGljTmFtZSgpLCBKU0M6OkRPTUF0dHJpYnV0ZUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCAk
Z2V0dGVyLCAkc2V0dGVyLCBKU0M6OkRPTUF0dHJpYnV0ZUFubm90YXRpb24geyAkY2xhc3NGb3JU
aGlzLCBudWxscHRyIH0pLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKCRqc2NBdHRyaWJ1dGVzKSk7
XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBhc3Nl
cnQoIkN1c3RvbUdldHRlclNldHRlciBpcyBub3QgYWxsb3dlZCBmb3IgRE9NQXR0cmlidXRlLiBE
T01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXIgbXVzdCBiZSB1c2VkLiIpIGlmIElzQWNjZWxlcmF0ZWRE
T01BdHRyaWJ1dGUoJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwg
c3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVz
KCkuIiAuICRhdHRyaWJ1dGVOYW1lIC4gIlB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVy
OjpjcmVhdGUodm0sICRnZXR0ZXIsICRzZXR0ZXIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKCRq
c2NBdHRyaWJ1dGVzKSk7XG4iKTsKLSAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg
ICBteSAkcHJvcGVydHlOYW1lID0gInN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xp
ZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLiR7YXR0cmlidXRlTmFtZX1QdWJsaWNOYW1lKCkiOwor
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZWlmeVN0YXRpY1By
b3BlcnR5KHZtLCAke2NsYXNzTmFtZX06OmluZm8oKSwgJHtwcm9wZXJ0eU5hbWV9LCBpbmZvKCkt
PnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KCR7cHJvcGVydHlOYW1lfSktPm1ha2VSZWFkT25s
eUNvcHkoKSwgKnRoaXMpO1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIjZW5kaWZcbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtNDQ5Miw3ICs0NDg0LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCI8SmF2YVNjcmlwdENvcmUvQnVpbHRpbk5hbWVz
Lmg+Iik7CiAgICAgICAgICAgICBpZiAoSXNLZXlWYWx1ZUl0ZXJhYmxlSW50ZXJmYWNlKCRpbnRl
cmZhY2UpIG9yICRpbnRlcmZhY2UtPm1hcExpa2Ugb3IgJGludGVyZmFjZS0+c2V0TGlrZSkgewog
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGF1dG8mIGVudHJpZXMgPSB2
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5lbnRyaWVzUHVibGljTmFtZSgpO1xuIik7
Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmVpZnlTdGF0aWNQcm9w
ZXJ0eSh2bSwgaW5mbygpLCBlbnRyaWVzLCAqaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5l
bnRyeShlbnRyaWVzKSwgKnRoaXMpO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgbnVsbHB0ciwgZW50cmllcywgKmlu
Zm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTtcbiIpOwog
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2V0RGlyZWN0
KHZtLCBlbnRyaWVzKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSk7XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLCBnbG9iYWxPYmplY3QoKS0+YXJyYXlQ
cm90b1ZhbHVlc0Z1bmN0aW9uKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSkpO1xuIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MiwyOCArMTkyLDI4IEBAIHZvaWQgSlNUZXN0Q29u
ZGl0aW9uYWxseVJlYWRXcml0ZVByb3RvdHkKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0s
IEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OmluZm8oKSwgSlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7CiAgICAgLy8gU2hhZG93IHJl
YWQtd3JpdGUgdmFyaWFudCBmcm9tIHRoZSBzdGF0aWMgaGFzaCB0YWJsZS4KICAgICBpZiAoIVJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkudGVzdEZlYXR1cmVFbmFibGVk
KCkpCi0gICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2FzdDxKU1ZN
Q2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50aW1lQ29uZGl0
aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSwgSlNDOjpET01BdHRyaWJ1dGVH
ZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50
aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSwgbnVsbHB0ciwgSlNDOjpET01BdHRy
aWJ1dGVBbm5vdGF0aW9uIHsgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6aW5mbygpLCBu
dWxscHRyIH0pLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKKyAgICAgICAgcmVpZnlTdGF0aWNQ
cm9wZXJ0eSh2bSwgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6aW5mbygpLCBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50
aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSwgaW5mbygpLT5z
dGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0
ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSktPm1ha2VSZWFkT25seUNvcHkoKSwgKnRoaXMpOwogICAg
IC8vIFNoYWRvdyByZWFkLXdyaXRlIHZhcmlhbnQgZnJvbSB0aGUgc3RhdGljIGhhc2ggdGFibGUu
CiAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnRlc3RG
ZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3Rh
dGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCku
cnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVB1YmxpY05h
bWUoKSwgSlNDOjpET01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0Q29u
ZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0
ZVVuZm9yZ2VhYmxlLCBudWxscHRyLCBKU0M6OkRPTUF0dHJpYnV0ZUFubm90YXRpb24geyBKU1Rl
c3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjppbmZvKCksIG51bGxwdHIgfSksIGF0dHJpYnV0ZXNG
b3JTdHJ1Y3R1cmUoSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RE9NQXR0cmlidXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKKyAgICAg
ICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6
aW5mbygpLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWls
dGluTmFtZXMoKS5ydW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2Vh
YmxlUHVibGljTmFtZSgpLCBpbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHN0YXRp
Y19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJ1
bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQdWJsaWNOYW1l
KCkpLT5tYWtlUmVhZE9ubHlDb3B5KCksICp0aGlzKTsKICAgICAvLyBTaGFkb3cgcmVhZC13cml0
ZSB2YXJpYW50IGZyb20gdGhlIHN0YXRpYyBoYXNoIHRhYmxlLgogICAgIGlmICghUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkKLSAg
ICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJ1bnRpbWVDb25kaXRpb25hbGx5
UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlUHVibGljTmFtZSgpLCBDdXN0b21H
ZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50
aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZSwgbnVs
bHB0ciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKKyAgICAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0
eSh2bSwgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6aW5mbygpLCBzdGF0aWNfY2FzdDxK
U1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50aW1lQ29u
ZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZVB1YmxpY05hbWUo
KSwgaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShzdGF0aWNfY2FzdDxKU1ZNQ2xp
ZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50aW1lQ29uZGl0aW9u
YWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJpdmF0ZVB1YmxpY05hbWUoKSktPm1h
a2VSZWFkT25seUNvcHkoKSwgKnRoaXMpOwogICAgIC8vIFNoYWRvdyByZWFkLXdyaXRlIHZhcmlh
bnQgZnJvbSB0aGUgc3RhdGljIGhhc2ggdGFibGUuCiAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnRlc3RGZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICBw
dXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2
bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucnVudGltZUNvbmRpdGlvbmFsbHlSZWFkV3Jp
dGVBdHRyaWJ1dGVQcm9taXNlUHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSwganNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZV9ydW50aW1lQ29uZGl0aW9uYWxseVJl
YWRXcml0ZUF0dHJpYnV0ZVByb21pc2UsIG51bGxwdHIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nl
c3NvcikgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkpOworICAgICAgICByZWlm
eVN0YXRpY1Byb3BlcnR5KHZtLCBKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjppbmZvKCks
IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1l
cygpLnJ1bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZVB1YmxpY05h
bWUoKSwgaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShzdGF0aWNfY2FzdDxKU1ZN
Q2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5ydW50aW1lQ29uZGl0
aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVByb21pc2VQdWJsaWNOYW1lKCkpLT5tYWtlUmVhZE9u
bHlDb3B5KCksICp0aGlzKTsKICAgICAvLyBTaGFkb3cgcmVhZC13cml0ZSB2YXJpYW50IGZyb20g
dGhlIHN0YXRpYyBoYXNoIHRhYmxlLgogICAgIGlmICghZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKS0+c2V0dGluZ3NWYWx1ZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQpCi0gICAgICAgIHB1
dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3Jp
dGVBdHRyaWJ1dGVQdWJsaWNOYW1lKCksIEpTQzo6RE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyOjpj
cmVhdGUodm0sIGpzVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0dGluZ3NDb25kaXRpb25h
bGx5UmVhZFdyaXRlQXR0cmlidXRlLCBudWxscHRyLCBKU0M6OkRPTUF0dHJpYnV0ZUFubm90YXRp
b24geyBKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjppbmZvKCksIG51bGxwdHIgfSksIGF0
dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNz
b3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSkpOworICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCBK
U1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjppbmZvKCksIHN0YXRpY19jYXN0PEpTVk1DbGll
bnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnNldHRpbmdzQ29uZGl0aW9u
YWxseVJlYWRXcml0ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSwgaW5mbygpLT5zdGF0aWNQcm9wSGFz
aFRhYmxlLT5lbnRyeShzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEp
LT5idWlsdGluTmFtZXMoKS5zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQ
dWJsaWNOYW1lKCkpLT5tYWtlUmVhZE9ubHlDb3B5KCksICp0aGlzKTsKICAgICAvLyBTaGFkb3cg
cmVhZC13cml0ZSB2YXJpYW50IGZyb20gdGhlIHN0YXRpYyBoYXNoIHRhYmxlLgogICAgIGlmICgh
ZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3NWYWx1ZXMoKS50ZXN0RmVh
dHVyZUVuYWJsZWQpCi0gICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5zZXR0
aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVB1YmxpY05hbWUo
KSwgSlNDOjpET01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZV9zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVV
bmZvcmdlYWJsZSwgbnVsbHB0ciwgSlNDOjpET01BdHRyaWJ1dGVBbm5vdGF0aW9uIHsgSlNUZXN0
Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6aW5mbygpLCBudWxscHRyIH0pLCBhdHRyaWJ1dGVzRm9y
U3RydWN0dXJlKEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRP
TUF0dHJpYnV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSk7CisgICAgICAg
IHJlaWZ5U3RhdGljUHJvcGVydHkodm0sIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6Omlu
Zm8oKSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRp
bk5hbWVzKCkuc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFi
bGVQdWJsaWNOYW1lKCksIGluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuc2V0
dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQdWJsaWNOYW1l
KCkpLT5tYWtlUmVhZE9ubHlDb3B5KCksICp0aGlzKTsKICAgICAvLyBTaGFkb3cgcmVhZC13cml0
ZSB2YXJpYW50IGZyb20gdGhlIHN0YXRpYyBoYXNoIHRhYmxlLgogICAgIGlmICghZG93bmNhc3Q8
RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3NWYWx1ZXMoKS50ZXN0RmVhdHVyZUVuYWJs
ZWQpCi0gICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNfY2FzdDxKU1ZN
Q2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5zZXR0aW5nc0NvbmRp
dGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVByaXZhdGVQdWJsaWNOYW1lKCks
IEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RDb25kaXRpb25hbGx5UmVhZFdy
aXRlX3NldHRpbmdzQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVVuZm9yZ2VhYmxlUHJp
dmF0ZSwgbnVsbHB0ciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29y
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKKyAgICAgICAgcmVpZnlTdGF0
aWNQcm9wZXJ0eSh2bSwgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6aW5mbygpLCBzdGF0
aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5z
ZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVVbmZvcmdlYWJsZVByaXZhdGVQ
dWJsaWNOYW1lKCksIGluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuc2V0dGlu
Z3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlVW5mb3JnZWFibGVQcml2YXRlUHVibGlj
TmFtZSgpKS0+bWFrZVJlYWRPbmx5Q29weSgpLCAqdGhpcyk7CiAgICAgLy8gU2hhZG93IHJlYWQt
d3JpdGUgdmFyaWFudCBmcm9tIHRoZSBzdGF0aWMgaGFzaCB0YWJsZS4KICAgICBpZiAoIWRvd25j
YXN0PERvY3VtZW50Pihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSkt
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSktPnNldHRpbmdzVmFsdWVzKCkudGVzdEZlYXR1cmVF
bmFibGVkKQotICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuc2V0dGluZ3ND
b25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZVB1YmxpY05hbWUoKSwgQ3VzdG9t
R2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVfc2V0
dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0cmlidXRlUHJvbWlzZSwgbnVsbHB0ciksIGF0
dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KSk7CisgICAgICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sIEpTVGVzdENvbmRpdGlvbmFs
bHlSZWFkV3JpdGU6OmluZm8oKSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGll
bnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuc2V0dGluZ3NDb25kaXRpb25hbGx5UmVhZFdyaXRlQXR0
cmlidXRlUHJvbWlzZVB1YmxpY05hbWUoKSwgaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5l
bnRyeShzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGlu
TmFtZXMoKS5zZXR0aW5nc0NvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVQcm9taXNlUHVi
bGljTmFtZSgpKS0+bWFrZVJlYWRPbmx5Q29weSgpLCAqdGhpcyk7CiAgICAgSlNDX1RPX1NUUklO
R19UQUdfV0lUSE9VVF9UUkFOU0lUSU9OKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCShyZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcyLDcgKzU3
Miw3IEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlOjpmaW5pc2hDcmUKICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rl
c3RJbnRlcmZhY2U6OmluZm8oKSwgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGVWYWx1ZXMs
ICp0aGlzKTsKICAgICBhdXRvJiBlbnRyaWVzID0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuZW50cmllc1B1YmxpY05hbWUoKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCBp
bmZvKCksIGVudHJpZXMsICppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KGVudHJp
ZXMpLCAqdGhpcyk7CisgICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgbnVsbHB0ciwgZW50cmll
cywgKmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRl
cmF0b3JTeW1ib2wsIGdldERpcmVjdCh2bSwgZW50cmllcyksIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIEpTQ19UT19TVFJJTkdf
VEFHX1dJVEhPVVRfVFJBTlNJVElPTigpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCShy
ZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SXRlcmFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNyArMTUyLDcgQEAg
dm9pZCBKU1Rlc3RJdGVyYWJsZVByb3RvdHlwZTo6ZmluaXNoQ3JlYQogICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtKTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdEl0ZXJh
YmxlOjppbmZvKCksIEpTVGVzdEl0ZXJhYmxlUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlzKTsK
ICAgICBhdXRvJiBlbnRyaWVzID0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuZW50
cmllc1B1YmxpY05hbWUoKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCBpbmZvKCksIGVu
dHJpZXMsICppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KGVudHJpZXMpLCAqdGhp
cyk7CisgICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgbnVsbHB0ciwgZW50cmllcywgKmluZm8o
KS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1i
b2wsIGdldERpcmVjdCh2bSwgZW50cmllcyksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhP
VVRfVFJBTlNJVElPTigpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1hcExpa2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcAkocmV2aXNpb24gMjc5
NTQ2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1h
cExpa2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBKU1Rlc3RN
YXBMaWtlUHJvdG90eXBlOjpmaW5pc2hDcmVhdAogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
KTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE1hcExpa2U6OmluZm8oKSwg
SlNUZXN0TWFwTGlrZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7CiAgICAgYXV0byYgZW50
cmllcyA9IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmVudHJpZXNQdWJsaWNOYW1l
KCk7Ci0gICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgaW5mbygpLCBlbnRyaWVzLCAqaW5mbygp
LT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShlbnRyaWVzKSwgKnRoaXMpOworICAgIHJlaWZ5
U3RhdGljUHJvcGVydHkodm0sIG51bGxwdHIsIGVudHJpZXMsICppbmZvKCktPnN0YXRpY1Byb3BI
YXNoVGFibGUtPmVudHJ5KGVudHJpZXMpLCAqdGhpcyk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLCBnZXREaXJlY3Qo
dm0sIGVudHJpZXMpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pKTsKICAgICBKU0NfVE9fU1RSSU5HX1RBR19XSVRIT1VUX1RSQU5TSVRJT04o
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDI3OTU0NikKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgSlNUZXN0
TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW8KICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RNYXBMaWtlV2l0aE92ZXJy
aWRkZW5PcGVyYXRpb25zOjppbmZvKCksIEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnNQcm90b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwogICAgIGF1dG8mIGVudHJpZXMgPSB2
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5lbnRyaWVzUHVibGljTmFtZSgpOwotICAg
IHJlaWZ5U3RhdGljUHJvcGVydHkodm0sIGluZm8oKSwgZW50cmllcywgKmluZm8oKS0+c3RhdGlj
UHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKKyAgICByZWlmeVN0YXRpY1By
b3BlcnR5KHZtLCBudWxscHRyLCBlbnRyaWVzLCAqaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxl
LT5lbnRyeShlbnRyaWVzKSwgKnRoaXMpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2V0RGlyZWN0KHZtLCBlbnRy
aWVzKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKSk7CiAgICAgSlNDX1RPX1NUUklOR19UQUdfV0lUSE9VVF9UUkFOU0lUSU9OKCk7CiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
NSw3ICsyOTUsNyBAQCB2b2lkIEpTVGVzdE5vZGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uCiAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2
bSwgSlNUZXN0Tm9kZTo6aW5mbygpLCBKU1Rlc3ROb2RlUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0
aGlzKTsKICAgICBhdXRvJiBlbnRyaWVzID0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkuZW50cmllc1B1YmxpY05hbWUoKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCBpbmZv
KCksIGVudHJpZXMsICppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KGVudHJpZXMp
LCAqdGhpcyk7CisgICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgbnVsbHB0ciwgZW50cmllcywg
KmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0
b3JTeW1ib2wsIGdldERpcmVjdCh2bSwgZW50cmllcyksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIEpTQ19UT19TVFJJTkdfVEFH
X1dJVEhPVVRfVFJBTlNJVElPTigpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFw
TGlrZS5jcHAJKHJldmlzaW9uIDI3OTU0NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjAsNyArMTYwLDcgQEAgdm9pZCBKU1Rlc3RSZWFkT25seU1hcExpa2VQcm90b3R5cGU6OmZp
bgogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRp
ZXModm0sIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6aW5mbygpLCBKU1Rlc3RSZWFkT25seU1hcExp
a2VQcm90b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwogICAgIGF1dG8mIGVudHJpZXMgPSB2bS5w
cm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5lbnRyaWVzUHVibGljTmFtZSgpOwotICAgIHJl
aWZ5U3RhdGljUHJvcGVydHkodm0sIGluZm8oKSwgZW50cmllcywgKmluZm8oKS0+c3RhdGljUHJv
cEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKKyAgICByZWlmeVN0YXRpY1Byb3Bl
cnR5KHZtLCBudWxscHRyLCBlbnRyaWVzLCAqaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5l
bnRyeShlbnRyaWVzKSwgKnRoaXMpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2V0RGlyZWN0KHZtLCBlbnRyaWVz
KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KSk7CiAgICAgSlNDX1RPX1NUUklOR19UQUdfV0lUSE9VVF9UUkFOU0lUSU9OKCk7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlT
ZXRMaWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcAkocmV2aXNpb24gMjc5NTQ2KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0
TGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIEpTVGVzdFJl
YWRPbmx5U2V0TGlrZVByb3RvdHlwZTo6ZmluCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0UmVhZE9ubHlTZXRMaWtlOjpp
bmZvKCksIEpTVGVzdFJlYWRPbmx5U2V0TGlrZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7
CiAgICAgYXV0byYgZW50cmllcyA9IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmVu
dHJpZXNQdWJsaWNOYW1lKCk7Ci0gICAgcmVpZnlTdGF0aWNQcm9wZXJ0eSh2bSwgaW5mbygpLCBl
bnRyaWVzLCAqaW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShlbnRyaWVzKSwgKnRo
aXMpOworICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sIG51bGxwdHIsIGVudHJpZXMsICppbmZv
KCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KGVudHJpZXMpLCAqdGhpcyk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLCBnZXREaXJlY3Qodm0sIGVudHJpZXMpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBKU0NfVE9fU1RSSU5HX1RBR19XSVRI
T1VUX1RSQU5TSVRJT04oKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHAJKHJldmlzaW9uIDI3
OTU0NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXRMaWtlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgSlNUZXN0
U2V0TGlrZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXQKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RTZXRMaWtlOjppbmZvKCks
IEpTVGVzdFNldExpa2VQcm90b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwogICAgIGF1dG8mIGVu
dHJpZXMgPSB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5lbnRyaWVzUHVibGljTmFt
ZSgpOwotICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sIGluZm8oKSwgZW50cmllcywgKmluZm8o
KS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKKyAgICByZWlm
eVN0YXRpY1Byb3BlcnR5KHZtLCBudWxscHRyLCBlbnRyaWVzLCAqaW5mbygpLT5zdGF0aWNQcm9w
SGFzaFRhYmxlLT5lbnRyeShlbnRyaWVzKSwgKnRoaXMpOwogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2V0RGlyZWN0
KHZtLCBlbnRyaWVzKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSk7CiAgICAgSlNDX1RPX1NUUklOR19UQUdfV0lUSE9VVF9UUkFOU0lUSU9O
KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyNzk1NDYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3Bl
cmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIEpTVGVz
dFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uczo6aW5mbygpLCBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlzKTsKICAgICBhdXRvJiBlbnRyaWVzID0g
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuZW50cmllc1B1YmxpY05hbWUoKTsKLSAg
ICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCBpbmZvKCksIGVudHJpZXMsICppbmZvKCktPnN0YXRp
Y1Byb3BIYXNoVGFibGUtPmVudHJ5KGVudHJpZXMpLCAqdGhpcyk7CisgICAgcmVpZnlTdGF0aWNQ
cm9wZXJ0eSh2bSwgbnVsbHB0ciwgZW50cmllcywgKmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJs
ZS0+ZW50cnkoZW50cmllcyksICp0aGlzKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIGdldERpcmVjdCh2bSwgZW50
cmllcyksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSkpOwogICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhPVVRfVFJBTlNJVElPTigpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>