<?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>216789</bug_id>
          
          <creation_ts>2020-09-21 10:25:32 -0700</creation_ts>
          <short_desc>Functions should consistently enumerate length before name</short_desc>
          <delta_ts>2020-09-21 13:42: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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</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>1690342</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-21 10:25:32 -0700</bug_when>
    <thetext>Functions should consistently enumerate length before name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690358</commentid>
    <comment_count>1</comment_count>
      <attachid>409287</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-21 11:25:26 -0700</bug_when>
    <thetext>Created attachment 409287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690376</commentid>
    <comment_count>2</comment_count>
      <attachid>409290</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-21 11:57:22 -0700</bug_when>
    <thetext>Created attachment 409290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690454</commentid>
    <comment_count>3</comment_count>
      <attachid>409290</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-21 12:56:28 -0700</bug_when>
    <thetext>Comment on attachment 409290
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690459</commentid>
    <comment_count>4</comment_count>
      <attachid>409290</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-09-21 13:03:44 -0700</bug_when>
    <thetext>Comment on attachment 409290
Patch

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

&gt; Source/JavaScriptCore/runtime/InternalFunction.cpp:57
&gt; +    // The enumeration order is length then name so we have to make sure we add the properties in that order.

/order is length then name so we/order must be length before name. So, we/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690463</commentid>
    <comment_count>5</comment_count>
      <attachid>409290</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-21 13:06:43 -0700</bug_when>
    <thetext>Comment on attachment 409290
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/InternalFunction.cpp:57
&gt;&gt; +    // The enumeration order is length then name so we have to make sure we add the properties in that order.
&gt; 
&gt; /order is length then name so we/order must be length before name. So, we/

I changed it to &quot;The enumeration order is length followed by name. So, we make sure to add the properties in that order.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690464</commentid>
    <comment_count>6</comment_count>
      <attachid>409307</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-21 13:06:55 -0700</bug_when>
    <thetext>Created attachment 409307
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690491</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-21 13:41:12 -0700</bug_when>
    <thetext>Committed r267364: &lt;https://trac.webkit.org/changeset/267364&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409307.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690492</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-21 13:42:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/69324655&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409287</attachid>
            <date>2020-09-21 11:25:26 -0700</date>
            <delta_ts>2020-09-21 11:59:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216789-20200921112525.patch</filename>
            <type>text/plain</type>
            <size>70782</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi4xZjkzMWMyMDgxMGY5Y2Ez
ZTRmNTBhZjViMjIzYWM0Mzc0ZjNjZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjEgQEAKKzIwMjAtMDktMjEgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgRnVuY3Rpb25zIHNob3VsZCBjb25zaXN0ZW50bHkgZW51bWVyYXRl
IGxlbmd0aCBiZWZvcmUgbmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE2Nzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvZWNtYTI2Mi9wdWxsLzIxMTYs
IHdoaWNoIGhhcyBiZWVuCisgICAgICAgIGFwcHJvdmVkIHRvIGJlIG1lcmdlZCBpbnRvIHRoZSBt
YWluIEpTIHNwZWMsIGl0J3MgZXhwZWN0ZWQgdGhhdAorICAgICAgICBhbGwgZnVuY3Rpb25zIHNo
b3VsZCBoYXZlIHRoZWlyIGxlbmd0aCBwcm9wZXJ0eSBlbnVtZXJhdGVkIGJlZm9yZQorICAgICAg
ICB0aGUgbmFtZSBwcm9wZXJ0eS4gVG8gZW5zdXJlIHRoaXMgaW52YXJpYW50LCB0aGlzIHBhdGNo
IG1vdmVzIHRoZQorICAgICAgICBsZW5ndGggc2V0IGludG8gSW50ZXJuYWxGdW5jdGlvbjo6Zmlu
aXNoQ3JlYXRpb24uCisKKyAgICAgICAgVGhlcmUgYXJlIG5vIG5ldyB0ZXN0cyBzaW5jZSB0ZXN0
cyB3aWxsIGJlIGFkZGVkIHRvIHRlc3QyNjIgd2hlbgorICAgICAgICB0aGUgc3BlYyBQUiBpcyBt
ZXJnZWQuIEFkZGluZyB0ZXN0cyB0byBzdHJlc3MganVzdCBtZWFucyB3ZSB3aWxsCisgICAgICAg
IGhhdmUgdGhlIHNhbWUgdGVzdCB0d2ljZSwgd2hpY2ggc2VlbXMgbGlrZSBhIHdhc3RlLgorCisg
ICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQ2Fs
bGJhY2tGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIEFQSS9PYmpDQ2FsbGJh
Y2tGdW5jdGlvbi5tbToKKyAgICAgICAgKEpTQzo6T2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0
ZSk6CisgICAgICAgICogQVBJL2dsaWIvSlNDQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkpTQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9B
Z2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJy
b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgIChKU0M6OkFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6QXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkJpZ0ludENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChK
U0M6OkVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGaW5h
bGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICog
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkdlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAg
ICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6
OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZUZ1bmN0aW9uVGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsQ29s
bGF0b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRp
bWVGb3JtYXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bERpc3Bs
YXlOYW1lc0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9J
bnRsTG9jYWxlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTG9jYWxlQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3Jt
YXRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXRDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFBsdXJhbFJ1bGVz
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFJlbGF0aXZlVGltZUZvcm1h
dENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsU2Vn
bWVudGVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsU2VnbWVudGVyQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3I8c2hhcmluZ01vZGU+OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oOgorICAgICAgICAoSlND
OjpKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPFZpZXdDbGFzcz46OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3JCYXNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OdWxsR2V0
dGVyRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5oOgor
ICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpO
dW1iZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvT2Jq
ZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OlByb3h5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL1Byb3h5UmV2b2tlLmNwcDoKKyAgICAgICAgKEpTQzo6UHJveHlSZXZva2U6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAg
ICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6U3ltYm9sQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1dlYWtNYXBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYWtNYXBDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha09iamVjdFJlZkNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2Vha09iamVjdFJlZkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpXZWFrU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAg
ICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxl
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRp
bWVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2Vi
QXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlU
YWJsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAtMDktMjAgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBEcm9wIE9wdGlvbnM6
OnVzZUJpZ0ludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI0Y2QzOGRhYTMzMzBiMTJhZjBiZDAyYmM2NTliN2Q3
MTMwNTMyNDkuLmFjYzM1ZTdlZTRiYjE0YmY2OTc5MzRiMzg0Y2NiNTQ2MzgyNWUwY2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0yMSAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgc2hvdWxkIGNvbnNpc3RlbnRs
eSBlbnVtZXJhdGUgbGVuZ3RoIGJlZm9yZSBuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY3ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSdW50aW1lTWV0aG9kIGluaGVyaXRzIGZyb20gSW50ZXJu
YWxGdW5jdGlvbiB3aGljaCBub3cgc2V0cyBsZW5ndGggYnkgZGVmYXVsdC4KKyAgICAgICAgUnVu
dGltZU1ldGhvZCBpbnRlcmNlcHRzIGxlbmd0aCBpbiBnZXRPd25Qcm9wZXJ0eVNsb3Qgc28gdGhl
IHZhbHVlIHdlIHBpY2sKKyAgICAgICAgZG9lc24ndCBhY3R1YWxseSBtYXR0ZXIuIFRlY2huaWNh
bGx5LCB0aGlzIHVzZXMgYSBsaXR0bGUgZXh0cmEgbWVtb3J5IGJ1dAorICAgICAgICB0aGF0J3Mg
bm90IHRvbyBiaWcgb2YgYSBkZWFsIGJlY2F1c2UgUnVudGltZU1ldGhvZCdzIGFyZSByYXJlIChh
bmQgSSBiZWxpZXZlCisgICAgICAgIGRlcHJlY2F0ZWQpLgorCisgICAgICAgICogYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZU1ldGhvZDo6ZmluaXNoQ3Jl
YXRpb24pOgorCiAyMDIwLTA5LTIwICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGFuZCBQZXJmb3JtYW5jZS50aW1pbmcgYXJl
IGluY29ycmVjdGx5IGV4cG9zZWQgdG8gd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2Njg2MzY3ZTI3NTI5
ZDYxNDM5M2RmYWI2NzEwNDMxNWYxMmNlZGZjLi5iY2ExNDZlZTc4YTY0YzJmZTU1ZTlkYTdhZmY0
ZTYzMGY1MzE1ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA5LTIxICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bmN0aW9ucyBz
aG91bGQgY29uc2lzdGVudGx5IGVudW1lcmF0ZSBsZW5ndGggYmVmb3JlIG5hbWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjc4OQorCisgICAgICAg
IEpTTlBNZXRob2QgaW5oZXJpdHMgZnJvbSBJbnRlcm5hbEZ1bmN0aW9uIHdoaWNoIG5vdyBzZXRz
IGxlbmd0aCBieSBkZWZhdWx0LgorICAgICAgICBJIGNob3NlIDAgYmVjYXVzZSBpdCBsb29rcyBs
aWtlIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBkaXJlY3RseSBsb29rIGF0IGFueQorICAgICAgICBh
cmd1bWVudHMgYW5kIEkgZG91YnQgYW55b25lIGlzIGxvb2tpbmcgYXQgdGhlIGxlbmd0aCBhbnl3
YXkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKwogMjAy
MC0wOS0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTb3J0IHRoZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggYWJiYTA0MTkwODRjZGEwMzZiNjA5YTIwZGY3
MjkxMTc0NWMyMDE0Mi4uZWMxNGNmYmRmZTNkOTM0YzM3ZmRlOWI3ZjM2NTlkYTE0NjFhMTM1NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNw
cApAQCAtNDMsNyArNDMsNyBAQCBKU0NhbGxiYWNrRnVuY3Rpb246OkpTQ2FsbGJhY2tGdW5jdGlv
bihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdENhbAogCiB2b2lkIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIG5hbWUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUpOworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAwLCBuYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFj
a0Z1bmN0aW9uLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2FsbGJhY2tGdW5j
dGlvbi5tbQppbmRleCA3NDU0Zjk4YjQwOTcxOTU5ZmE1OTE1Yzk2NDY5ZGRhYzIyMmNmMWM1Li42
YTY3Y2M5OGJlZDMwMGU2ZTNkNzhiMWJiOGRmYmU2Nzc2NzQzNDUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0KQEAgLTU0Nyw3ICs1
NDcsNyBAQCBPYmpDQ2FsbGJhY2tGdW5jdGlvbiogT2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0
ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iagogewogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gZ2xvYmFsT2JqZWN0LT5vYmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpOwogICAg
IE9iakNDYWxsYmFja0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPE9iakNDYWxsYmFja0Z1bmN0aW9uPih2bS5oZWFwKSkgT2JqQ0NhbGxiYWNrRnVuY3Rpb24o
dm0sIHN0cnVjdHVyZSwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXNGdW5jdGlvbiwgb2JqQ0Nh
bGxiYWNrRnVuY3Rpb25DYWxsQXNDb25zdHJ1Y3RvciwgV1RGTW92ZShpbXBsKSk7Ci0gICAgZnVu
Y3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBuYW1lKTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3Jl
YXRpb24odm0sIDAsIG5hbWUpOwogICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3Bw
CmluZGV4IDZjZTQxZjgxNWRlNjZhNDlkNmRmMmRiNThmZTVkODk1Y2ZlNjE5YTQuLjdhMDlkYmY0
ZmMzMmUyYjk2YmY1ZDkzNDE3OTRlY2Y0NjkxM2NjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NDYWxsYmFja0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDQ2FsbGJhY2tGdW5jdGlvbi5jcHAKQEAgLTU2LDcg
KzU2LDcgQEAgSlNDQ2FsbGJhY2tGdW5jdGlvbiogSlNDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdsb2JhbE9iamVjdC0+Z2xpYkNhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKICAg
ICBKU0NDYWxsYmFja0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPEpTQ0NhbGxiYWNrRnVuY3Rpb24+KHZtLmhlYXApKSBKU0NDYWxsYmFja0Z1bmN0aW9uKHZt
LCBzdHJ1Y3R1cmUsIHR5cGUsIGpzY0NsYXNzLCBXVEZNb3ZlKGNsb3N1cmUpLCByZXR1cm5UeXBl
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKLSAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0s
IG5hbWUpOworICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgMCwgbmFtZSk7CiAgICAg
cmV0dXJuIGZ1bmN0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDZiMGQzOTMy
YmRkNjI5NmMyYTJkMzEzNzI0ZTM4MDg5M2U4ZGU1MWYuLmE0ODlhMjZjYjc2ZTI5MDVhNDE5N2Vl
NmI0YjBkMzUwYzI3ODc1NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC00OSwxMCArNDks
OSBAQCBBZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yOjpBZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cgogCiB2b2lkIEFnZ3JlZ2F0ZUVycm9yQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JUeXBlTmFtZShF
cnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVj
dHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAyLCBlcnJvclR5
cGVOYW1lKEVycm9yVHlwZTo6QWdncmVnYXRlRXJyb3IpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6
V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5m
bygpKSk7CiAKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bGVuZ3RoLCBqc051bWJlcigyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCA5YjRkYzM1MThmOTg3ZDlj
Y2IwMjc4NmEwMzM2NTBhOTI3YzEwNzUyLi4yNGIxN2M3ZjI3NmVlY2RiNWU2NzVhNWE4YjZlMjZj
Zjk4OWJhZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcApAQCAtNTMsOSArNTMsOCBAQCBBcnJheUNvbnN0cnVjdG9yOjpBcnJh
eUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgQXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUsIEdldHRlclNldHRlciogc3Bl
Y2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+QXJyYXkuc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlO
YW1lcy0+QXJyYXkuc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXJyYXlQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3ROb25J
bmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNp
ZXNTeW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5
TmFtZXMtPmlzQXJyYXksIGFycmF5Q29uc3RydWN0b3JJc0FycmF5Q29kZUdlbmVyYXRvciwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25D
b25zdHJ1Y3Rvci5jcHAKaW5kZXggZDgwOTliZWMyZWZkNjgxMzgxZjc3YjdiNzU2ZmFlNjZkNjRj
MzZiZC4uMzFhOGYyM2ZkNjk5ZTdmNTRkMjNlZThhMjE3NWM5ZGIyNzM3ZDVlMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29u
c3RydWN0b3IuY3BwCkBAIC01NSw5ICs1NSw4IEBAIEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6
QXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAK
IHZvaWQgQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFz
eW5jRnVuY3Rpb25Qcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgIkFzeW5jRnVuY3Rpb24iX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkFzeW5j
RnVuY3Rpb24iX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2Vu
ZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggOGYxMDk0NTM1MmRjYjIwY2MzZGVi
NDBiMDEyM2EyMWJlODhiNzYwYi4uMDRkODM4OTk2YmEzYTQzMGFmMTNkMjJjNWYxNGJjY2RmMTgz
YTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01NSwxMSAr
NTUsOCBAQCBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OkFzeW5jR2VuZXJhdG9y
RnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cgogCiB2b2lkIEFzeW5jR2VuZXJhdG9yRnVu
Y3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBBc3luY0dlbmVyYXRvckZ1
bmN0aW9uUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sICJBc3luY0dlbmVyYXRvckZ1bmN0aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJB
c3luY0dlbmVyYXRvckZ1bmN0aW9uIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkpOwotCi0gICAgLy8gTnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgY29uc3Ry
dWN0b3IKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggN2UzZGU1ZWVhZGIxNmM5MTIxNjE2MjFmZDRjMmVmYmE5YWJmMzA5Ny4uYmVkZmM5NzRi
OTY0NWNmYWY1ODViMWNhZDI4ZTRlNDE1NmY4MGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmNwcApAQCAtNjMsMTEgKzYzLDEw
IEBAIEJpZ0ludENvbnN0cnVjdG9yOjpCaWdJbnRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogCiB2b2lkIEJpZ0ludENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEJpZ0ludFByb3RvdHlwZSogYmlnSW50UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAiQmlnSW50Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJCaWdJ
bnQiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGJpZ0ludFByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggZjM5ZTBjZjE2OTY0YWIyNmI1
ODU1MDllOTU1MDBmMmE0YjVmZjliOS4uMjY0ODA5ZTRmM2FhMDY1NDk1MWI4M2VhNTUzOTA3ZjBl
NjQ0NTBmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuY3BwCkBAIC02MSw5ICs2MSw4IEBAIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6
Qm9vbGVhbkNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQg
Qm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEJvb2xlYW5Qcm90b3R5
cGUqIGJvb2xlYW5Qcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPkJvb2xlYW4uc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwg
dm0ucHJvcGVydHlOYW1lcy0+Qm9vbGVhbi5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBib29sZWFuUHJvdG90eXBlLCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKIEpTT2JqZWN0KiBjb25zdHJ1Y3RCb29sZWFuRnJvbUltbWVkaWF0ZUJvb2xlYW4oSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBpbW1lZGlhdGVCb29sZWFuVmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApp
bmRleCAxYWZmMGQ4YmUwYjA4MzE0NDM1ODAwNDAzYmY1NTk2M2RiOGE1NmE0Li41ZmQwZWE3ZDc3
NTQwYThhMTNmZjQ0ODNlZWNkNGIyNDAzNTUxZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTYyLDkgKzYyLDggQEAgRGF0
ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKIAogdm9pZCBEYXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRGF0ZVBy
b3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+RGF0ZS5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCA3LCB2
bS5wcm9wZXJ0eU5hbWVzLT5EYXRlLnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcig3KSwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogc3Rh
dGljIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tQ29tcG9uZW50cyhKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBjb25zdCBBcmdMaXN0JiBhcmdzLCBXVEY6OlRpbWVUeXBlIHRpbWVUeXBlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cAppbmRleCBiMWM2MTkxODdiZGEyZTA2OGIxYTdjYWJmMjA3NjU0Nzk0YWM1MTI5Li5iYzBhNjIy
NjI2MWNlNGRkYTdjOTc3MDVhYjAwNGQwZDYxOWUzY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNDAsMTAgKzQwLDkg
QEAgRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogCiB2b2lkIEVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgTmFtZUFkZGl0aW9u
TW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgUHJvcGVydHlBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICAvLyBFQ01BIDE1LjEx
LjMuMSBFcnJvci5wcm90b3R5cGUKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBlcnJvclByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFja1RyYWNlTGltaXQs
IGpzTnVtYmVyKGdsb2JhbE9iamVjdCgpLT5zdGFja1RyYWNlTGltaXQoKS52YWx1ZU9yKE9wdGlv
bnM6OmRlZmF1bHRFcnJvclN0YWNrVHJhY2VMaW1pdCgpKSksIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GaW5hbGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3Ry
dWN0b3IuY3BwCmluZGV4IDUwNjk4ZjBjOTE0OWVlOTcxYzNhOWZjYWYxOGQ4NzY2NjJjM2MwZDMu
LmQ3YzQzNDI5MGM0ZDA0ODUwNjVkMmIyMDlkZDc4ZTY3ZDRiYzE4ZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJl
Z2lzdHJ5Q29uc3RydWN0b3IuY3BwCkBAIC00MSw5ICs0MSw4IEBAIGNvbnN0IENsYXNzSW5mbyBG
aW5hbGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZC
YXNlOjpzCiAKIHZvaWQgRmluYWxpemF0aW9uUmVnaXN0cnlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBGaW5hbGl6YXRpb25SZWdpc3RyeVByb3RvdHlwZSogcHJvdG90eXBlKQog
ewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRmluYWxpemF0aW9uUmVnaXN0cnkiX3Ms
IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkZpbmFsaXphdGlvblJlZ2lzdHJ5Il9zLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsRmluYWxp
emF0aW9uUmVnaXN0cnkoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5k
ZXggNGMxMDE2Zjg3OThkZGFjM2FjYWUxMTZkOWVjMTIxYTQ0NmZhY2E4YS4uY2IzYThlM2ZkYjYy
N2NlM2ViZTNhNWMwODUzMDEzZTlmZDVhNjNjOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU3LDkgKzU3LDgg
QEAgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6RnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgRnVuY3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQogewotICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5zdHJp
bmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5z
dHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBmdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiAvLyBFQ01BIDE1LjMuMiBUaGUgRnVu
Y3Rpb24gQ29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCA1MGRhYWExZGUwNTVkZjYyNGUzYzVjNjQ5MzVm
MjRiNjBkMTJlYTRiLi5hNmYwZDVhMzhhYjRlMDg1NmM2NmMwMjVkMTE0YTIwY2Y0YjYyZDk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5
cGUuY3BwCkBAIC00Nyw5ICs0Nyw4IEBAIEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3Rv
dHlwZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEZ1bmN0aW9uUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBuYW1l
LCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAg
IEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
IHZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmFkZEZ1bmN0aW9uUHJvcGVydGllcyhWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24qKiBjYWxsRnVuY3Rpb24sIEpT
RnVuY3Rpb24qKiBhcHBseUZ1bmN0aW9uLCBKU0Z1bmN0aW9uKiogaGFzSW5zdGFuY2VTeW1ib2xG
dW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVy
YXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggZGMzMGViZWQzZWE5MzIy
M2Y1OTRkMDM5MDlmYWE1YTMxZDBmZjZkYy4uZGE0YTNhZDlhNGE2Y2M1NjlkYzQxYzRlOGRiNmQw
MzU1ZDcwZWYyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2Vu
ZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU1LDkgKzU1LDgg
QEAgR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6R2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3QKIAogdm9pZCBHZW5lcmF0b3JGdW5jdGlvbkNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBl
KiBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgIkdlbmVyYXRvckZ1bmN0aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJHZW5l
cmF0b3JGdW5jdGlvbiJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKaW5kZXggNWQ3MTE2Y2NjYmVjZjY4MmU3NGRhY2U3N2U5Y2RiMWIz
Yjg4MDNkNy4uZjg5YTgzMmQyZjc3NGY5ODY0YjQyZGI0NzRkNTc0NTEwYTg3NWQ3NCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
QEAgLTQzLDcgKzQzLDcgQEAgSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlvbihWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOYXRpdmVGdW5jdGlvbgogICAgIEFTU0VSVChtX2Z1
bmN0aW9uRm9yQ29uc3RydWN0KTsKIH0KIAotdm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZSBuYW1l
QWRkaXRpb25Nb2RlKQordm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBOYW1lQWRkaXRpb25Nb2Rl
IG5hbWVBZGRpdGlvbk1vZGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAg
IEFTU0VSVChqc0R5bmFtaWNDYXN0PEludGVybmFsRnVuY3Rpb24qPih2bSwgdGhpcykpOwpAQCAt
NTEsMTIgKzUxLDE3IEBAIHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBjb25zdCBTdHJpbmcmIG5hbWUsIE5hbWVBZGRpdGlvbk1vCiAgICAgQVNTRVJUKG1ldGhv
ZFRhYmxlKHZtKS0+Z2V0Q2FsbERhdGEgPT0gSW50ZXJuYWxGdW5jdGlvbjo6aW5mbygpLT5tZXRo
b2RUYWJsZS5nZXRDYWxsRGF0YSk7CiAgICAgQVNTRVJUKG1ldGhvZFRhYmxlKHZtKS0+Z2V0Q29u
c3RydWN0RGF0YSA9PSBJbnRlcm5hbEZ1bmN0aW9uOjppbmZvKCktPm1ldGhvZFRhYmxlLmdldENv
bnN0cnVjdERhdGEpOwogICAgIEFTU0VSVCh0eXBlKCkgPT0gSW50ZXJuYWxGdW5jdGlvblR5cGUg
fHwgdHlwZSgpID09IE51bGxTZXR0ZXJGdW5jdGlvblR5cGUpOworCiAgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc1N0cmluZyh2bSwgbmFtZSk7CiAgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZt
LCB0aGlzLCBuYW1lU3RyaW5nKTsKLSAgICBpZiAobmFtZUFkZGl0aW9uTW9kZSA9PSBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlvbikKKyAgICAvLyBUaGUgZW51bWVyYXRp
b24gb3JkZXIgaXMgbGVuZ3RoIHRoZW4gbmFtZSBzbyB3ZSBoYXZlIHRvIG1ha2Ugc3VyZSB3ZSBh
ZGQgdGhlIHByb3BlcnRpZXMgaW4gdGhhdCBvcmRlci4KKyAgICBpZiAobmFtZUFkZGl0aW9uTW9k
ZSA9PSBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aFN0cnVjdHVyZVRyYW5zaXRpb24pIHsKKyAg
ICAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKGxl
bmd0aCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiAgICAgICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
bmFtZVN0cmluZywgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKLSAgICBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
bGVuZ3RoKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKICAgICAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgfQogfQogCiB2b2lkIEludGVy
bmFsRnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKQEAgLTE1OSw4ICsxNjQsNyBAQCBJbnRlcm5hbEZ1bmN0aW9uKiBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVGdW5jdGlvblRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkKFZNJgogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
Z2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlv
blR5cGUsIEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzIHwgTWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZCksIEludGVybmFsRnVuY3Rpb246OmluZm8oKSk7CiAgICAgZ2xvYmFsT2JqZWN0LT5t
YXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludCgpLT5maXJlQWxsKGdsb2JhbE9iamVjdC0+
dm0oKSwgIkFsbG9jYXRlZCBtYXNxdWVyYWRpbmcgb2JqZWN0Iik7CiAgICAgSW50ZXJuYWxGdW5j
dGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxJbnRlcm5hbEZ1bmN0
aW9uPih2bS5oZWFwKSkgSW50ZXJuYWxGdW5jdGlvbih2bSwgc3RydWN0dXJlLCBuYXRpdmVGdW5j
dGlvbik7Ci0gICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBuYW1lLCBOYW1lQWRkaXRp
b25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Ci0gICAgZnVuY3Rpb24tPnB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKGxlbmd0aCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBsZW5ndGgs
IG5hbWUsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CiAgICAgcmV0dXJuIGZ1bmN0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKaW5kZXggYzRkNmRjOTU4ZjYwNzZmNzIxOWUzMmZl
N2IwYjhmMDAzM2UzYmY0Ni4uYjU5YzFhM2M4YTc1YTk4ZWIzN2ViZjM2NWIyNTU5NGJhMzI5YmZj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rp
b24uaApAQCAtODYsOCArODYsOCBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgSW50ZXJuYWxGdW5jdGlvbihWTSYsIFN0cnVjdHVyZSosIE5hdGl2ZUZ1bmN0aW9u
IGZ1bmN0aW9uRm9yQ2FsbCwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb25Gb3JDb25zdHJ1Y3QgPSBu
dWxscHRyKTsKIAotICAgIGVudW0gY2xhc3MgTmFtZUFkZGl0aW9uTW9kZSB7IFdpdGhTdHJ1Y3R1
cmVUcmFuc2l0aW9uLCBXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbiB9OwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBjb25zdCBTdHJpbmcmIG5hbWUsIE5h
bWVBZGRpdGlvbk1vZGUgPSBOYW1lQWRkaXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlv
bik7CisgICAgZW51bSBjbGFzcyBQcm9wZXJ0eUFkZGl0aW9uTW9kZSB7IFdpdGhTdHJ1Y3R1cmVU
cmFuc2l0aW9uLCBXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbiB9OworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0
cmluZyYgbmFtZSwgUHJvcGVydHlBZGRpdGlvbk1vZGUgPSBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6
V2l0aFN0cnVjdHVyZVRyYW5zaXRpb24pOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IENhbGxEYXRhIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKik7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIENhbGxEYXRhIGdldENhbGxEYXRhKEpTQ2VsbCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDk1YjViMTNkZWFiZjYxYWRiMDkwZTQ5NDA4Yzg2ZTJkMmU0N2NhYTEuLjQ0NGQ1MjMz
OGFhZmRiNWQwNGNhZDU3MzQ5NWQxOGVmODczZDk1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAKQEAg
LTc1LDkgKzc1LDggQEAgSW50bENvbGxhdG9yQ29uc3RydWN0b3I6OkludGxDb2xsYXRvckNvbnN0
cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgSW50bENvbGxhdG9y
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bENvbGxhdG9yUHJvdG90eXBl
KiBjb2xsYXRvclByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkNv
bGxhdG9yIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsICJDb2xsYXRvciJfcywgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBjb2xsYXRv
clByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIGNvbGxhdG9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuY3BwCmluZGV4IGM5ZWJlMDUwYzhmYzU5MDg0ODRiNjY1NzdhYTZkZmU1
MjFkZDBlNGYuLjYzODgyMTFhMjdkYzRiMmJhOTZjYWUzZDk4ZjEwNjA0MzdlYmQ5MjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0
ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDkgKzc0LDggQEAgSW50bERhdGVUaW1l
Rm9ybWF0Q29uc3RydWN0b3I6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yKFZNJiB2bSwg
U3RydWN0dXJlKgogCiB2b2lkIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZSogZGF0ZVRpbWVGb3Jt
YXRQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJEYXRlVGltZUZv
cm1hdCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiRGF0ZVRpbWVGb3JtYXQiX3MsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZGF0
ZVRpbWVGb3JtYXRQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsK
LSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY29uc3RydWN0SW50bERhdGVUaW1lRm9ybWF0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggZGEwZGY1NGNhMTRkMTQ5MzU2MTg2ZmNmNDg3NmE1YzU4NDU4MTRiNS4uNWUzNWZlNjdmYzY5
M2E3MmE2Yjg4MjZmMmRhZGIwMGE5ZmM2ZTkyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3IuY3Bw
CkBAIC03Miw5ICs3Miw4IEBAIEludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvcjo6SW50bERpc3Bs
YXlOYW1lc0NvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1CiAKIHZvaWQgSW50bERp
c3BsYXlOYW1lc0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxEaXNwbGF5
TmFtZXNQcm90b3R5cGUqIGRpc3BsYXlOYW1lc1Byb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgIkRpc3BsYXlOYW1lcyJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAyLCAi
RGlzcGxheU5hbWVzIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIGRpc3BsYXlOYW1lc1Byb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIGRpc3BsYXlOYW1l
c1Byb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxMb2NhbGVDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsTG9jYWxlQ29uc3RydWN0b3IuY3BwCmluZGV4IDJkNmU2NzhiMjVmOWMy
YzEwMjRiNDIwODA4MDliNmEyZDkzZGEwNTQuLjE5ZjYxMjExNGRmYWZmOWQ0ZjFiZGIyYWQ2NTNj
OTgwMGU1NGFlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxMb2NhbGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bExvY2FsZUNvbnN0cnVjdG9yLmNwcApAQCAtNTgsOSArNTgsOCBAQCBJbnRsTG9jYWxl
Q29uc3RydWN0b3I6OkludGxMb2NhbGVDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQogCiB2b2lkIEludGxMb2NhbGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBJbnRsTG9jYWxlUHJvdG90eXBlKiBsb2NhbGVQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sICJMb2NhbGUiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRT
dHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkxv
Y2FsZSJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBsb2NhbGVQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBsb2NhbGVQcm90b3R5cGUtPnB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhp
cywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVy
Rm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCA0MmI5MGRlNjZhYTE1Yjk2Yjc0NTgw
NzUwMDFiY2M1YWFiMmRmYTE0Li5iYzhhNTU3Mzg2YWJmMjVhZTlkMTBmNTRhNTc5MDYyNjNiNTRj
MDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVy
Rm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDkgKzc0LDggQEAgSW50bE51
bWJlckZvcm1hdENvbnN0cnVjdG9yOjpJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnUKIAogdm9pZCBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bE51bWJlckZvcm1hdFByb3RvdHlwZSogbnVtYmVyRm9y
bWF0UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiTnVtYmVyRm9y
bWF0Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsICJOdW1iZXJGb3JtYXQiX3MsIFByb3BlcnR5
QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbnVtYmVy
Rm9ybWF0UHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGNvbnN0cnVjdEludGxOdW1iZXJGb3JtYXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMjE3NGUz
NTQ1Njk2OGI2YjUwMTAzYWZlNmNmZmZkYzU3ZTlkMTQ0ZC4uOTlkMDg4MmNmYmFkZjBiZTViNDlh
MjU4OTU4YmNmZGQ3MjNiNzUyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcApAQCAtNzQsOSAr
NzQsOCBAQCBJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvcjo6SW50bFBsdXJhbFJ1bGVzQ29uc3Ry
dWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogCiB2b2lkIEludGxQbHVyYWxSdWxlc0Nv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxQbHVyYWxSdWxlc1Byb3RvdHlw
ZSogcGx1cmFsUnVsZXNQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
ICJQbHVyYWxSdWxlcyJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5z
aXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiUGx1cmFsUnVsZXMiX3Ms
IFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgcGx1cmFsUnVsZXNQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwbHVyYWxSdWxlc1Byb3RvdHlwZS0+cHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0
aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxh
dGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCmluZGV4IGIwMGQzY2Ix
ODYyN2EwZDc1MGZiMTIzYjFiMzM4ZjE5ZDRkOWNhMmIuLmFjNDU1NDFkN2FjZThjMmZmZTc1ZGYz
OWVjOWUzM2YyZTY5ZTdlODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNw
cApAQCAtNzMsOSArNzMsOCBAQCBJbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3I6Oklu
dGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cgogCiB2b2lkIEludGxS
ZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRs
UmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlKiByZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJSZWxhdGl2ZVRpbWVGb3JtYXQiX3Ms
IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgIlJlbGF0aXZlVGltZUZvcm1hdCJfcywgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCByZWxhdGl2
ZVRpbWVGb3JtYXRQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsK
LSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICByZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUtPnB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rv
ciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
U2VnbWVudGVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFNlZ21lbnRlckNvbnN0cnVjdG9yLmNwcAppbmRleCA4MzRkOWJlOTExZTBmZTQxMjc3YTY5
Yjc3MDlhYzUzYjllYmZmYzAxLi4xZTFiOWVlOTI2NzNmMTJmYjRmNjc1YzFlOGE2NGRlZmQwZWZi
OWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsU2VnbWVu
dGVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxTZWdtZW50ZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTcyLDkgKzcyLDggQEAgSW50bFNlZ21lbnRl
ckNvbnN0cnVjdG9yOjpJbnRsU2VnbWVudGVyQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKIAogdm9pZCBJbnRsU2VnbWVudGVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSW50bFNlZ21lbnRlclByb3RvdHlwZSogc2VnbWVudGVyUHJvdG90eXBlKQog
ewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiU2VnbWVudGVyIl9zLCBOYW1lQWRkaXRp
b25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIDAsICJTZWdtZW50ZXIiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgc2VnbWVudGVyUHJvdG90eXBlLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgc2Vn
bWVudGVyUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZjFi
NmFkZDYwZWM5ZWUyODk0NzJkZmM4NDllNWYyNDIwZWMxYjczMi4uOTM1ZGM5ZjA5MmYzNTQxMjg3
OTE5M2Y2OGExZTY3MDdkYzg1ZDM3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC01Nyw5ICs1
Nyw4IEBAIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3I8c2hhcmluZ01vZGU+OjpKU0dl
bmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKFZNCiB0ZW1wbGF0ZTxBcnJheUJ1ZmZlclNoYXJp
bmdNb2RlIHNoYXJpbmdNb2RlPgogdm9pZCBKU0dlbmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
PHNoYXJpbmdNb2RlPjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0FycmF5QnVmZmVyUHJvdG90
eXBlKiBwcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgYXJyYXlCdWZmZXJTaGFyaW5nTW9kZU5hbWUoc2hhcmluZ01v
ZGUpLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsIGFycmF5QnVmZmVyU2hhcmluZ01vZGVOYW1lKHNo
YXJpbmdNb2RlKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yV2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNp
ZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAKICAgICBpZiAoc2hh
cmluZ01vZGUgPT0gQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3RvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKaW5kZXggYzk4N2I5OWJiMjdl
NDQxOTM4Y2FjNWNkZDdjYWIwNTBmMTg1ZTllZC4uMWU5NTE2YWViNmJjNTU3ZjM4YThkOWM5YjIz
MDQ5ZWFiYjdjZGJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
SW5saW5lcy5oCkBAIC01Miw5ICs1Miw4IEBAIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3I8Vmlld0NsYXNzPjo6SlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBWaWV3Q2xhc3M+CiB2b2lkIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3I8Vmlld0NsYXNzPjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUs
IEZ1bmN0aW9uRXhlY3V0YWJsZSogcHJpdmF0ZUFsbG9jYXRvcikKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBWaWV3Q2xhc3M6OlR5cGVk
QXJyYXlTdG9yYWdlVHlwZSA9PSBUeXBlRGF0YVZpZXcgPyAxIDogMywgbmFtZSwgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5
cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcihWaWV3
Q2xhc3M6OlR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9PSBUeXBlRGF0YVZpZXcgPyAxIDogMyksIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkJZ
VEVTX1BFUl9FTEVNRU5ULCBqc051bWJlcihWaWV3Q2xhc3M6OmVsZW1lbnRTaXplKSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOwogCiAgICAgaWYgKHByaXZhdGVBbGxvY2F0b3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlW
aWV3Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yLmNwcAppbmRleCA0NmQzOTMyNTBjOWM5MzFlZTFhYjYyYjc5
NDI5N2U3ZTNhZWYxZjExLi5hZWU2ZjE5ZTQ0YTJjYzJkZWI5ODk1MDQ0NjVkNzVlMjIxNjU5MDNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlW
aWV3Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5jcHAKQEAgLTQzLDkgKzQzLDggQEAgY29uc3QgQ2xh
c3NJbmZvIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24i
LCAmQmFzZTo6c19pbmYKIAogdm9pZCBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZSogcHJvdG90eXBlLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJUeXBlZEFycmF5Il9zLCBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIDAsICJUeXBlZEFycmF5Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29y
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKIAogICAgIEpTQ19CVUlMVElOX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTih2bS5w
cm9wZXJ0eU5hbWVzLT5vZiwgdHlwZWRBcnJheUNvbnN0cnVjdG9yT2ZDb2RlR2VuZXJhdG9yLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
ZjdhZGEyMmRjNDNkNmU1ZDlkMzM5MDJmZDRhMjNmNTkwM2YzZTlhNS4uMTA5ZDU4ZDhmOTgyYmEx
ZDY0YTVlNGJiOTBiZTAxNGYzOWNjY2ZkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcApAQCAtMzcsOSArMzcsOCBAQCBjb25zdCBDbGFz
c0luZm8gTWFwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5m
bywgbnVsbHB0ciwgbgogCiB2b2lkIE1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1i
b2wpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJNYXAiX3MsIE5hbWVBZGRpdGlv
bk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgMCwgIk1hcCJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1
cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlLCBtYXBQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3ROb25JbmRl
eEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNT
eW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9y
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTI4ZmMxYTA4ZmQxZDZkNzEzNmQzOGQ5MTE4N2I1MDA5
YTdhNDExNi4uZmIwNDYxOTI3MDE2NDA1NDk0ZjNjY2E0YzljODdhMmZlMDc0YzU0NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKQEAgLTM5LDEwICszOSw5IEBAIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJy
b3JUeXBlPjo6TmF0aXZlRXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RyCiAK
IHZvaWQgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvckJhc2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
TmF0aXZlRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSwgRXJyb3JUeXBlIGVycm9yVHlwZSkKIHsK
LSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JUeXBlTmFtZShlcnJvclR5cGUpLCBO
YW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIDEsIGVycm9yVHlwZU5hbWUoZXJyb3JUeXBlKSwgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBBU1NFUlQoaW5o
ZXJpdHModm0sIGluZm8oKSkpOwogICAgIAotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsR2V0dGVyRnVuY3Rpb24uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCmluZGV4
IDE3YmMxMmIyOWYyM2Y2MjA5ZjVlZTMyODIyZjcyYTRhOGI3NWViZmUuLjNiYjgyMWEyZTFjZjRh
ZjhiYWY4N2U1MzQ3ODZjNjhiMDhhZGQ3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCkBAIC0zNyw3ICszNyw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIC8vIFNpbmNlIE51bGxHZXR0ZXJGdW5jdGlvbiBpcyBwZXIgSlNH
bG9iYWxPYmplY3QsIHdlIHVzZSBwdXQtd2l0aG91dC10cmFuc2l0aW9uIGluIEludGVybmFsRnVu
Y3Rpb246OmZpbmlzaENyZWF0aW9uLgogICAgICAgICBOdWxsR2V0dGVyRnVuY3Rpb24qIGZ1bmN0
aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8IE51bGxHZXR0ZXJGdW5jdGlvbj4odm0u
aGVhcCkpICBOdWxsR2V0dGVyRnVuY3Rpb24odm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGZ1bmN0
aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgU3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9u
KHZtLCAwLCBTdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uaAppbmRleCBj
Mzk2NDY5ODA3Yzg4YjMzYTdjMWZkOGU4MjBlMDcxMGUxZWRmZmY5Li5jYTI4ODg4Njg3OTIyNDI2
ZmEzMDkwMzFhYjI3ZTYyYTNkZDYzYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uaApAQCAtMzUsOCArMzUsOCBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgTnVsbFNldHRlckZ1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgRUNNQU1vZGUgZWNtYU1vZGUpCiAgICAgewotICAgICAgICBOdWxsU2V0
dGVyRnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8IE51bGxT
ZXR0ZXJGdW5jdGlvbj4odm0uaGVhcCkpICBOdWxsU2V0dGVyRnVuY3Rpb24odm0sIHN0cnVjdHVy
ZSwgZWNtYU1vZGUpOwotICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIFN0cmlu
ZygpKTsKKyAgICAgICAgTnVsbFNldHRlckZ1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPE51bGxTZXR0ZXJGdW5jdGlvbj4odm0uaGVhcCkpICBOdWxsU2V0dGVy
RnVuY3Rpb24odm0sIHN0cnVjdHVyZSwgZWNtYU1vZGUpOworICAgICAgICBmdW5jdGlvbi0+Zmlu
aXNoQ3JlYXRpb24odm0sIDAsIFN0cmluZygpKTsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVy
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuY3BwCmluZGV4IGM4ZWQ4NWRhYzMzMWRiZGQ0OTAxZDc2NGI5YzAyNjY2NGEzY2Ey
YjEuLjQwNGU3OWIzZDVjM2IxMzE5YWE1ODI4NzBmNDZiMWU1YjkzNDEzMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKQEAg
LTU5LDEzICs1OSwxMiBAQCBOdW1iZXJDb25zdHJ1Y3Rvcjo6TnVtYmVyQ29uc3RydWN0b3IoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBOdW1iZXJDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBOdW1iZXJQcm90b3R5cGUqIG51bWJlclByb3RvdHlwZSkKIHsK
LSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyLnN0
cmluZygpLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsIHZtLnByb3BlcnR5TmFtZXMtPk51bWJlci5z
dHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogCiAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IG51bWJlclByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KHZtKTsKIAog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIG51bWJlclByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
OwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJFUFNJTE9OIiksIGpzRG91YmxlTnVtYmVy
KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6ZXBzaWxvbigpKSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiTUFYX1ZBTFVFIiksIGpzRG91YmxlTnVtYmVyKDEu
Nzk3NjkzMTM0ODYyMzE1N0UrMzA4KSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCmluZGV4IDJmNTBkODU3MzUzNTJmMDIwOTEwMWVmNWIyMGQ4OTdlZjg3MjBhZjEuLmRl
MDc4Y2VkYjg4YWMyNTk1YzY5NDFlM2JmZjZiNTIzY2NhNTVkYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTkzLDEw
ICs5Myw5IEBAIE9iamVjdENvbnN0cnVjdG9yOjpPYmplY3RDb25zdHJ1Y3RvcihWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIE9iamVjdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE9iamVjdFByb3RvdHlw
ZSogb2JqZWN0UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5PYmplY3Quc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRT
dHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgdm0u
cHJvcGVydHlOYW1lcy0+T2JqZWN0LnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgb2JqZWN0UHJvdG90eXBlLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAKICAg
ICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVz
LT5idWlsdGluTmFtZXMoKS5jcmVhdGVQcml2YXRlTmFtZSgpLCBvYmplY3RDb25zdHJ1Y3RvckNy
ZWF0ZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IDIpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmRlZmluZVByb3BlcnR5UHJpdmF0ZU5hbWUoKSwgb2Jq
ZWN0Q29uc3RydWN0b3JEZWZpbmVQcm9wZXJ0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSksIDMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJveHlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm94eUNvbnN0cnVjdG9yLmNwcAppbmRleCAzNDZiNjY1Y2QwOGQyNmU5YzJl
ZmJhYzFlYzNjNTI0OTBjZjQ1NjcyLi4zMTRhMjYzZjExMGQ0MTVlMmJlY2I4ZDNmZDAxYjEzNzM3
NjI2YjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eUNv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eUNv
bnN0cnVjdG9yLmNwcApAQCAtNzUsOCArNzUsNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBtYWtlUmV2b2NhYmxlUHJveHkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagog
CiB2b2lkIFByb3h5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgY2hh
ciogbmFtZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aFN0cnVjdHVyZVRyYW5z
aXRpb24pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMiwgbmFtZSwgUHJvcGVy
dHlBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3Qo
dm0sIG1ha2VJZGVudGlmaWVyKHZtLCAicmV2b2NhYmxlIiksIEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCAyLCAicmV2b2NhYmxlIl9zLCBtYWtlUmV2b2NhYmxlUHJveHkpKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlSZXZv
a2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlSZXZva2UuY3BwCmlu
ZGV4IGM2Y2Y0ZTc4YWNmYzM5OTgwMGU2NThhNTY3NjA5NDM1YmYxZTM1ZWUuLjA0YWE2ZmRlMTli
Njk0N2IwN2NhNDEyMWU1NjcyMmFlZGE5NDY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3h5UmV2b2tlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm94eVJldm9rZS5jcHAKQEAgLTUxLDEwICs1MSw4IEBAIFByb3h5UmV2b2tl
OjpQcm94eVJldm9rZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIFByb3h5
UmV2b2tlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFByb3h5T2JqZWN0KiBwcm94eSkKIHsKLSAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZW1wdHlTdHJpbmcoKSk7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIDAsIGVtcHR5U3RyaW5nKCkpOwogICAgIG1fcHJveHkuc2V0KHZtLCB0
aGlzLCBwcm94eSk7Ci0KLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHBlcmZvcm1Qcm94eVJldm9rZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCA0NmFmYWU1NTk2YTg3ZWFiNDRjY2UyMmM1YjMy
MDlkN2ZjNTBjZWI4Li5kMjc1YzNmMTRmMTEyMGFmYmE5N2MzMjVhZGFiMGRlYjI2Mjk5ZmQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwCkBAIC04NiwxMSArODYsMTAgQEAgUmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0
cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgUmVnRXhwQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90
b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+UmVnRXhwLnN0cmluZygpLCBOYW1lQWRkaXRp
b25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIDIsIHZtLnByb3BlcnR5TmFtZXMtPlJlZ0V4cC5zdHJpbmcoKSwgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBBU1NFUlQoaW5o
ZXJpdHModm0sIGluZm8oKSkpOwogCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcmVnRXhwUHJvdG90eXBlLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMiksIFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAKICAgICBwdXRE
aXJlY3ROb25JbmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nl
c3NvciB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
ZXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggODZlYTViMTUzMjQzM2JiYjcyZjFkODI1NmUyNTVmNTQxNWJiMzEy
NC4uMDg2YTQ2NjQ3ZjliYzc2ZWIxMDc3ZGJlYTVmZmQ5YTNiOWUwNmFjYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcApAQCAtMzcsOSAr
MzcsOCBAQCBjb25zdCBDbGFzc0luZm8gU2V0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0
aW9uIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbgogCiB2b2lkIFNldENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlLCBHZXR0ZXJT
ZXR0ZXIqIHNwZWNpZXNTeW1ib2wpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPlNldC5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCB2bS5w
cm9wZXJ0eU5hbWVzLT5TZXQuc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgc2V0UHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0
Tm9uSW5kZXhBY2Nlc3NvcldpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5z
cGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3Ig
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
bmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggMjQ4NzRlNjNmZTdkMDBiMjlhNzcyMDY2MGU4MTE5YTc0ZjIx
ZWE0MC4uYWU2NzUyZDNhNjcyZDAyNGJmZWMwNzczYzNiNDJmMWZmYTA3MzllMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApA
QCAtNTksOSArNTksOCBAQCBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBTdHJpbmdDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKIHsK
LSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+U3RyaW5nLnN0
cmluZygpLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsIHZtLnByb3BlcnR5TmFtZXMtPlN0cmluZy5z
dHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBzdHJpbmdQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVs
ZXRlKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDVlN2VjYmEyMTNjMjg0NTIyNDBiYjI5Mjc1NzFlOGE1MGY3NTZjOGUuLjQ4YTU3NGE4
NWZmMWJlZmU4ZDUwNmVhNmM0NGVkNTMyZDkxODUwOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAKQEAgLTY2LDkgKzY2LDgg
QEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sICNuYW1lKSwgU3ltYm9sOjpjcmVhdGUKIAogdm9pZCBTeW1ib2xDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBTeW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+U3ltYm9sLnN0cmluZygp
LCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsIHZtLnByb3BlcnR5TmFtZXMtPlN5bWJvbC5zdHJpbmco
KSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKIAogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfV0VMTF9LTk9XTl9TWU1CT0xTKQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5j
cHAKaW5kZXggOWI0ZDJjYWUwNjE2MTY0MmUzMjJlNzBkYTVkYzE0NDVhN2NkY2UzNC4uOTI5Yzc1
YjQ0NmJiMDA3NGFhYjI1NjljYTc4ODY5MmEyN2I1ZGJlZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuY3BwCkBAIC0zNyw5ICsz
Nyw4IEBAIGNvbnN0IENsYXNzSW5mbyBXZWFrTWFwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1
bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0CiAKIHZvaWQgV2Vha01hcENvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsK
LSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIldlYWtNYXAiX3MsIE5hbWVBZGRpdGlvbk1v
ZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgMCwgIldlYWtNYXAiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxXZWFrTWFwKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1l
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrT2JqZWN0
UmVmQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09i
amVjdFJlZkNvbnN0cnVjdG9yLmNwcAppbmRleCAxNmE3YWQ3ODg2Mjc4NTlhMmYyYjEwMzY0Mjc4
M2Y0YzMxNDI4OTI1Li42Njk1ODQ5MWIwNDhiODY1NTlkNGY0ZTcwOTcyZmIxODhkYTM1YWE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrT2JqZWN0UmVmQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtPYmpl
Y3RSZWZDb25zdHJ1Y3Rvci5jcHAKQEAgLTM2LDkgKzM2LDggQEAgY29uc3QgQ2xhc3NJbmZvIFdl
YWtPYmplY3RSZWZDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19p
bmZvLAogCiB2b2lkIFdlYWtPYmplY3RSZWZDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBXZWFrT2JqZWN0UmVmUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sICJXZWFrUmVmIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJXZWFr
UmVmIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjYWxsV2Vha1JlZihKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggZmY5YjVjZWFiNmZhZDJmMjk5Mzk5ZjNjNTEwNjcwYzgxMmMyYzA4MS4uMzlmODY3ZDIwYWFl
MDcwNTkzN2Y5MGRjZjZhOTZkOWU2NGE0NGVkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwCkBAIC0zNyw5ICszNyw4IEBA
IGNvbnN0IENsYXNzSW5mbyBXZWFrU2V0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9u
IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0CiAKIHZvaWQgV2Vha1NldENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIFdlYWtTZXRQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIldlYWtTZXQiX3MsIE5hbWVBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
MCwgIldlYWtTZXQiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGNhbGxXZWFrU2V0KEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBp
bGVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDg5YzYwMzIwOWM3YjAy
MGY4NWM1MGEwZTA1YWM0OTBjMDhjYTJlMjIuLjUyNzg2MTZmYjdjMzRkYjhlMjJiZDJiMGVlYjMx
YTZiOGM5N2RiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCkBA
IC03OSw5ICs3OSw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPCiAKIHZvaWQgV2ViQXNzZW1i
bHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvclByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAiQ29tcGlsZUVycm9yIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJD
b21waWxlRXJyb3IiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERl
bGV0ZSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9y
Q29uc3RydWN0b3I6OldlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5jcHAKaW5kZXggY2Fh
OGI2Y2Y2OTNiMTJmNDgwZTRlYTI1MjNhOGZlNGZjMTkzZTQ5OS4uNDUyYmFiMzJlNWE2NTA3NzBi
OGI4ZDNmNTdmMzIxYjg3MTBjOWIyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5jcHAKQEAg
LTE0Myw5ICsxNDMsOCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3I6
OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KgogCiB2b2lkIFdlYkFzc2Vt
Ymx5R2xvYmFsQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlH
bG9iYWxQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgIkdsb2JhbCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAiR2xvYmFsIl9zLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCiBXZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yOjpXZWJBc3NlbWJseUdsb2Jh
bENvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5j
ZUNvbnN0cnVjdG9yLmNwcAppbmRleCBhMTZkYTIwMjM2YTc2NDYwOTgzZThmNGJkNmExYTU0ZWE2
OGFiYzEwLi5jY2MyN2U2MzFhZjc3ZTRiYzcwOWZlYWE4ZTI1NzJhZTRkYTIxNjc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5SW5zdGFuY2VDb25zdHJ1Y3Rvci5jcHAKQEAgLTk3LDkgKzk3LDggQEAgU3RydWN0dXJlKiBX
ZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpT
R2xvYmFsT2JqZWMKIAogdm9pZCBXZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZSogcHJvdG90eXBl
KQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiSW5zdGFuY2UiX3MsIE5hbWVBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgMSwgIkluc3RhbmNlIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3NlbWJs
eUluc3RhbmNlQ29uc3RydWN0b3I6OldlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3RvcihWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNw
cAppbmRleCBhMWM4YTUzMjQyMjA0OWEyNzIxMzZmM2IzZDBhODNjMWFlMDM2YTY2Li4wZGUzZmI3
Yzc5ZDY1OTU0MTZhNmU3YjhiMDJmMmE4ZTRjOTIyODkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNv
bnN0cnVjdG9yLmNwcApAQCAtNzksOSArNzksOCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5TGlu
a0Vycm9yQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZQog
CiB2b2lkIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkxpbmtFcnJvciJfcywgTmFtZUFkZGl0aW9uTW9kZTo6
V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
LCAxLCAiTGlua0Vycm9yIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVy
ZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3NlbWJseUxpbmtFcnJv
ckNvbnN0cnVjdG9yOjpXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuY3BwCmluZGV4IGViMWQ2
N2YwOWVhMDJlNDRkOWMxOGQ5NDJjMzM0MGE4ODMxMmRkZDUuLjFlMGNiYTBmM2E4MzZiYTk2NjMw
MmMwY2Y1ZWQ4ZDI1OWYxNWJlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuY3BwCkBAIC0x
MzUsOSArMTM1LDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yOjpj
cmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCoKIAogdm9pZCBXZWJBc3NlbWJs
eU1lbW9yeUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2VtYmx5TWVt
b3J5UHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
ICJNZW1vcnkiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIk1lbW9yeSJfcywgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5
cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKIH0KIAogV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlNZW1vcnlD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNvbnN0
cnVjdG9yLmNwcAppbmRleCA1N2E5N2ZjYmQ3OWNiNjFhNGJhZGFmYWZjNDkxMGY5MzAxMDQ0MGRk
Li45YzdhYzAyNWVjMDIxOWNjMGYxZTQwY2JiODAzMjQ1YWU4NDdjZjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVs
ZUNvbnN0cnVjdG9yLmNwcApAQCAtMjAwLDkgKzIwMCw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1i
bHlNb2R1bGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqCiAKIHZvaWQgV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBXZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiTW9kdWxlIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRo
b3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEs
ICJNb2R1bGUiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0
b3I6OldlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYjM3ZmYx
MDVlZDYxZjE5MmU1MGM0NmMyNTdjMzNiZDFiYmVlNmEwNi4uOWU1Yzc3MWI2MmUyMWM1NmJjZTc3
ZDRlYjdiNmQyNDYzMWE0NjFiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTgxLDkgKzgxLDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE8KIAogdm9pZCBX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sICJSdW50aW1lRXJyb3IiX3MsIE5hbWVBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgMSwgIlJ1bnRpbWVFcnJvciJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3RvcihW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggYTc2YWZjOWRlOTEzMjg2NzM0NjE1YzEyNmJhNjdiMjAzYWIxZGVkMy4uZDk4M2YwYTAwZGIx
MzliZGM3YjhmMDVjMWRmYzNmZTAwMGYxNmI5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3Bw
CkBAIC0xMjcsOSArMTI3LDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0
b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KgogCiB2b2lkIFdlYkFz
c2VtYmx5VGFibGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3NlbWJs
eVRhYmxlUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sICJUYWJsZSJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAiVGFibGUiX3MsIFByb3BlcnR5
QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90
eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSks
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiB9CiAKIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlUYWJsZUNv
bnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAppbmRleCBmNWVmYjNhNTg0NzA2NmEzMWU4Yjg2N2NiNDY0
MzJiYmExYmIyY2FjLi4xODFhNDY4ZTBiNmZkNzIxZDMzMmQ4ZjA0Y2YxYTNkZDFkMTY2ZTRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKQEAgLTU0LDcgKzU0LDcg
QEAgUnVudGltZU1ldGhvZDo6UnVudGltZU1ldGhvZChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBNZXRob2QqIG1ldGhvZCkKIAogdm9pZCBSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIGNvbnN0IFN0cmluZyYgaWRlbnQpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sIGlkZW50KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgaWRlbnQpOwog
ICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKaW5k
ZXggNGNlNzQwYjk0NGNlOWNiMjI1ZTMxNWI4ZDljZDM5MjZhNzRmMmJmOC4uZmQzMDRkMzhmYjc3
M2NjMmEwZWNiNjJmZDdiMmVmNmNiNmQxZTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKQEAgLTU2LDcg
KzU2LDcgQEAgSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTlBJZGUKIAogdm9pZCBKU05QTWV0aG9kOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgbmFtZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsIG5h
bWUpOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7CiB9CiAK
</data>
<flag name="commit-queue"
          id="424918"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409290</attachid>
            <date>2020-09-21 11:57:22 -0700</date>
            <delta_ts>2020-09-21 13:06:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216789-20200921115721.patch</filename>
            <type>text/plain</type>
            <size>70786</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi4xZjkzMWMyMDgxMGY5Y2Ez
ZTRmNTBhZjViMjIzYWM0Mzc0ZjNjZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjEgQEAKKzIwMjAtMDktMjEgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgRnVuY3Rpb25zIHNob3VsZCBjb25zaXN0ZW50bHkgZW51bWVyYXRl
IGxlbmd0aCBiZWZvcmUgbmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE2Nzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvZWNtYTI2Mi9wdWxsLzIxMTYs
IHdoaWNoIGhhcyBiZWVuCisgICAgICAgIGFwcHJvdmVkIHRvIGJlIG1lcmdlZCBpbnRvIHRoZSBt
YWluIEpTIHNwZWMsIGl0J3MgZXhwZWN0ZWQgdGhhdAorICAgICAgICBhbGwgZnVuY3Rpb25zIHNo
b3VsZCBoYXZlIHRoZWlyIGxlbmd0aCBwcm9wZXJ0eSBlbnVtZXJhdGVkIGJlZm9yZQorICAgICAg
ICB0aGUgbmFtZSBwcm9wZXJ0eS4gVG8gZW5zdXJlIHRoaXMgaW52YXJpYW50LCB0aGlzIHBhdGNo
IG1vdmVzIHRoZQorICAgICAgICBsZW5ndGggc2V0IGludG8gSW50ZXJuYWxGdW5jdGlvbjo6Zmlu
aXNoQ3JlYXRpb24uCisKKyAgICAgICAgVGhlcmUgYXJlIG5vIG5ldyB0ZXN0cyBzaW5jZSB0ZXN0
cyB3aWxsIGJlIGFkZGVkIHRvIHRlc3QyNjIgd2hlbgorICAgICAgICB0aGUgc3BlYyBQUiBpcyBt
ZXJnZWQuIEFkZGluZyB0ZXN0cyB0byBzdHJlc3MganVzdCBtZWFucyB3ZSB3aWxsCisgICAgICAg
IGhhdmUgdGhlIHNhbWUgdGVzdCB0d2ljZSwgd2hpY2ggc2VlbXMgbGlrZSBhIHdhc3RlLgorCisg
ICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQ2Fs
bGJhY2tGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIEFQSS9PYmpDQ2FsbGJh
Y2tGdW5jdGlvbi5tbToKKyAgICAgICAgKEpTQzo6T2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0
ZSk6CisgICAgICAgICogQVBJL2dsaWIvSlNDQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkpTQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9B
Z2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QWdncmVnYXRlRXJy
b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgIChKU0M6OkFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6QXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OkJpZ0ludENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChK
U0M6OkVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGaW5h
bGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICog
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkdlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAg
ICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6
OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZUZ1bmN0aW9uVGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsQ29s
bGF0b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRp
bWVGb3JtYXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bERpc3Bs
YXlOYW1lc0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9J
bnRsTG9jYWxlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTG9jYWxlQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3Jt
YXRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXRDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFBsdXJhbFJ1bGVz
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFJlbGF0aXZlVGltZUZvcm1h
dENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsU2Vn
bWVudGVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsU2VnbWVudGVyQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3I8c2hhcmluZ01vZGU+OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oOgorICAgICAgICAoSlND
OjpKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPFZpZXdDbGFzcz46OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3JCYXNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OdWxsR2V0
dGVyRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5oOgor
ICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpO
dW1iZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvT2Jq
ZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OlByb3h5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL1Byb3h5UmV2b2tlLmNwcDoKKyAgICAgICAgKEpTQzo6UHJveHlSZXZva2U6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAg
ICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6U3ltYm9sQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1dlYWtNYXBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYWtNYXBDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha09iamVjdFJlZkNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2Vha09iamVjdFJlZkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpXZWFrU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAg
ICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxl
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRp
bWVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2Vi
QXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlU
YWJsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAtMDktMjAgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBEcm9wIE9wdGlvbnM6
OnVzZUJpZ0ludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI0Y2QzOGRhYTMzMzBiMTJhZjBiZDAyYmM2NTliN2Q3
MTMwNTMyNDkuLmFjYzM1ZTdlZTRiYjE0YmY2OTc5MzRiMzg0Y2NiNTQ2MzgyNWUwY2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0yMSAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgc2hvdWxkIGNvbnNpc3RlbnRs
eSBlbnVtZXJhdGUgbGVuZ3RoIGJlZm9yZSBuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY3ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSdW50aW1lTWV0aG9kIGluaGVyaXRzIGZyb20gSW50ZXJu
YWxGdW5jdGlvbiB3aGljaCBub3cgc2V0cyBsZW5ndGggYnkgZGVmYXVsdC4KKyAgICAgICAgUnVu
dGltZU1ldGhvZCBpbnRlcmNlcHRzIGxlbmd0aCBpbiBnZXRPd25Qcm9wZXJ0eVNsb3Qgc28gdGhl
IHZhbHVlIHdlIHBpY2sKKyAgICAgICAgZG9lc24ndCBhY3R1YWxseSBtYXR0ZXIuIFRlY2huaWNh
bGx5LCB0aGlzIHVzZXMgYSBsaXR0bGUgZXh0cmEgbWVtb3J5IGJ1dAorICAgICAgICB0aGF0J3Mg
bm90IHRvbyBiaWcgb2YgYSBkZWFsIGJlY2F1c2UgUnVudGltZU1ldGhvZCdzIGFyZSByYXJlIChh
bmQgSSBiZWxpZXZlCisgICAgICAgIGRlcHJlY2F0ZWQpLgorCisgICAgICAgICogYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZU1ldGhvZDo6ZmluaXNoQ3Jl
YXRpb24pOgorCiAyMDIwLTA5LTIwICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGFuZCBQZXJmb3JtYW5jZS50aW1pbmcgYXJl
IGluY29ycmVjdGx5IGV4cG9zZWQgdG8gd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2Njg2MzY3ZTI3NTI5
ZDYxNDM5M2RmYWI2NzEwNDMxNWYxMmNlZGZjLi5iY2ExNDZlZTc4YTY0YzJmZTU1ZTlkYTdhZmY0
ZTYzMGY1MzE1ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA5LTIxICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bmN0aW9ucyBz
aG91bGQgY29uc2lzdGVudGx5IGVudW1lcmF0ZSBsZW5ndGggYmVmb3JlIG5hbWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjc4OQorCisgICAgICAg
IEpTTlBNZXRob2QgaW5oZXJpdHMgZnJvbSBJbnRlcm5hbEZ1bmN0aW9uIHdoaWNoIG5vdyBzZXRz
IGxlbmd0aCBieSBkZWZhdWx0LgorICAgICAgICBJIGNob3NlIDAgYmVjYXVzZSBpdCBsb29rcyBs
aWtlIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBkaXJlY3RseSBsb29rIGF0IGFueQorICAgICAgICBh
cmd1bWVudHMgYW5kIEkgZG91YnQgYW55b25lIGlzIGxvb2tpbmcgYXQgdGhlIGxlbmd0aCBhbnl3
YXkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKwogMjAy
MC0wOS0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTb3J0IHRoZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggYWJiYTA0MTkwODRjZGEwMzZiNjA5YTIwZGY3
MjkxMTc0NWMyMDE0Mi4uZWMxNGNmYmRmZTNkOTM0YzM3ZmRlOWI3ZjM2NTlkYTE0NjFhMTM1NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNw
cApAQCAtNDMsNyArNDMsNyBAQCBKU0NhbGxiYWNrRnVuY3Rpb246OkpTQ2FsbGJhY2tGdW5jdGlv
bihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdENhbAogCiB2b2lkIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIG5hbWUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUpOworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAwLCBuYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFj
a0Z1bmN0aW9uLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2FsbGJhY2tGdW5j
dGlvbi5tbQppbmRleCA3NDU0Zjk4YjQwOTcxOTU5ZmE1OTE1Yzk2NDY5ZGRhYzIyMmNmMWM1Li42
YTY3Y2M5OGJlZDMwMGU2ZTNkNzhiMWJiOGRmYmU2Nzc2NzQzNDUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0KQEAgLTU0Nyw3ICs1
NDcsNyBAQCBPYmpDQ2FsbGJhY2tGdW5jdGlvbiogT2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0
ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iagogewogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gZ2xvYmFsT2JqZWN0LT5vYmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpOwogICAg
IE9iakNDYWxsYmFja0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPE9iakNDYWxsYmFja0Z1bmN0aW9uPih2bS5oZWFwKSkgT2JqQ0NhbGxiYWNrRnVuY3Rpb24o
dm0sIHN0cnVjdHVyZSwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXNGdW5jdGlvbiwgb2JqQ0Nh
bGxiYWNrRnVuY3Rpb25DYWxsQXNDb25zdHJ1Y3RvciwgV1RGTW92ZShpbXBsKSk7Ci0gICAgZnVu
Y3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBuYW1lKTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3Jl
YXRpb24odm0sIDAsIG5hbWUpOwogICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3Bw
CmluZGV4IDZjZTQxZjgxNWRlNjZhNDlkNmRmMmRiNThmZTVkODk1Y2ZlNjE5YTQuLjdhMDlkYmY0
ZmMzMmUyYjk2YmY1ZDkzNDE3OTRlY2Y0NjkxM2NjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NDYWxsYmFja0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDQ2FsbGJhY2tGdW5jdGlvbi5jcHAKQEAgLTU2LDcg
KzU2LDcgQEAgSlNDQ2FsbGJhY2tGdW5jdGlvbiogSlNDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdsb2JhbE9iamVjdC0+Z2xpYkNhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKICAg
ICBKU0NDYWxsYmFja0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPEpTQ0NhbGxiYWNrRnVuY3Rpb24+KHZtLmhlYXApKSBKU0NDYWxsYmFja0Z1bmN0aW9uKHZt
LCBzdHJ1Y3R1cmUsIHR5cGUsIGpzY0NsYXNzLCBXVEZNb3ZlKGNsb3N1cmUpLCByZXR1cm5UeXBl
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKLSAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0s
IG5hbWUpOworICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgMCwgbmFtZSk7CiAgICAg
cmV0dXJuIGZ1bmN0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDZiMGQzOTMy
YmRkNjI5NmMyYTJkMzEzNzI0ZTM4MDg5M2U4ZGU1MWYuLmE0ODlhMjZjYjc2ZTI5MDVhNDE5N2Vl
NmI0YjBkMzUwYzI3ODc1NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC00OSwxMCArNDks
OSBAQCBBZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yOjpBZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cgogCiB2b2lkIEFnZ3JlZ2F0ZUVycm9yQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JUeXBlTmFtZShF
cnJvclR5cGU6OkFnZ3JlZ2F0ZUVycm9yKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVj
dHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAyLCBlcnJvclR5
cGVOYW1lKEVycm9yVHlwZTo6QWdncmVnYXRlRXJyb3IpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6
V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5m
bygpKSk7CiAKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bGVuZ3RoLCBqc051bWJlcigyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCA5YjRkYzM1MThmOTg3ZDlj
Y2IwMjc4NmEwMzM2NTBhOTI3YzEwNzUyLi4yNGIxN2M3ZjI3NmVlY2RiNWU2NzVhNWE4YjZlMjZj
Zjk4OWJhZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcApAQCAtNTMsOSArNTMsOCBAQCBBcnJheUNvbnN0cnVjdG9yOjpBcnJh
eUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgQXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUsIEdldHRlclNldHRlciogc3Bl
Y2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+QXJyYXkuc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlO
YW1lcy0+QXJyYXkuc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXJyYXlQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3ROb25J
bmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNp
ZXNTeW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5
TmFtZXMtPmlzQXJyYXksIGFycmF5Q29uc3RydWN0b3JJc0FycmF5Q29kZUdlbmVyYXRvciwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25D
b25zdHJ1Y3Rvci5jcHAKaW5kZXggZDgwOTliZWMyZWZkNjgxMzgxZjc3YjdiNzU2ZmFlNjZkNjRj
MzZiZC4uMzFhOGYyM2ZkNjk5ZTdmNTRkMjNlZThhMjE3NWM5ZGIyNzM3ZDVlMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29u
c3RydWN0b3IuY3BwCkBAIC01NSw5ICs1NSw4IEBAIEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6
QXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAK
IHZvaWQgQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFz
eW5jRnVuY3Rpb25Qcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgIkFzeW5jRnVuY3Rpb24iX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkFzeW5j
RnVuY3Rpb24iX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2Vu
ZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggOGYxMDk0NTM1MmRjYjIwY2MzZGVi
NDBiMDEyM2EyMWJlODhiNzYwYi4uMDRkODM4OTk2YmEzYTQzMGFmMTNkMjJjNWYxNGJjY2RmMTgz
YTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01NSwxMSAr
NTUsOCBAQCBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OkFzeW5jR2VuZXJhdG9y
RnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cgogCiB2b2lkIEFzeW5jR2VuZXJhdG9yRnVu
Y3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBBc3luY0dlbmVyYXRvckZ1
bmN0aW9uUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sICJBc3luY0dlbmVyYXRvckZ1bmN0aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJB
c3luY0dlbmVyYXRvckZ1bmN0aW9uIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkpOwotCi0gICAgLy8gTnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgY29uc3Ry
dWN0b3IKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggN2UzZGU1ZWVhZGIxNmM5MTIxNjE2MjFmZDRjMmVmYmE5YWJmMzA5Ny4uYmVkZmM5NzRi
OTY0NWNmYWY1ODViMWNhZDI4ZTRlNDE1NmY4MGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmNwcApAQCAtNjMsMTEgKzYzLDEw
IEBAIEJpZ0ludENvbnN0cnVjdG9yOjpCaWdJbnRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogCiB2b2lkIEJpZ0ludENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEJpZ0ludFByb3RvdHlwZSogYmlnSW50UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAiQmlnSW50Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJCaWdJ
bnQiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGJpZ0ludFByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggZjM5ZTBjZjE2OTY0YWIyNmI1
ODU1MDllOTU1MDBmMmE0YjVmZjliOS4uMjY0ODA5ZTRmM2FhMDY1NDk1MWI4M2VhNTUzOTA3ZjBl
NjQ0NTBmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuY3BwCkBAIC02MSw5ICs2MSw4IEBAIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6
Qm9vbGVhbkNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQg
Qm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEJvb2xlYW5Qcm90b3R5
cGUqIGJvb2xlYW5Qcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPkJvb2xlYW4uc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwg
dm0ucHJvcGVydHlOYW1lcy0+Qm9vbGVhbi5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBib29sZWFuUHJvdG90eXBlLCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKIEpTT2JqZWN0KiBjb25zdHJ1Y3RCb29sZWFuRnJvbUltbWVkaWF0ZUJvb2xlYW4oSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBpbW1lZGlhdGVCb29sZWFuVmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApp
bmRleCAxYWZmMGQ4YmUwYjA4MzE0NDM1ODAwNDAzYmY1NTk2M2RiOGE1NmE0Li41ZmQwZWE3ZDc3
NTQwYThhMTNmZjQ0ODNlZWNkNGIyNDAzNTUxZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTYyLDkgKzYyLDggQEAgRGF0
ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKIAogdm9pZCBEYXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRGF0ZVBy
b3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+RGF0ZS5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCA3LCB2
bS5wcm9wZXJ0eU5hbWVzLT5EYXRlLnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcig3KSwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogc3Rh
dGljIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tQ29tcG9uZW50cyhKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBjb25zdCBBcmdMaXN0JiBhcmdzLCBXVEY6OlRpbWVUeXBlIHRpbWVUeXBlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cAppbmRleCBiMWM2MTkxODdiZGEyZTA2OGIxYTdjYWJmMjA3NjU0Nzk0YWM1MTI5Li5iYzBhNjIy
NjI2MWNlNGRkYTdjOTc3MDVhYjAwNGQwZDYxOWUzY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNDAsMTAgKzQwLDkg
QEAgRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogCiB2b2lkIEVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgTmFtZUFkZGl0aW9u
TW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgUHJvcGVydHlBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICAvLyBFQ01BIDE1LjEx
LjMuMSBFcnJvci5wcm90b3R5cGUKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBlcnJvclByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFja1RyYWNlTGltaXQs
IGpzTnVtYmVyKGdsb2JhbE9iamVjdCgpLT5zdGFja1RyYWNlTGltaXQoKS52YWx1ZU9yKE9wdGlv
bnM6OmRlZmF1bHRFcnJvclN0YWNrVHJhY2VMaW1pdCgpKSksIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GaW5hbGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3Ry
dWN0b3IuY3BwCmluZGV4IDUwNjk4ZjBjOTE0OWVlOTcxYzNhOWZjYWYxOGQ4NzY2NjJjM2MwZDMu
LmQ3YzQzNDI5MGM0ZDA0ODUwNjVkMmIyMDlkZDc4ZTY3ZDRiYzE4ZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJl
Z2lzdHJ5Q29uc3RydWN0b3IuY3BwCkBAIC00MSw5ICs0MSw4IEBAIGNvbnN0IENsYXNzSW5mbyBG
aW5hbGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZC
YXNlOjpzCiAKIHZvaWQgRmluYWxpemF0aW9uUmVnaXN0cnlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBGaW5hbGl6YXRpb25SZWdpc3RyeVByb3RvdHlwZSogcHJvdG90eXBlKQog
ewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRmluYWxpemF0aW9uUmVnaXN0cnkiX3Ms
IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkZpbmFsaXphdGlvblJlZ2lzdHJ5Il9zLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsRmluYWxp
emF0aW9uUmVnaXN0cnkoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5k
ZXggNGMxMDE2Zjg3OThkZGFjM2FjYWUxMTZkOWVjMTIxYTQ0NmZhY2E4YS4uY2IzYThlM2ZkYjYy
N2NlM2ViZTNhNWMwODUzMDEzZTlmZDVhNjNjOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU3LDkgKzU3LDgg
QEAgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6RnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgRnVuY3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQogewotICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5zdHJp
bmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5z
dHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBmdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiAvLyBFQ01BIDE1LjMuMiBUaGUgRnVu
Y3Rpb24gQ29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCA1MGRhYWExZGUwNTVkZjYyNGUzYzVjNjQ5MzVm
MjRiNjBkMTJlYTRiLi5hNmYwZDVhMzhhYjRlMDg1NmM2NmMwMjVkMTE0YTIwY2Y0YjYyZDk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5
cGUuY3BwCkBAIC00Nyw5ICs0Nyw4IEBAIEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3Rv
dHlwZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEZ1bmN0aW9uUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBuYW1l
LCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAg
IEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
IHZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmFkZEZ1bmN0aW9uUHJvcGVydGllcyhWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24qKiBjYWxsRnVuY3Rpb24sIEpT
RnVuY3Rpb24qKiBhcHBseUZ1bmN0aW9uLCBKU0Z1bmN0aW9uKiogaGFzSW5zdGFuY2VTeW1ib2xG
dW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVy
YXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggZGMzMGViZWQzZWE5MzIy
M2Y1OTRkMDM5MDlmYWE1YTMxZDBmZjZkYy4uZGE0YTNhZDlhNGE2Y2M1NjlkYzQxYzRlOGRiNmQw
MzU1ZDcwZWYyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2Vu
ZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU1LDkgKzU1LDgg
QEAgR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6R2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3QKIAogdm9pZCBHZW5lcmF0b3JGdW5jdGlvbkNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBl
KiBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgIkdlbmVyYXRvckZ1bmN0aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJHZW5l
cmF0b3JGdW5jdGlvbiJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKaW5kZXggNWQ3MTE2Y2NjYmVjZjY4MmU3NGRhY2U3N2U5Y2RiMWIz
Yjg4MDNkNy4uNzJjYWY5MTYyODM4YzUwMWYxNDU2ZGM3M2QxYzQ0YmY3Nzc3NGMwZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
QEAgLTQzLDcgKzQzLDcgQEAgSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlvbihWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOYXRpdmVGdW5jdGlvbgogICAgIEFTU0VSVChtX2Z1
bmN0aW9uRm9yQ29uc3RydWN0KTsKIH0KIAotdm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZSBuYW1l
QWRkaXRpb25Nb2RlKQordm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9u
TW9kZSBuYW1lQWRkaXRpb25Nb2RlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
ICAgICBBU1NFUlQoanNEeW5hbWljQ2FzdDxJbnRlcm5hbEZ1bmN0aW9uKj4odm0sIHRoaXMpKTsK
QEAgLTUxLDEyICs1MSwxNyBAQCB2b2lkIEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgY29uc3QgU3RyaW5nJiBuYW1lLCBOYW1lQWRkaXRpb25NbwogICAgIEFTU0VSVCht
ZXRob2RUYWJsZSh2bSktPmdldENhbGxEYXRhID09IEludGVybmFsRnVuY3Rpb246OmluZm8oKS0+
bWV0aG9kVGFibGUuZ2V0Q2FsbERhdGEpOwogICAgIEFTU0VSVChtZXRob2RUYWJsZSh2bSktPmdl
dENvbnN0cnVjdERhdGEgPT0gSW50ZXJuYWxGdW5jdGlvbjo6aW5mbygpLT5tZXRob2RUYWJsZS5n
ZXRDb25zdHJ1Y3REYXRhKTsKICAgICBBU1NFUlQodHlwZSgpID09IEludGVybmFsRnVuY3Rpb25U
eXBlIHx8IHR5cGUoKSA9PSBOdWxsU2V0dGVyRnVuY3Rpb25UeXBlKTsKKwogICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNTdHJpbmcodm0sIG5hbWUpOwogICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7Ci0gICAgaWYgKG5hbWVBZGRpdGlvbk1vZGUgPT0gTmFt
ZUFkZGl0aW9uTW9kZTo6V2l0aFN0cnVjdHVyZVRyYW5zaXRpb24pCisgICAgLy8gVGhlIGVudW1l
cmF0aW9uIG9yZGVyIGlzIGxlbmd0aCB0aGVuIG5hbWUgc28gd2UgaGF2ZSB0byBtYWtlIHN1cmUg
d2UgYWRkIHRoZSBwcm9wZXJ0aWVzIGluIHRoYXQgb3JkZXIuCisgICAgaWYgKG5hbWVBZGRpdGlv
bk1vZGUgPT0gUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKSB7
CisgICAgICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cihsZW5ndGgpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIG5hbWVTdHJpbmcsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7Ci0gICAgZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKGxlbmd0aCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiAgICAgICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIH0KIH0KIAogdm9pZCBJ
bnRlcm5hbEZ1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCkBAIC0xNTksOCArMTY0LDcgQEAgSW50ZXJuYWxGdW5jdGlvbiogSW50ZXJuYWxG
dW5jdGlvbjo6Y3JlYXRlRnVuY3Rpb25UaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZChWTSYKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIFR5cGVJbmZvKEludGVybmFsRnVu
Y3Rpb25UeXBlLCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFncyB8IE1hc3F1ZXJhZGVz
QXNVbmRlZmluZWQpLCBJbnRlcm5hbEZ1bmN0aW9uOjppbmZvKCkpOwogICAgIGdsb2JhbE9iamVj
dC0+bWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoKS0+ZmlyZUFsbChnbG9iYWxPYmpl
Y3QtPnZtKCksICJBbGxvY2F0ZWQgbWFzcXVlcmFkaW5nIG9iamVjdCIpOwogICAgIEludGVybmFs
RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SW50ZXJuYWxG
dW5jdGlvbj4odm0uaGVhcCkpIEludGVybmFsRnVuY3Rpb24odm0sIHN0cnVjdHVyZSwgbmF0aXZl
RnVuY3Rpb24pOwotICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZUFk
ZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwotICAgIGZ1bmN0aW9uLT5w
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcihsZW5ndGgpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOworICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgbGVu
Z3RoLCBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOwogICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCmluZGV4IGM0ZDZkYzk1OGY2MDc2ZjcyMTll
MzJmZTdiMGI4ZjAwMzNlM2JmNDYuLmI1OWMxYTNjOGE3NWE5OGViMzdlYmYzNjViMjU1OTRiYTMy
OWJmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmgKQEAgLTg2LDggKzg2LDggQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIEludGVybmFsRnVuY3Rpb24oVk0mLCBTdHJ1Y3R1cmUqLCBOYXRpdmVGdW5j
dGlvbiBmdW5jdGlvbkZvckNhbGwsIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uRm9yQ29uc3RydWN0
ID0gbnVsbHB0cik7CiAKLSAgICBlbnVtIGNsYXNzIE5hbWVBZGRpdGlvbk1vZGUgeyBXaXRoU3Ry
dWN0dXJlVHJhbnNpdGlvbiwgV2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24gfTsKLSAgICBKU19F
WFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgY29uc3QgU3RyaW5nJiBuYW1l
LCBOYW1lQWRkaXRpb25Nb2RlID0gTmFtZUFkZGl0aW9uTW9kZTo6V2l0aFN0cnVjdHVyZVRyYW5z
aXRpb24pOworICAgIGVudW0gY2xhc3MgUHJvcGVydHlBZGRpdGlvbk1vZGUgeyBXaXRoU3RydWN0
dXJlVHJhbnNpdGlvbiwgV2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24gfTsKKyAgICBKU19FWFBP
UlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgdW5zaWduZWQgbGVuZ3RoLCBjb25z
dCBTdHJpbmcmIG5hbWUsIFByb3BlcnR5QWRkaXRpb25Nb2RlID0gUHJvcGVydHlBZGRpdGlvbk1v
ZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBDYWxsRGF0YSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCopOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyBDYWxsRGF0YSBnZXRDYWxsRGF0YShKU0NlbGwqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9y
LmNwcAppbmRleCA5NWI1YjEzZGVhYmY2MWFkYjA5MGU0OTQwOGM4NmUyZDJlNDdjYWExLi40NDRk
NTIzMzhhYWZkYjVkMDRjYWQ1NzM0OTVkMThlZjg3M2Q5NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3Bw
CkBAIC03NSw5ICs3NSw4IEBAIEludGxDb2xsYXRvckNvbnN0cnVjdG9yOjpJbnRsQ29sbGF0b3JD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEludGxDb2xs
YXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxDb2xsYXRvclByb3Rv
dHlwZSogY29sbGF0b3JQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
ICJDb2xsYXRvciJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiQ29sbGF0b3IiX3MsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgY29s
bGF0b3JQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICBjb2xsYXRvclByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCBjOWViZTA1MGM4ZmM1OTA4NDg0YjY2NTc3YWE2
ZGZlNTIxZGQwZTRmLi42Mzg4MjExYTI3ZGM0YjJiYTk2Y2FlM2Q5OGYxMDYwNDM3ZWJkOTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3Jt
YXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC03NCw5ICs3NCw4IEBAIEludGxEYXRl
VGltZUZvcm1hdENvbnN0cnVjdG9yOjpJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvcihWTSYg
dm0sIFN0cnVjdHVyZSoKIAogdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUqIGRhdGVUaW1l
Rm9ybWF0UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRGF0ZVRp
bWVGb3JtYXQiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgIkRhdGVUaW1lRm9ybWF0Il9zLCBQ
cm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IGRhdGVUaW1lRm9ybWF0UHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGNvbnN0cnVjdEludGxEYXRlVGltZUZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGRhMGRmNTRjYTE0ZDE0OTM1NjE4NmZjZjQ4NzZhNWM1ODQ1ODE0YjUuLjVlMzVmZTY3
ZmM2OTNhNzJhNmI4ODI2ZjJkYWRiMDBhOWZjNmU5MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9y
LmNwcApAQCAtNzIsOSArNzIsOCBAQCBJbnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3I6OkludGxE
aXNwbGF5TmFtZXNDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydQogCiB2b2lkIElu
dGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRsRGlz
cGxheU5hbWVzUHJvdG90eXBlKiBkaXNwbGF5TmFtZXNQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sICJEaXNwbGF5TmFtZXMiX3MsIE5hbWVBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
MiwgIkRpc3BsYXlOYW1lcyJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1
cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlLCBkaXNwbGF5TmFtZXNQcm90b3R5cGUsIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigyKSwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBkaXNwbGF5
TmFtZXNQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsTG9jYWxlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bExvY2FsZUNvbnN0cnVjdG9yLmNwcAppbmRleCAyZDZlNjc4YjI1
ZjljMmMxMDI0YjQyMDgwODA5YjZhMmQ5M2RhMDU0Li4xOWY2MTIxMTRkZmFmZjlkNGYxYmRiMmFk
NjUzYzk4MDBlNTRhZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsTG9jYWxlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxMb2NhbGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTU4LDkgKzU4LDggQEAgSW50bExv
Y2FsZUNvbnN0cnVjdG9yOjpJbnRsTG9jYWxlQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKIAogdm9pZCBJbnRsTG9jYWxlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSW50bExvY2FsZVByb3RvdHlwZSogbG9jYWxlUHJvdG90eXBlKQogewotICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiTG9jYWxlIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRo
b3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEs
ICJMb2NhbGUiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgbG9jYWxlUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgbG9jYWxlUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51
bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNDJiOTBkZTY2YWExNWI5NmI3
NDU4MDc1MDAxYmNjNWFhYjJkZmExNC4uYmM4YTU1NzM4NmFiZjI1YWU5ZDEwZjU0YTU3OTA2MjYz
YjU0YzAyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51
bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC03NCw5ICs3NCw4IEBAIElu
dGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvcjo6SW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUqIG51bWJl
ckZvcm1hdFByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIk51bWJl
ckZvcm1hdCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiTnVtYmVyRm9ybWF0Il9zLCBQcm9w
ZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIG51
bWJlckZvcm1hdFByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RJbnRsTnVtYmVyRm9ybWF0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwCmluZGV4IDIx
NzRlMzU0NTY5NjhiNmI1MDEwM2FmZTZjZmZmZGM1N2U5ZDE0NGQuLjk5ZDA4ODJjZmJhZGYwYmU1
YjQ5YTI1ODk1OGJjZmRkNzIzYjc1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0
LDkgKzc0LDggQEAgSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OkludGxQbHVyYWxSdWxlc0Nv
bnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKIAogdm9pZCBJbnRsUGx1cmFsUnVs
ZXNDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRsUGx1cmFsUnVsZXNQcm90
b3R5cGUqIHBsdXJhbFJ1bGVzUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCAiUGx1cmFsUnVsZXMiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgIlBsdXJhbFJ1bGVz
Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIHBsdXJhbFJ1bGVzUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcGx1cmFsUnVsZXNQcm90b3R5cGUtPnB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rv
ciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
UmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCBiMDBk
M2NiMTg2MjdhMGQ3NTBmYjEyM2IxYjMzOGYxOWQ0ZDljYTJiLi5hYzQ1NTQxZDdhY2U4YzJmZmU3
NWRmMzllYzllMzNmMmU2OWU3ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTczLDkgKzczLDggQEAgSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9y
OjpJbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IoVk0mIHZtLCBTdHIKIAogdm9pZCBJ
bnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZSogcmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90
eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiUmVsYXRpdmVUaW1lRm9ybWF0
Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsICJSZWxhdGl2ZVRpbWVGb3JtYXQiX3MsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcmVs
YXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBl
LT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFNlZ21lbnRlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxTZWdtZW50ZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggODM0ZDliZTkxMWUwZmU0MTI3
N2E2OWI3NzA5YWM1M2I5ZWJmZmMwMS4uMWUxYjllZTkyNjczZjEyZmI0ZjY3NWMxZThhNjRkZWZk
MGVmYjlmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFNl
Z21lbnRlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsU2VnbWVudGVyQ29uc3RydWN0b3IuY3BwCkBAIC03Miw5ICs3Miw4IEBAIEludGxTZWdt
ZW50ZXJDb25zdHJ1Y3Rvcjo6SW50bFNlZ21lbnRlckNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgSW50bFNlZ21lbnRlckNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEludGxTZWdtZW50ZXJQcm90b3R5cGUqIHNlZ21lbnRlclByb3RvdHlw
ZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlNlZ21lbnRlciJfcywgTmFtZUFk
ZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAwLCAiU2VnbWVudGVyIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHNlZ21lbnRlclByb3RvdHlwZSwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAg
IHNlZ21lbnRlclByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCmluZGV4
IGYxYjZhZGQ2MGVjOWVlMjg5NDcyZGZjODQ5ZTVmMjQyMGVjMWI3MzIuLjkzNWRjOWYwOTJmMzU0
MTI4NzkxOTNmNjhhMWU2NzA3ZGM4NWQzNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcApAQCAtNTcs
OSArNTcsOCBAQCBKU0dlbmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPHNoYXJpbmdNb2RlPjo6
SlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihWTQogdGVtcGxhdGU8QXJyYXlCdWZmZXJT
aGFyaW5nTW9kZSBzaGFyaW5nTW9kZT4KIHZvaWQgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1
Y3RvcjxzaGFyaW5nTW9kZT46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZSogcHJvdG90eXBlLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpCiB7Ci0gICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5QnVmZmVyU2hhcmluZ01vZGVOYW1lKHNoYXJp
bmdNb2RlKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCBhcnJheUJ1ZmZlclNoYXJpbmdNb2RlTmFt
ZShzaGFyaW5nTW9kZSksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nv
cldpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBz
cGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogCiAgICAgaWYg
KHNoYXJpbmdNb2RlID09IEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3Q29uc3RydWN0b3JJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oCmluZGV4IGM5ODdiOTli
YjI3ZTQ0MTkzOGNhYzVjZGQ3Y2FiMDUwZjE4NWU5ZWQuLjFlOTUxNmFlYjZiYzU1N2YzOGE4ZDlj
OWIyMzA0OWVhYmI3Y2RiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1
Y3RvcklubGluZXMuaApAQCAtNTIsOSArNTIsOCBAQCBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yPFZpZXdDbGFzcz46OkpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0bwog
dGVtcGxhdGU8dHlwZW5hbWUgVmlld0NsYXNzPgogdm9pZCBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0NvbnN0cnVjdG9yPFZpZXdDbGFzcz46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgU3RyaW5nJiBu
YW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIHByaXZhdGVBbGxvY2F0b3IpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1
cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgVmlld0NsYXNzOjpU
eXBlZEFycmF5U3RvcmFnZVR5cGUgPT0gVHlwZURhdGFWaWV3ID8gMSA6IDMsIG5hbWUsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJv
dG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
Vmlld0NsYXNzOjpUeXBlZEFycmF5U3RvcmFnZVR5cGUgPT0gVHlwZURhdGFWaWV3ID8gMSA6IDMp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5CWVRFU19QRVJfRUxFTUVOVCwganNOdW1iZXIoVmlld0NsYXNzOjplbGVtZW50U2l6ZSksIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKIAogICAgIGlmIChwcml2YXRlQWxsb2Nh
dG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNDZkMzkzMjUwYzljOTMxZWUxYWI2
MmI3OTQyOTdlN2UzYWVmMWYxMS4uYWVlNmYxOWU0NGEyY2MyZGViOTg5NTA0NDY1ZDc1ZTIyMTY1
OTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuY3BwCkBAIC00Myw5ICs0Myw4IEBAIGNvbnN0
IENsYXNzSW5mbyBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0
aW9uIiwgJkJhc2U6OnNfaW5mCiAKIHZvaWQgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVHlw
ZWRBcnJheVZpZXdQcm90b3R5cGUqIHByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3lt
Ym9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiVHlwZWRBcnJheSJfcywgTmFt
ZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAwLCAiVHlwZWRBcnJheSJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXRE
aXJlY3ROb25JbmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nl
c3NvciB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiAKICAgICBKU0NfQlVJTFRJTl9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04o
dm0ucHJvcGVydHlOYW1lcy0+b2YsIHR5cGVkQXJyYXlDb25zdHJ1Y3Rvck9mQ29kZUdlbmVyYXRv
ciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IGY3YWRhMjJkYzQzZDZlNWQ5ZDMzOTAyZmQ0YTIzZjU5MDNmM2U5YTUuLjEwOWQ1OGQ4Zjk4
MmJhMWQ2NGE1ZTRiYjkwYmUwMTRmMzljY2NmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKQEAgLTM3LDkgKzM3LDggQEAgY29uc3Qg
Q2xhc3NJbmZvIE1hcENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpz
X2luZm8sIG51bGxwdHIsIG4KIAogdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVz
U3ltYm9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiTWFwIl9zLCBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIDAsICJNYXAiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbWFwUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0Tm9u
SW5kZXhBY2Nlc3NvcldpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVj
aWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDkyOGZjMWEwOGZkMWQ2ZDcxMzZkMzhkOTExODdi
NTAwOWE3YTQxMTYuLmZiMDQ2MTkyNzAxNjQwNTQ5NGYzY2NhNGM5Yzg3YTJmZTA3NGM1NDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9y
Q29uc3RydWN0b3IuY3BwCkBAIC0zOSwxMCArMzksOSBAQCBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
PGVycm9yVHlwZT46Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cgogCiB2b2lkIE5hdGl2ZUVycm9yQ29uc3RydWN0b3JCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIE5hdGl2ZUVycm9yUHJvdG90eXBlKiBwcm90b3R5cGUsIEVycm9yVHlwZSBlcnJvclR5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGVycm9yVHlwZU5hbWUoZXJyb3JUeXBl
KSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCBlcnJvclR5cGVOYW1lKGVycm9yVHlwZSksIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgQVNTRVJU
KGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKICAgICAKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbEdldHRlckZ1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsR2V0dGVyRnVuY3Rpb24uaApp
bmRleCAxN2JjMTJiMjlmMjNmNjIwOWY1ZWUzMjgyMmY3MmE0YThiNzVlYmZlLi4zYmI4MjFhMmUx
Y2Y0YWY4YmFmODdlNTM0Nzg2YzY4YjA4YWRkN2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdWxsR2V0dGVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdWxsR2V0dGVyRnVuY3Rpb24uaApAQCAtMzcsNyArMzcsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICAvLyBTaW5jZSBOdWxsR2V0dGVyRnVuY3Rpb24gaXMgcGVy
IEpTR2xvYmFsT2JqZWN0LCB3ZSB1c2UgcHV0LXdpdGhvdXQtdHJhbnNpdGlvbiBpbiBJbnRlcm5h
bEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbi4KICAgICAgICAgTnVsbEdldHRlckZ1bmN0aW9uKiBm
dW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPCBOdWxsR2V0dGVyRnVuY3Rpb24+
KHZtLmhlYXApKSAgTnVsbEdldHRlckZ1bmN0aW9uKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBm
dW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIFN0cmluZygpLCBOYW1lQWRkaXRpb25Nb2RlOjpX
aXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVh
dGlvbih2bSwgMCwgU3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgICAgIHJldHVybiBmdW5jdGlvbjsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmgKaW5k
ZXggYzM5NjQ2OTgwN2M4OGIzM2E3YzFmZDhlODIwZTA3MTBlMWVkZmZmOS4uY2EyODg4ODY4Nzky
MjQyNmZhMzA5MDMxYWIyN2U2MmEzZGQ2M2JhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmgKQEAgLTM1LDggKzM1LDggQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIE51bGxTZXR0ZXJGdW5jdGlvbiogY3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEVDTUFNb2RlIGVjbWFNb2RlKQogICAgIHsKLSAgICAgICAgTnVs
bFNldHRlckZ1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPCBO
dWxsU2V0dGVyRnVuY3Rpb24+KHZtLmhlYXApKSAgTnVsbFNldHRlckZ1bmN0aW9uKHZtLCBzdHJ1
Y3R1cmUsIGVjbWFNb2RlKTsKLSAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBT
dHJpbmcoKSk7CisgICAgICAgIE51bGxTZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxOdWxsU2V0dGVyRnVuY3Rpb24+KHZtLmhlYXApKSAgTnVsbFNl
dHRlckZ1bmN0aW9uKHZtLCBzdHJ1Y3R1cmUsIGVjbWFNb2RlKTsKKyAgICAgICAgZnVuY3Rpb24t
PmZpbmlzaENyZWF0aW9uKHZtLCAwLCBTdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBmdW5jdGlv
bjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJl
ckNvbnN0cnVjdG9yLmNwcAppbmRleCBjOGVkODVkYWMzMzFkYmRkNDkwMWQ3NjRiOWMwMjY2NjRh
M2NhMmIxLi40MDRlNzliM2Q1YzNiMTMxOWFhNTgyODcwZjQ2YjFlNWI5MzQxMzIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3Bw
CkBAIC01OSwxMyArNTksMTIgQEAgTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgTnVtYmVyQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgTnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk51bWJl
ci5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5OdW1i
ZXIuc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSBudW1iZXJQcm90b3R5cGUtPmdsb2JhbE9iamVjdCh2bSk7
CiAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBudW1iZXJQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiRVBTSUxPTiIpLCBqc0RvdWJsZU51
bWJlcihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmVwc2lsb24oKSksIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIk1BWF9WQUxVRSIpLCBqc0RvdWJsZU51bWJl
cigxLjc5NzY5MzEzNDg2MjMxNTdFKzMwOCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0
cnVjdG9yLmNwcAppbmRleCAyZjUwZDg1NzM1MzUyZjAyMDkxMDFlZjViMjBkODk3ZWY4NzIwYWYx
Li5kZTA3OGNlZGI4OGFjMjU5NWM2OTQxZTNiZmY2YjUyM2NjYTU1ZGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC05
MywxMCArOTMsOSBAQCBPYmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBPYmplY3RQcm90
b3R5cGUqIG9iamVjdFByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+T2JqZWN0LnN0cmluZygpLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRo
b3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEs
IHZtLnByb3BlcnR5TmFtZXMtPk9iamVjdC5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIG9iamVjdFByb3RvdHlwZSwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwog
CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuY3JlYXRlUHJpdmF0ZU5hbWUoKSwgb2JqZWN0Q29uc3RydWN0
b3JDcmVhdGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCAyKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTih2bS5w
cm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5kZWZpbmVQcm9wZXJ0eVByaXZhdGVOYW1lKCks
IG9iamVjdENvbnN0cnVjdG9yRGVmaW5lUHJvcGVydHksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCAzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJveHlDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzQ2YjY2NWNkMDhkMjZl
OWMyZWZiYWMxZWMzYzUyNDkwY2Y0NTY3Mi4uMzE0YTI2M2YxMTBkNDE1ZTJiZWNiOGQzZmQwMWIx
MzczNzYyNmI0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
eHlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
eHlDb25zdHJ1Y3Rvci5jcHAKQEAgLTc1LDggKzc1LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgbWFrZVJldm9jYWJsZVByb3h5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmoKIAogdm9pZCBQcm94eUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0
IGNoYXIqIG5hbWUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMiksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDIsIG5hbWUsIFBy
b3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0KHZtLCBtYWtlSWRlbnRpZmllcih2bSwgInJldm9jYWJsZSIpLCBKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgMiwgInJldm9jYWJsZSJfcywgbWFrZVJldm9jYWJsZVByb3h5
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5
UmV2b2tlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5UmV2b2tlLmNw
cAppbmRleCBjNmNmNGU3OGFjZmMzOTk4MDBlNjU4YTU2NzYwOTQzNWJmMWUzNWVlLi4wNGFhNmZk
ZTE5YjY5NDdiMDdjYTQxMjFlNTY3MjJhZWRhOTQ2OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eVJldm9rZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJveHlSZXZva2UuY3BwCkBAIC01MSwxMCArNTEsOCBAQCBQcm94eVJl
dm9rZTo6UHJveHlSZXZva2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBQ
cm94eVJldm9rZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBQcm94eU9iamVjdCogcHJveHkpCiB7
Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGVtcHR5U3RyaW5nKCkpOworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBlbXB0eVN0cmluZygpKTsKICAgICBtX3Byb3h5LnNldCh2
bSwgdGhpcywgcHJveHkpOwotCi0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBwZXJmb3JtUHJveHlSZXZva2UoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNDZhZmFlNTU5NmE4N2VhYjQ0Y2NlMjJj
NWIzMjA5ZDdmYzUwY2ViOC4uZDI3NWMzZjE0ZjExMjBhZmJhOTdjMzI1YWRhYjBkZWIyNjI5OWZk
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmNwcApAQCAtODYsMTEgKzg2LDEwIEBAIFJlZ0V4cENvbnN0cnVjdG9yOjpSZWdFeHBD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIFJlZ0V4cENv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhw
UHJvdG90eXBlLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpCiB7Ci0gICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZ0V4cC5zdHJpbmcoKSwgTmFtZUFk
ZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAyLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAuc3RyaW5nKCksIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgQVNTRVJU
KGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHJlZ0V4cFByb3RvdHlwZSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIpLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogCiAgICAg
cHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3NvcldpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2V0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0
Q29uc3RydWN0b3IuY3BwCmluZGV4IDg2ZWE1YjE1MzI0MzNiYmI3MmYxZDgyNTZlMjU1ZjU0MTVi
YjMxMjQuLjA4NmE0NjY0N2Y5YmM3NmViMTA3N2RiZWE1ZmZkOWEzYjllMDZhY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM3
LDkgKzM3LDggQEAgY29uc3QgQ2xhc3NJbmZvIFNldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG4KIAogdm9pZCBTZXRDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSwgR2V0
dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5TZXQuc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwg
dm0ucHJvcGVydHlOYW1lcy0+U2V0LnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHNldFByb3RvdHlwZSwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERp
cmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vz
c29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nQ29uc3RydWN0b3IuY3BwCmluZGV4IDI0ODc0ZTYzZmU3ZDAwYjI5YTc3MjA2NjBlODExOWE3
NGYyMWVhNDAuLmFlNjc1MmQzYTY3MmQwMjRiZmVjMDc3M2MzYjQyZjFmZmEwNzM5ZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5j
cHAKQEAgLTU5LDkgKzU5LDggQEAgU3RyaW5nQ29uc3RydWN0b3I6OlN0cmluZ0NvbnN0cnVjdG9y
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgU3RyaW5nQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlN0cmlu
Zy5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5TdHJp
bmcuc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgc3RyaW5nUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSBGdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9y
LmNwcAppbmRleCA1ZTdlY2JhMjEzYzI4NDUyMjQwYmIyOTI3NTcxZThhNTBmNzU2YzhlLi40OGE1
NzRhODVmZjFiZWZlOGQ1MDZlYTZjNDRlZDUzMmQ5MTg1MDliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCkBAIC02Niw5ICs2
Niw4IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKHZtLCAjbmFtZSksIFN5bWJvbDo6Y3JlYXRlCiAKIHZvaWQgU3ltYm9sQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0g
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlN5bWJvbC5zdHJp
bmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCB2bS5wcm9wZXJ0eU5hbWVzLT5TeW1ib2wuc3Ry
aW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0g
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiAKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNf
RUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1dFTExfS05PV05fU1lNQk9MUykKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0
b3IuY3BwCmluZGV4IDliNGQyY2FlMDYxNjE2NDJlMzIyZTcwZGE1ZGMxNDQ1YTdjZGNlMzQuLjky
OWM3NWI0NDZiYjAwNzRhYWIyNTY5Y2E3ODg2OTJhMjdiNWRiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmNwcApAQCAtMzcs
OSArMzcsOCBAQCBjb25zdCBDbGFzc0luZm8gV2Vha01hcENvbnN0cnVjdG9yOjpzX2luZm8gPSB7
ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIG51bGxwdAogCiB2b2lkIFdlYWtNYXBDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWFrTWFwUHJvdG90eXBlKiBwcm90b3R5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJXZWFrTWFwIl9zLCBOYW1lQWRkaXRp
b25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIDAsICJXZWFrTWFwIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogfQogCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsV2Vha01hcChKU0dsb2JhbE9iamVjdCosIENhbGxG
cmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09i
amVjdFJlZkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dl
YWtPYmplY3RSZWZDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMTZhN2FkNzg4NjI3ODU5YTJmMmIxMDM2
NDI3ODNmNGMzMTQyODkyNS4uNjY5NTg0OTFiMDQ4Yjg2NTU5ZDRmNGU3MDk3MmZiMTg4ZGEzNWFh
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09iamVjdFJl
ZkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
T2JqZWN0UmVmQ29uc3RydWN0b3IuY3BwCkBAIC0zNiw5ICszNiw4IEBAIGNvbnN0IENsYXNzSW5m
byBXZWFrT2JqZWN0UmVmQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6
OnNfaW5mbywKIAogdm9pZCBXZWFrT2JqZWN0UmVmQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgV2Vha09iamVjdFJlZlByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtLCAiV2Vha1JlZiJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAi
V2Vha1JlZiJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY2FsbFdlYWtSZWYoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3Bw
CmluZGV4IGZmOWI1Y2VhYjZmYWQyZjI5OTM5OWYzYzUxMDY3MGM4MTJjMmMwODEuLjM5Zjg2N2Qy
MGFhZTA3MDU5MzdmOTBkY2Y2YTk2ZDllNjRhNDRlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcApAQCAtMzcsOSArMzcs
OCBAQCBjb25zdCBDbGFzc0luZm8gV2Vha1NldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5j
dGlvbiIsICZCYXNlOjpzX2luZm8sIG51bGxwdAogCiB2b2lkIFdlYWtTZXRDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0g
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJXZWFrU2V0Il9zLCBOYW1lQWRkaXRpb25Nb2Rl
OjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sIDAsICJXZWFrU2V0Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVy
ZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBjYWxsV2Vha1NldChKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSop
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA4OWM2MDMyMDlj
N2IwMjBmODVjNTBhMGUwNWFjNDkwYzA4Y2EyZTIyLi41Mjc4NjE2ZmI3YzM0ZGI4ZTIyYmQyYjBl
ZWIzMWE2YjhjOTdkYjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNw
cApAQCAtNzksOSArNzksOCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29u
c3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsTwogCiB2b2lkIFdlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2Vi
QXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSwgIkNvbXBpbGVFcnJvciJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAx
LCAiQ29tcGlsZUVycm9yIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVy
ZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVF
cnJvckNvbnN0cnVjdG9yOjpXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuY3BwCmluZGV4
IGNhYThiNmNmNjkzYjEyZjQ4MGU0ZWEyNTIzYThmZTRmYzE5M2U0OTkuLjQ1MmJhYjMyZTVhNjUw
NzcwYjhiOGQzZjU3ZjMyMWI4NzEwYzliMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuY3Bw
CkBAIC0xNDMsOSArMTQzLDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseUdsb2JhbENvbnN0cnVj
dG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCoKIAogdm9pZCBXZWJB
c3NlbWJseUdsb2JhbENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sICJHbG9iYWwiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFu
c2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkdsb2JhbCJfcywgUHJv
cGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBw
cm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKIH0KIAogV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlH
bG9iYWxDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5z
dGFuY2VDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTE2ZGEyMDIzNmE3NjQ2MDk4M2U4ZjRiZDZhMWE1
NGVhNjhhYmMxMC4uY2NjMjdlNjMxYWY3N2U0YmM3MDlmZWFhOGUyNTcyYWU0ZGEyMTY3OSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5j
ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IuY3BwCkBAIC05Nyw5ICs5Nyw4IEBAIFN0cnVjdHVy
ZSogV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjCiAKIHZvaWQgV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUqIHByb3Rv
dHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkluc3RhbmNlIl9zLCBOYW1l
QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIDEsICJJbnN0YW5jZSJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogV2ViQXNz
ZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yOjpXZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3Io
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAKaW5kZXggYTFjOGE1MzI0MjIwNDlhMjcyMTM2ZjNiM2QwYTgzYzFhZTAzNmE2Ni4uMGRl
M2ZiN2M3OWQ2NTk1NDE2YTZlN2I4YjAyZjJhOGU0YzkyMjg5MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTc5LDkgKzc5LDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJs
eUxpbmtFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amUKIAogdm9pZCBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0g
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJMaW5rRXJyb3IiX3MsIE5hbWVBZGRpdGlvbk1v
ZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgMSwgIkxpbmtFcnJvciJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogV2ViQXNzZW1ibHlMaW5r
RXJyb3JDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmNwcAppbmRleCBl
YjFkNjdmMDllYTAyZTQ0ZDljMThkOTQyYzMzNDBhODgzMTJkZGQ1Li4xZTBjYmEwZjNhODM2YmE5
NjYzMDJjMGNmNWVkOGQyNTlmMTViZWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmNwcApA
QCAtMTM1LDkgKzEzNSw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rv
cjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqCiAKIHZvaWQgV2ViQXNz
ZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3NlbWJs
eU1lbW9yeVByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCAiTWVtb3J5Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJNZW1vcnkiX3MsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJv
dG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
MSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3I6OldlYkFzc2VtYmx5TWVt
b3J5Q29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNTdhOTdmY2JkNzljYjYxYTRiYWRhZmFmYzQ5MTBmOTMwMTA0
NDBkZC4uOWM3YWMwMjVlYzAyMTljYzBmMWU0MGNiYjgwMzI0NWFlODQ3Y2Y2MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlN
b2R1bGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTIwMCw5ICsyMDAsOCBAQCBTdHJ1Y3R1cmUqIFdlYkFz
c2VtYmx5TW9kdWxlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KgogCiB2b2lkIFdlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIk1vZHVsZSJfcywgTmFtZUFkZGl0aW9uTW9kZTo6
V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
LCAxLCAiTW9kdWxlIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3NlbWJseU1vZHVsZUNvbnN0
cnVjdG9yOjpXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IGIz
N2ZmMTA1ZWQ2MWYxOTJlNTBjNDZjMjU3YzMzYmQxYmJlZTZhMDYuLjllNWM3NzFiNjJlMjFjNTZi
Y2U3N2Q0ZWI3YjZkMjQ2MzFhNDYxYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3Ry
dWN0b3IuY3BwCkBAIC04MSw5ICs4MSw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPCiAKIHZv
aWQgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiUnVudGltZUVycm9yIl9zLCBOYW1lQWRkaXRpb25N
b2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sIDEsICJSdW50aW1lRXJyb3IiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5
UnVudGltZUVycm9yQ29uc3RydWN0b3I6OldlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0
b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGE3NmFmYzlkZTkxMzI4NjczNDYxNWMxMjZiYTY3YjIwM2FiMWRlZDMuLmQ5ODNmMGEw
MGRiMTM5YmRjN2I4ZjA1YzFkZmMzZmUwMDBmMTZiOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9y
LmNwcApAQCAtMTI3LDkgKzEyNyw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlUYWJsZUNvbnN0
cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCoKIAogdm9pZCBX
ZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNz
ZW1ibHlUYWJsZVByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAiVGFibGUiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFu
c2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIlRhYmxlIl9zLCBQcm9w
ZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogfQogCiBXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3I6OldlYkFzc2VtYmx5VGFi
bGVDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKaW5kZXggZjVlZmIzYTU4NDcwNjZhMzFlOGI4Njdj
YjQ2NDMyYmJhMWJiMmNhYy4uMTgxYTQ2OGUwYjZmZDcyMWQzMzJkOGYwNGNmMWEzZGQxZDE2NmU0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCkBAIC01NCw3ICs1
NCw3IEBAIFJ1bnRpbWVNZXRob2Q6OlJ1bnRpbWVNZXRob2QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgTWV0aG9kKiBtZXRob2QpCiAKIHZvaWQgUnVudGltZU1ldGhvZDo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIGlkZW50KQogewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCBpZGVudCk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsIGlkZW50
KTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3Bw
CmluZGV4IDRjZTc0MGI5NDRjZTljYjIyNWUzMTViOGQ5Y2QzOTI2YTc0ZjJiZjguLmZkMzA0ZDM4
ZmI3NzNjYzJhMGVjYjYyZmQ3YjJlZjZjYjZkMWU0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCkBAIC01
Niw3ICs1Niw3IEBAIEpTTlBNZXRob2Q6OkpTTlBNZXRob2QoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5QSWRlCiAKIHZvaWQgSlNOUE1ldGhvZDo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUpOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAw
LCBuYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409307</attachid>
            <date>2020-09-21 13:06:55 -0700</date>
            <delta_ts>2020-09-21 13:41:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-216789-20200921130654.patch</filename>
            <type>text/plain</type>
            <size>70823</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi5jZTlmZGU0NGY0MzhjYmE2
MGFmMTkzMWY0Nzc5YjI2ZTJmYzc2ODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjEgQEAKKzIwMjAtMDktMjEgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgRnVuY3Rpb25zIHNob3VsZCBjb25zaXN0ZW50bHkgZW51bWVyYXRl
IGxlbmd0aCBiZWZvcmUgbmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE2Nzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4K
KworICAgICAgICBJbiBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9lY21hMjYyL3B1bGwvMjExNiwg
d2hpY2ggaGFzIGJlZW4KKyAgICAgICAgYXBwcm92ZWQgdG8gYmUgbWVyZ2VkIGludG8gdGhlIG1h
aW4gSlMgc3BlYywgaXQncyBleHBlY3RlZCB0aGF0CisgICAgICAgIGFsbCBmdW5jdGlvbnMgc2hv
dWxkIGhhdmUgdGhlaXIgbGVuZ3RoIHByb3BlcnR5IGVudW1lcmF0ZWQgYmVmb3JlCisgICAgICAg
IHRoZSBuYW1lIHByb3BlcnR5LiBUbyBlbnN1cmUgdGhpcyBpbnZhcmlhbnQsIHRoaXMgcGF0Y2gg
bW92ZXMgdGhlCisgICAgICAgIGxlbmd0aCBzZXQgaW50byBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5p
c2hDcmVhdGlvbi4KKworICAgICAgICBUaGVyZSBhcmUgbm8gbmV3IHRlc3RzIHNpbmNlIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgdG8gdGVzdDI2MiB3aGVuCisgICAgICAgIHRoZSBzcGVjIFBSIGlzIG1l
cmdlZC4gQWRkaW5nIHRlc3RzIHRvIHN0cmVzcyBqdXN0IG1lYW5zIHdlIHdpbGwKKyAgICAgICAg
aGF2ZSB0aGUgc2FtZSB0ZXN0IHR3aWNlLCB3aGljaCBzZWVtcyBsaWtlIGEgd2FzdGUuCisKKyAg
ICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDYWxs
YmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJL09iakNDYWxsYmFj
a0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpPYmpDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRl
KToKKyAgICAgICAgKiBBUEkvZ2xpYi9KU0NDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0Fn
Z3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBZ2dyZWdhdGVFcnJv
ckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9BcnJheUNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6QXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6QmlnSW50Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkJvb2xlYW5D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6RXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
RmluYWxpemF0aW9uUmVnaXN0cnlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkZpbmFs
aXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblBy
b3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6R2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6
SW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlRnVuY3Rpb25UaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZCk6CisgICAgICAgICogcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmg6CisgICAgICAgICogcnVu
dGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxDb2xs
YXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRs
RGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9J
bnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGlzcGxh
eU5hbWVzQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0lu
dGxMb2NhbGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxMb2NhbGVDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1h
dENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bE51bWJlckZvcm1hdENvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsUGx1cmFsUnVsZXND
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsUmVsYXRpdmVUaW1lRm9ybWF0
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGxTZWdt
ZW50ZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxTZWdtZW50ZXJDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1
Y3RvcjxzaGFyaW5nTW9kZT46OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmg6CisgICAgICAgIChKU0M6
OkpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8Vmlld0NsYXNzPjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6SlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChK
U0M6Ok1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJyb3JDb25z
dHJ1Y3RvckJhc2U6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bGxHZXR0
ZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmg6Cisg
ICAgICAgICogcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok51
bWJlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok9iamVjdENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9Qcm94eUNvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6UHJveHlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAq
IHJ1bnRpbWUvUHJveHlSZXZva2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eVJldm9rZTo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTZXRDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlND
OjpTeW1ib2xDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
V2Vha01hcENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2Vha01hcENvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9XZWFrT2JqZWN0UmVmQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWFrT2JqZWN0UmVmQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChKU0M6OldlYWtTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHdhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OldlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJB
c3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseVRh
YmxlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKwogMjAyMC0wOS0yMCAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIERyb3AgT3B0aW9uczo6
dXNlQmlnSW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRjZDM4ZGFhMzMzMGIxMmFmMGJkMDJiYzY1OWI3ZDcx
MzA1MzI0OS4uMmQyNjc0MDM4MGI0Y2QyM2U5MWQ3YmEwODZlNDVjZTU5ZGU0NTYzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTIxICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9t
aWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bmN0aW9ucyBzaG91bGQgY29uc2lzdGVudGx5
IGVudW1lcmF0ZSBsZW5ndGggYmVmb3JlIG5hbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgUnVudGltZU1ldGhvZCBpbmhlcml0cyBmcm9tIEludGVybmFs
RnVuY3Rpb24gd2hpY2ggbm93IHNldHMgbGVuZ3RoIGJ5IGRlZmF1bHQuCisgICAgICAgIFJ1bnRp
bWVNZXRob2QgaW50ZXJjZXB0cyBsZW5ndGggaW4gZ2V0T3duUHJvcGVydHlTbG90IHNvIHRoZSB2
YWx1ZSB3ZSBwaWNrCisgICAgICAgIGRvZXNuJ3QgYWN0dWFsbHkgbWF0dGVyLiBUZWNobmljYWxs
eSwgdGhpcyB1c2VzIGEgbGl0dGxlIGV4dHJhIG1lbW9yeSBidXQKKyAgICAgICAgdGhhdCdzIG5v
dCB0b28gYmlnIG9mIGEgZGVhbCBiZWNhdXNlIFJ1bnRpbWVNZXRob2QncyBhcmUgcmFyZSAoYW5k
IEkgYmVsaWV2ZQorICAgICAgICBkZXByZWNhdGVkKS4KKworICAgICAgICAqIGJyaWRnZS9ydW50
aW1lX21ldGhvZC5jcHA6CisgICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0
aW9uKToKKwogMjAyMC0wOS0yMCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUGVyZm9ybWFuY2UubmF2aWdhdGlvbiBhbmQgUGVyZm9ybWFuY2UudGltaW5nIGFyZSBp
bmNvcnJlY3RseSBleHBvc2VkIHRvIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjY4NjM2N2UyNzUyOWQ2
MTQzOTNkZmFiNjcxMDQzMTVmMTJjZWRmYy4uNzRlMGJlMjNjNGRhZjBmOTdmZmI5NzczYjJlZmUw
YTViYTc3MzYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOS0yMSAgS2VpdGgg
TWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgc2hv
dWxkIGNvbnNpc3RlbnRseSBlbnVtZXJhdGUgbGVuZ3RoIGJlZm9yZSBuYW1lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY3ODkKKworICAgICAgICBS
ZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIEpTTlBNZXRob2QgaW5oZXJpdHMg
ZnJvbSBJbnRlcm5hbEZ1bmN0aW9uIHdoaWNoIG5vdyBzZXRzIGxlbmd0aCBieSBkZWZhdWx0Lgor
ICAgICAgICBJIGNob3NlIDAgYmVjYXVzZSBpdCBsb29rcyBsaWtlIHRoaXMgZnVuY3Rpb24gZG9l
c24ndCBkaXJlY3RseSBsb29rIGF0IGFueQorICAgICAgICBhcmd1bWVudHMgYW5kIEkgZG91YnQg
YW55b25lIGlzIGxvb2tpbmcgYXQgdGhlIGxlbmd0aCBhbnl3YXkuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKwogMjAyMC0wOS0yMCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IHRoZSBwcm9qZWN0IGZp
bGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5j
dGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5j
cHAKaW5kZXggYWJiYTA0MTkwODRjZGEwMzZiNjA5YTIwZGY3MjkxMTc0NWMyMDE0Mi4uZWMxNGNm
YmRmZTNkOTM0YzM3ZmRlOWI3ZjM2NTlkYTE0NjFhMTM1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsNyArNDMsNyBAQCBK
U0NhbGxiYWNrRnVuY3Rpb246OkpTQ2FsbGJhY2tGdW5jdGlvbihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU09iamVjdENhbAogCiB2b2lkIEpTQ2FsbGJhY2tGdW5jdGlvbjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7Ci0gICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIG5hbWUpOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBuYW1l
KTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2FsbGJhY2tGdW5jdGlvbi5tbQppbmRleCA3NDU0Zjk4
YjQwOTcxOTU5ZmE1OTE1Yzk2NDY5ZGRhYzIyMmNmMWM1Li42YTY3Y2M5OGJlZDMwMGU2ZTNkNzhi
MWJiOGRmYmU2Nzc2NzQzNDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
T2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0KQEAgLTU0Nyw3ICs1NDcsNyBAQCBPYmpDQ2FsbGJhY2tG
dW5jdGlvbiogT2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iagogewogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5v
YmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpOwogICAgIE9iakNDYWxsYmFja0Z1bmN0aW9u
KiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE9iakNDYWxsYmFja0Z1bmN0
aW9uPih2bS5oZWFwKSkgT2JqQ0NhbGxiYWNrRnVuY3Rpb24odm0sIHN0cnVjdHVyZSwgb2JqQ0Nh
bGxiYWNrRnVuY3Rpb25DYWxsQXNGdW5jdGlvbiwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3RvciwgV1RGTW92ZShpbXBsKSk7Ci0gICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9u
KHZtLCBuYW1lKTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIDAsIG5hbWUpOwog
ICAgIHJldHVybiBmdW5jdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL0pTQ0NhbGxiYWNrRnVuY3Rpb24uY3BwCmluZGV4IDZjZTQxZjgxNWRlNjZh
NDlkNmRmMmRiNThmZTVkODk1Y2ZlNjE5YTQuLjdhMDlkYmY0ZmMzMmUyYjk2YmY1ZDkzNDE3OTRl
Y2Y0NjkxM2NjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9K
U0NDYWxsYmFja0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNDQ2FsbGJhY2tGdW5jdGlvbi5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgSlNDQ2FsbGJhY2tG
dW5jdGlvbiogSlNDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE8KIHsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+
Z2xpYkNhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKICAgICBKU0NDYWxsYmFja0Z1bmN0aW9u
KiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQ0NhbGxiYWNrRnVuY3Rp
b24+KHZtLmhlYXApKSBKU0NDYWxsYmFja0Z1bmN0aW9uKHZtLCBzdHJ1Y3R1cmUsIHR5cGUsIGpz
Y0NsYXNzLCBXVEZNb3ZlKGNsb3N1cmUpLCByZXR1cm5UeXBlLCBXVEZNb3ZlKHBhcmFtZXRlcnMp
KTsKLSAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUpOworICAgIGZ1bmN0aW9u
LT5maW5pc2hDcmVhdGlvbih2bSwgMCwgbmFtZSk7CiAgICAgcmV0dXJuIGZ1bmN0aW9uOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJv
ckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0
ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDZiMGQzOTMyYmRkNjI5NmMyYTJkMzEzNzI0ZTM4
MDg5M2U4ZGU1MWYuLmE0ODlhMjZjYjc2ZTI5MDVhNDE5N2VlNmI0YjBkMzUwYzI3ODc1NTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0
ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC00OSwxMCArNDksOSBAQCBBZ2dyZWdhdGVFcnJvckNv
bnN0cnVjdG9yOjpBZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cgogCiB2b2lkIEFnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JUeXBlTmFtZShFcnJvclR5cGU6OkFnZ3JlZ2F0ZUVy
cm9yKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAyLCBlcnJvclR5cGVOYW1lKEVycm9yVHlwZTo6QWdn
cmVnYXRlRXJyb3IpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5z
aXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7CiAKLSAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNv
bnN0cnVjdG9yLmNwcAppbmRleCA5YjRkYzM1MThmOTg3ZDljY2IwMjc4NmEwMzM2NTBhOTI3YzEw
NzUyLi4yNGIxN2M3ZjI3NmVlY2RiNWU2NzVhNWE4YjZlMjZjZjk4OWJhZDY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAt
NTMsOSArNTMsOCBAQCBBcnJheUNvbnN0cnVjdG9yOjpBcnJheUNvbnN0cnVjdG9yKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVByb3RvdHlw
ZSogYXJyYXlQcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXkuc3RyaW5nKCks
IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXkuc3RyaW5nKCks
IFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgYXJyYXlQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yV2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNTeW1i
b2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgSlNDX0JVSUxUSU5fRlVO
Q1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXksIGFycmF5
Q29uc3RydWN0b3JJc0FycmF5Q29kZUdlbmVyYXRvciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXgg
ZDgwOTliZWMyZWZkNjgxMzgxZjc3YjdiNzU2ZmFlNjZkNjRjMzZiZC4uMzFhOGYyM2ZkNjk5ZTdm
NTRkMjNlZThhMjE3NWM5ZGIyNzM3ZDVlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01NSw5
ICs1NSw4IEBAIEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6QXN5bmNGdW5jdGlvbkNvbnN0cnVj
dG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgQXN5bmNGdW5jdGlvbkNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUq
IHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkFzeW5jRnVuY3Rp
b24iX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkFzeW5jRnVuY3Rpb24iX3MsIFByb3BlcnR5
QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90
eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSks
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3Rvci5jcHAKaW5kZXggOGYxMDk0NTM1MmRjYjIwY2MzZGViNDBiMDEyM2EyMWJlODhiNzYwYi4u
MDRkODM4OTk2YmEzYTQzMGFmMTNkMjJjNWYxNGJjY2RmMTgzYTNhZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dlbmVyYXRv
ckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01NSwxMSArNTUsOCBAQCBBc3luY0dlbmVyYXRv
ckZ1bmN0aW9uQ29uc3RydWN0b3I6OkFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3RvcihW
TSYgdm0sIFN0cgogCiB2b2lkIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKiBwcm90
b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJBc3luY0dlbmVyYXRvckZ1
bmN0aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJBc3luY0dlbmVyYXRvckZ1bmN0aW9u
Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotCi0g
ICAgLy8gTnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKLSAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigx
KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggN2UzZGU1ZWVhZGIxNmM5
MTIxNjE2MjFmZDRjMmVmYmE5YWJmMzA5Ny4uYmVkZmM5NzRiOTY0NWNmYWY1ODViMWNhZDI4ZTRl
NDE1NmY4MGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jp
Z0ludENvbnN0cnVjdG9yLmNwcApAQCAtNjMsMTEgKzYzLDEwIEBAIEJpZ0ludENvbnN0cnVjdG9y
OjpCaWdJbnRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lk
IEJpZ0ludENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEJpZ0ludFByb3RvdHlw
ZSogYmlnSW50UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiQmln
SW50Il9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJCaWdJbnQiX3MsIFByb3BlcnR5QWRkaXRp
b25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgQVNTRVJUKGluaGVyaXRz
KHZtLCBpbmZvKCkpKTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGJpZ0ludFByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25z
dHJ1Y3Rvci5jcHAKaW5kZXggZjM5ZTBjZjE2OTY0YWIyNmI1ODU1MDllOTU1MDBmMmE0YjVmZjli
OS4uMjY0ODA5ZTRmM2FhMDY1NDk1MWI4M2VhNTUzOTA3ZjBlNjQ0NTBmYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCkBA
IC02MSw5ICs2MSw4IEBAIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Qm9vbGVhbkNvbnN0cnVjdG9yKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUp
CiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkJvb2xl
YW4uc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlOYW1lcy0+Qm9v
bGVhbi5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFu
c2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBib29sZWFuUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIEpTT2JqZWN0KiBjb25zdHJ1
Y3RCb29sZWFuRnJvbUltbWVkaWF0ZUJvb2xlYW4oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNWYWx1ZSBpbW1lZGlhdGVCb29sZWFuVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCAxYWZmMGQ4YmUwYjA4MzE0
NDM1ODAwNDAzYmY1NTk2M2RiOGE1NmE0Li41ZmQwZWE3ZDc3NTQwYThhMTNmZjQ0ODNlZWNkNGIy
NDAzNTUxZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVD
b25zdHJ1Y3Rvci5jcHAKQEAgLTYyLDkgKzYyLDggQEAgRGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29u
c3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBEYXRlQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlw
ZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RGF0
ZS5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCA3LCB2bS5wcm9wZXJ0eU5hbWVzLT5EYXRl
LnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcig3KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogc3RhdGljIGRvdWJsZSBtaWxsaXNlY29u
ZHNGcm9tQ29tcG9uZW50cyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBBcmdM
aXN0JiBhcmdzLCBXVEY6OlRpbWVUeXBlIHRpbWVUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCBiMWM2MTkxODdiZGEy
ZTA2OGIxYTdjYWJmMjA3NjU0Nzk0YWM1MTI5Li5iYzBhNjIyNjI2MWNlNGRkYTdjOTc3MDVhYjAw
NGQwZDYxOWUzY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmNwcApAQCAtNDAsMTAgKzQwLDkgQEAgRXJyb3JDb25zdHJ1Y3Rvcjo6
RXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEVy
cm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRXJyb3JQcm90b3R5cGUqIGVy
cm9yUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVy
ZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0
eU5hbWVzLT5FcnJvci5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKICAgICAvLyBFQ01BIDE1LjExLjMuMSBFcnJvci5wcm90b3R5cGUK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBlcnJvclByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
OwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFja1RyYWNlTGltaXQsIGpzTnVtYmVyKGdsb2JhbE9iamVj
dCgpLT5zdGFja1RyYWNlTGltaXQoKS52YWx1ZU9yKE9wdGlvbnM6OmRlZmF1bHRFcnJvclN0YWNr
VHJhY2VMaW1pdCgpKSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6
Tm9uZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
aW5hbGl6YXRpb25SZWdpc3RyeUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3IuY3BwCmluZGV4IDUwNjk4
ZjBjOTE0OWVlOTcxYzNhOWZjYWYxOGQ4NzY2NjJjM2MwZDMuLmQ3YzQzNDI5MGM0ZDA0ODUwNjVk
MmIyMDlkZDc4ZTY3ZDRiYzE4ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbmFsaXphdGlvblJlZ2lzdHJ5Q29uc3RydWN0b3IuY3Bw
CkBAIC00MSw5ICs0MSw4IEBAIGNvbnN0IENsYXNzSW5mbyBGaW5hbGl6YXRpb25SZWdpc3RyeUNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzCiAKIHZvaWQgRmluYWxp
emF0aW9uUmVnaXN0cnlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBGaW5hbGl6
YXRpb25SZWdpc3RyeVByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCAiRmluYWxpemF0aW9uUmVnaXN0cnkiX3MsIE5hbWVBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
MSwgIkZpbmFsaXphdGlvblJlZ2lzdHJ5Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogfQogCiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsRmluYWxpemF0aW9uUmVnaXN0cnkoSlNHbG9i
YWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggNGMxMDE2Zjg3OThkZGFjM2Fj
YWUxMTZkOWVjMTIxYTQ0NmZhY2E4YS4uY2IzYThlM2ZkYjYyN2NlM2ViZTNhNWMwODUzMDEzZTlm
ZDVhNjNjOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU3LDkgKzU3LDggQEAgRnVuY3Rpb25Db25zdHJ1Y3Rv
cjo6RnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2
b2lkIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRnVuY3Rpb25Q
cm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9k
ZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbi5zdHJpbmcoKSwgUHJvcGVydHlBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBmdW5jdGlvblBy
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogfQogCiAvLyBFQ01BIDE1LjMuMiBUaGUgRnVuY3Rpb24gQ29uc3RydWN0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNw
cAppbmRleCA1MGRhYWExZGUwNTVkZjYyNGUzYzVjNjQ5MzVmMjRiNjBkMTJlYTRiLi5hNmYwZDVh
MzhhYjRlMDg1NmM2NmMwMjVkMTE0YTIwY2Y0YjYyZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCkBAIC00Nyw5ICs0Nyw4
IEBAIEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogCiB2b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9uTW9k
ZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwg
aW5mbygpKSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25Qcm90b3R5
cGU6OmFkZEZ1bmN0aW9uUHJvcGVydGllcyhWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTRnVuY3Rpb24qKiBjYWxsRnVuY3Rpb24sIEpTRnVuY3Rpb24qKiBhcHBseUZ1bmN0
aW9uLCBKU0Z1bmN0aW9uKiogaGFzSW5zdGFuY2VTeW1ib2xGdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25D
b25zdHJ1Y3Rvci5jcHAKaW5kZXggZGMzMGViZWQzZWE5MzIyM2Y1OTRkMDM5MDlmYWE1YTMxZDBm
ZjZkYy4uZGE0YTNhZDlhNGE2Y2M1NjlkYzQxYzRlOGRiNmQwMzU1ZDcwZWYyNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTU1LDkgKzU1LDggQEAgR2VuZXJhdG9yRnVuY3Rpb25D
b25zdHJ1Y3Rvcjo6R2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVy
ZSogc3QKIAogdm9pZCBHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKiBnZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkdlbmVyYXRvckZ1bmN0
aW9uIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJHZW5lcmF0b3JGdW5jdGlvbiJfcywgUHJv
cGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBn
ZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKaW5k
ZXggNWQ3MTE2Y2NjYmVjZjY4MmU3NGRhY2U3N2U5Y2RiMWIzYjg4MDNkNy4uMWRjMjJlMDg0YzNk
ODAzZDcxOWZhN2YyMTg0M2QxYTFlMzM5MDk0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgSW50
ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBOYXRpdmVGdW5jdGlvbgogICAgIEFTU0VSVChtX2Z1bmN0aW9uRm9yQ29uc3RydWN0KTsK
IH0KIAotdm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0
IFN0cmluZyYgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZSBuYW1lQWRkaXRpb25Nb2RlKQordm9pZCBJ
bnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIHVuc2lnbmVkIGxlbmd0aCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZSBuYW1lQWRkaXRpb25Nb2Rl
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoanNEeW5hbWlj
Q2FzdDxJbnRlcm5hbEZ1bmN0aW9uKj4odm0sIHRoaXMpKTsKQEAgLTUxLDEyICs1MSwxNyBAQCB2
b2lkIEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3RyaW5n
JiBuYW1lLCBOYW1lQWRkaXRpb25NbwogICAgIEFTU0VSVChtZXRob2RUYWJsZSh2bSktPmdldENh
bGxEYXRhID09IEludGVybmFsRnVuY3Rpb246OmluZm8oKS0+bWV0aG9kVGFibGUuZ2V0Q2FsbERh
dGEpOwogICAgIEFTU0VSVChtZXRob2RUYWJsZSh2bSktPmdldENvbnN0cnVjdERhdGEgPT0gSW50
ZXJuYWxGdW5jdGlvbjo6aW5mbygpLT5tZXRob2RUYWJsZS5nZXRDb25zdHJ1Y3REYXRhKTsKICAg
ICBBU1NFUlQodHlwZSgpID09IEludGVybmFsRnVuY3Rpb25UeXBlIHx8IHR5cGUoKSA9PSBOdWxs
U2V0dGVyRnVuY3Rpb25UeXBlKTsKKwogICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNTdHJp
bmcodm0sIG5hbWUpOwogICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmlu
Zyk7Ci0gICAgaWYgKG5hbWVBZGRpdGlvbk1vZGUgPT0gTmFtZUFkZGl0aW9uTW9kZTo6V2l0aFN0
cnVjdHVyZVRyYW5zaXRpb24pCisgICAgLy8gVGhlIGVudW1lcmF0aW9uIG9yZGVyIGlzIGxlbmd0
aCBmb2xsb3dlZCBieSBuYW1lLiBTbywgd2UgbWFrZSBzdXJlIHRvIGFkZCB0aGUgcHJvcGVydGll
cyBpbiB0aGF0IG9yZGVyLgorICAgIGlmIChuYW1lQWRkaXRpb25Nb2RlID09IFByb3BlcnR5QWRk
aXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlvbikgeworICAgICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIobGVuZ3RoKSwgUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwot
ICAgIGVsc2UKKyAgICB9IGVsc2UgeworICAgICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcihsZW5ndGgpLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAg
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFt
ZSwgbmFtZVN0cmluZywgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKKyAgICB9CiB9CiAKIHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6dmlz
aXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTU5LDgg
KzE2NCw3IEBAIEludGVybmFsRnVuY3Rpb24qIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZUZ1bmN0
aW9uVGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQoVk0mCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9i
amVjdFByb3RvdHlwZSgpLCBUeXBlSW5mbyhJbnRlcm5hbEZ1bmN0aW9uVHlwZSwgSW50ZXJuYWxG
dW5jdGlvbjo6U3RydWN0dXJlRmxhZ3MgfCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkKSwgSW50ZXJu
YWxGdW5jdGlvbjo6aW5mbygpKTsKICAgICBnbG9iYWxPYmplY3QtPm1hc3F1ZXJhZGVzQXNVbmRl
ZmluZWRXYXRjaHBvaW50KCktPmZpcmVBbGwoZ2xvYmFsT2JqZWN0LT52bSgpLCAiQWxsb2NhdGVk
IG1hc3F1ZXJhZGluZyBvYmplY3QiKTsKICAgICBJbnRlcm5hbEZ1bmN0aW9uKiBmdW5jdGlvbiA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEludGVybmFsRnVuY3Rpb24+KHZtLmhlYXApKSBJ
bnRlcm5hbEZ1bmN0aW9uKHZtLCBzdHJ1Y3R1cmUsIG5hdGl2ZUZ1bmN0aW9uKTsKLSAgICBmdW5j
dGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIG5hbWUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRT
dHJ1Y3R1cmVUcmFuc2l0aW9uKTsKLSAgICBmdW5jdGlvbi0+cHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIobGVuZ3RoKSwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
KyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIGxlbmd0aCwgbmFtZSwgUHJvcGVydHlB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICByZXR1cm4gZnVu
Y3Rpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGVybmFsRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uaAppbmRleCBjNGQ2ZGM5NThmNjA3NmY3MjE5ZTMyZmU3YjBiOGYwMDMzZTNiZjQ2
Li5iNTljMWEzYzhhNzVhOThlYjM3ZWJmMzY1YjI1NTk0YmEzMjliZmNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCkBAIC04Niw4ICs4
Niw4IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBJbnRlcm5h
bEZ1bmN0aW9uKFZNJiwgU3RydWN0dXJlKiwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb25Gb3JDYWxs
LCBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbkZvckNvbnN0cnVjdCA9IG51bGxwdHIpOwogCi0gICAg
ZW51bSBjbGFzcyBOYW1lQWRkaXRpb25Nb2RlIHsgV2l0aFN0cnVjdHVyZVRyYW5zaXRpb24sIFdp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uIH07Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSwgTmFtZUFkZGl0aW9uTW9kZSA9
IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBlbnVtIGNs
YXNzIFByb3BlcnR5QWRkaXRpb25Nb2RlIHsgV2l0aFN0cnVjdHVyZVRyYW5zaXRpb24sIFdpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uIH07CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQcm9w
ZXJ0eUFkZGl0aW9uTW9kZSA9IFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJh
bnNpdGlvbik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ2FsbERhdGEgZ2V0Q29u
c3RydWN0RGF0YShKU0NlbGwqKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ2FsbERh
dGEgZ2V0Q2FsbERhdGEoSlNDZWxsKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTViNWIxM2Rl
YWJmNjFhZGIwOTBlNDk0MDhjODZlMmQyZTQ3Y2FhMS4uNDQ0ZDUyMzM4YWFmZGI1ZDA0Y2FkNTcz
NDk1ZDE4ZWY4NzNkOTVjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmNwcApAQCAtNzUsOSArNzUsOCBAQCBJ
bnRsQ29sbGF0b3JDb25zdHJ1Y3Rvcjo6SW50bENvbGxhdG9yQ29uc3RydWN0b3IoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBJbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRsQ29sbGF0b3JQcm90b3R5cGUqIGNvbGxhdG9yUHJvdG90
eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiQ29sbGF0b3IiX3MsIE5hbWVB
ZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgMCwgIkNvbGxhdG9yIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGNvbGxhdG9yUHJvdG90eXBlLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAg
Y29sbGF0b3JQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5j
cHAKaW5kZXggYzllYmUwNTBjOGZjNTkwODQ4NGI2NjU3N2FhNmRmZTUyMWRkMGU0Zi4uNjM4ODIx
MWEyN2RjNGIyYmE5NmNhZTNkOThmMTA2MDQzN2ViZDkyNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0
cnVjdG9yLmNwcApAQCAtNzQsOSArNzQsOCBAQCBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
cjo6SW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqCiAKIHZv
aWQgSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKiBkYXRlVGltZUZvcm1hdFByb3RvdHlwZSkKIHsK
LSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkRhdGVUaW1lRm9ybWF0Il9zLCBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIDAsICJEYXRlVGltZUZvcm1hdCJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBkYXRlVGltZUZvcm1hdFByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RJ
bnRsRGF0ZVRpbWVGb3JtYXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmNwcAppbmRleCBkYTBkZjU0Y2ExNGQx
NDkzNTYxODZmY2Y0ODc2YTVjNTg0NTgxNGI1Li41ZTM1ZmU2N2ZjNjkzYTcyYTZiODgyNmYyZGFk
YjAwYTlmYzZlOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsRGlzcGxheU5hbWVzQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5jcHAKQEAgLTcyLDkgKzcyLDgg
QEAgSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yOjpJbnRsRGlzcGxheU5hbWVzQ29uc3RydWN0
b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnUKIAogdm9pZCBJbnRsRGlzcGxheU5hbWVzQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZSog
ZGlzcGxheU5hbWVzUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAi
RGlzcGxheU5hbWVzIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDIsICJEaXNwbGF5TmFtZXMiX3Ms
IFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgZGlzcGxheU5hbWVzUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMiksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgZGlzcGxheU5hbWVzUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExv
Y2FsZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxM
b2NhbGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMmQ2ZTY3OGIyNWY5YzJjMTAyNGI0MjA4MDgwOWI2
YTJkOTNkYTA1NC4uMTlmNjEyMTE0ZGZhZmY5ZDRmMWJkYjJhZDY1M2M5ODAwZTU0YWVlNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExvY2FsZUNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTG9jYWxlQ29u
c3RydWN0b3IuY3BwCkBAIC01OCw5ICs1OCw4IEBAIEludGxMb2NhbGVDb25zdHJ1Y3Rvcjo6SW50
bExvY2FsZUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQg
SW50bExvY2FsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxMb2NhbGVQ
cm90b3R5cGUqIGxvY2FsZVByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgIkxvY2FsZSJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAiTG9jYWxlIl9zLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGxvY2Fs
ZVByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIGxvY2FsZVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29u
c3RydWN0b3IuY3BwCmluZGV4IDQyYjkwZGU2NmFhMTViOTZiNzQ1ODA3NTAwMWJjYzVhYWIyZGZh
MTQuLmJjOGE1NTczODZhYmYyNWFlOWQxMGY1NGE1NzkwNjI2M2I1NGMwMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1h
dENvbnN0cnVjdG9yLmNwcApAQCAtNzQsOSArNzQsOCBAQCBJbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3I6OkludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dQogCiB2b2lkIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKiBudW1iZXJGb3JtYXRQcm90b3R5cGUpCiB7
Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJOdW1iZXJGb3JtYXQiX3MsIE5hbWVBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgMCwgIk51bWJlckZvcm1hdCJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBudW1iZXJGb3JtYXRQcm90b3R5cGUs
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVs
ZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
IH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SW50bE51
bWJlckZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVy
YWxSdWxlc0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcAppbmRleCAyMTc0ZTM1NDU2OTY4YjZiNTAxMDNh
ZmU2Y2ZmZmRjNTdlOWQxNDRkLi45OWQwODgyY2ZiYWRmMGJlNWI0OWEyNTg5NThiY2ZkZDcyM2I3
NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFs
UnVsZXNDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwCkBAIC03NCw5ICs3NCw4IEBAIEludGxQbHVy
YWxSdWxlc0NvbnN0cnVjdG9yOjpJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3RvcihWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0CiAKIHZvaWQgSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlKiBwbHVyYWxSdWxlc1By
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlBsdXJhbFJ1bGVzIl9z
LCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsICJQbHVyYWxSdWxlcyJfcywgUHJvcGVydHlBZGRpdGlv
bk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwbHVyYWxSdWxlc1By
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHBsdXJhbFJ1bGVzUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENv
bnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2
ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYjAwZDNjYjE4NjI3YTBkNzUwZmIxMjNi
MWIzMzhmMTlkNGQ5Y2EyYi4uYWM0NTU0MWQ3YWNlOGMyZmZlNzVkZjM5ZWM5ZTMzZjJlNjllN2U4
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZl
VGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC03Myw5ICs3Myw4
IEBAIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvcjo6SW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yKFZNJiB2bSwgU3RyCiAKIHZvaWQgSW50bFJlbGF0aXZlVGltZUZvcm1h
dENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEludGxSZWxhdGl2ZVRpbWVGb3Jt
YXRQcm90b3R5cGUqIHJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSwgIlJlbGF0aXZlVGltZUZvcm1hdCJfcywgTmFtZUFkZGl0aW9uTW9k
ZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCAwLCAiUmVsYXRpdmVUaW1lRm9ybWF0Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHJlbGF0aXZlVGltZUZvcm1hdFByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogICAgIHJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxTZWdtZW50ZXJDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsU2VnbWVudGVyQ29u
c3RydWN0b3IuY3BwCmluZGV4IDgzNGQ5YmU5MTFlMGZlNDEyNzdhNjliNzcwOWFjNTNiOWViZmZj
MDEuLjFlMWI5ZWU5MjY3M2YxMmZiNGY2NzVjMWU4YTY0ZGVmZDBlZmI5ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxTZWdtZW50ZXJDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFNlZ21lbnRlckNvbnN0
cnVjdG9yLmNwcApAQCAtNzIsOSArNzIsOCBAQCBJbnRsU2VnbWVudGVyQ29uc3RydWN0b3I6Oklu
dGxTZWdtZW50ZXJDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2
b2lkIEludGxTZWdtZW50ZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRs
U2VnbWVudGVyUHJvdG90eXBlKiBzZWdtZW50ZXJQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sICJTZWdtZW50ZXIiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRT
dHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgIlNl
Z21lbnRlciJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBzZWdtZW50ZXJQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBzZWdtZW50ZXJQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAppbmRleCBmMWI2YWRkNjBlYzllZTI4OTQ3
MmRmYzg0OWU1ZjI0MjBlYzFiNzMyLi45MzVkYzlmMDkyZjM1NDEyODc5MTkzZjY4YTFlNjcwN2Rj
ODVkMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTU3LDkgKzU3LDggQEAgSlNHZW5lcmlj
QXJyYXlCdWZmZXJDb25zdHJ1Y3RvcjxzaGFyaW5nTW9kZT46OkpTR2VuZXJpY0FycmF5QnVmZmVy
Q29uc3RydWN0b3IoVk0KIHRlbXBsYXRlPEFycmF5QnVmZmVyU2hhcmluZ01vZGUgc2hhcmluZ01v
ZGU+CiB2b2lkIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3I8c2hhcmluZ01vZGU+Ojpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSwg
R2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCBhcnJheUJ1ZmZlclNoYXJpbmdNb2RlTmFtZShzaGFyaW5nTW9kZSksIE5hbWVBZGRpdGlv
bk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgMSwgYXJyYXlCdWZmZXJTaGFyaW5nTW9kZU5hbWUoc2hhcmluZ01vZGUpLCBQcm9w
ZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIAogICAgIGlmIChzaGFyaW5nTW9kZSA9PSBBcnJh
eUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5l
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvcklubGluZXMuaAppbmRleCBjOTg3Yjk5YmIyN2U0NDE5MzhjYWM1Y2RkN2Nh
YjA1MGYxODVlOWVkLi4xZTk1MTZhZWI2YmM1NTdmMzhhOGQ5YzliMjMwNDllYWJiN2NkYmE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKQEAgLTUy
LDkgKzUyLDggQEAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxWaWV3Q2xhc3M+
OjpKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG8KIHRlbXBsYXRlPHR5cGVuYW1lIFZp
ZXdDbGFzcz4KIHZvaWQgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxWaWV3Q2xh
c3M+OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRh
YmxlKiBwcml2YXRlQWxsb2NhdG9yKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBu
YW1lLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIFZpZXdDbGFzczo6VHlwZWRBcnJheVN0b3JhZ2VUeXBl
ID09IFR5cGVEYXRhVmlldyA/IDEgOiAzLCBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKFZpZXdDbGFzczo6VHlwZWRBcnJh
eVN0b3JhZ2VUeXBlID09IFR5cGVEYXRhVmlldyA/IDEgOiAzKSwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QllURVNfUEVSX0VMRU1FTlQs
IGpzTnVtYmVyKFZpZXdDbGFzczo6ZWxlbWVudFNpemUpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSk7CiAKICAgICBpZiAocHJpdmF0ZUFsbG9jYXRvcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuY3BwCmluZGV4IDQ2ZDM5MzI1MGM5YzkzMWVlMWFiNjJiNzk0Mjk3ZTdlM2FlZjFmMTEu
LmFlZTZmMTllNDRhMmNjMmRlYjk4OTUwNDQ2NWQ3NWUyMjE2NTkwM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yLmNwcApAQCAtNDMsOSArNDMsOCBAQCBjb25zdCBDbGFzc0luZm8gSlNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZgog
CiB2b2lkIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBl
KiBwcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSwgIlR5cGVkQXJyYXkiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhv
dXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwg
IlR5cGVkQXJyYXkiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nv
cldpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBz
cGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogCiAgICAgSlND
X0JVSUxUSU5fRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPm9m
LCB0eXBlZEFycmF5Q29uc3RydWN0b3JPZkNvZGVHZW5lcmF0b3IsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAppbmRleCBmN2FkYTIyZGM0M2Q2ZTVk
OWQzMzkwMmZkNGEyM2Y1OTAzZjNlOWE1Li4xMDlkNThkOGY5ODJiYTFkNjRhNWU0YmI5MGJlMDE0
ZjM5Y2NjZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29u
c3RydWN0b3IuY3BwCkBAIC0zNyw5ICszNyw4IEBAIGNvbnN0IENsYXNzSW5mbyBNYXBDb25zdHJ1
Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBuCiAK
IHZvaWQgTWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgTWFwUHJvdG90eXBl
KiBtYXBQcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgIk1hcCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0
cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiTWFw
Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIG1hcFByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5
bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNw
cAppbmRleCA5MjhmYzFhMDhmZDFkNmQ3MTM2ZDM4ZDkxMTg3YjUwMDlhN2E0MTE2Li5mYjA0NjE5
MjcwMTY0MDU0OTRmM2NjYTRjOWM4N2EyZmUwNzRjNTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAt
MzksMTAgKzM5LDkgQEAgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjxlcnJvclR5cGU+OjpOYXRpdmVF
cnJvckNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHIKIAogdm9pZCBOYXRpdmVFcnJv
ckNvbnN0cnVjdG9yQmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFcnJvclByb3Rv
dHlwZSogcHJvdG90eXBlLCBFcnJvclR5cGUgZXJyb3JUeXBlKQogewotICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCBlcnJvclR5cGVOYW1lKGVycm9yVHlwZSksIE5hbWVBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgMSwgZXJyb3JUeXBlTmFtZShlcnJvclR5cGUpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygp
KSk7CiAgICAgCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVsbEdldHRlckZ1bmN0aW9uLmgKaW5kZXggMTdiYzEyYjI5ZjIzZjYy
MDlmNWVlMzI4MjJmNzJhNGE4Yjc1ZWJmZS4uM2JiODIxYTJlMWNmNGFmOGJhZjg3ZTUzNDc4NmM2
OGIwOGFkZDdiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVs
bEdldHRlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVs
bEdldHRlckZ1bmN0aW9uLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgLy8gU2luY2UgTnVsbEdldHRlckZ1bmN0aW9uIGlzIHBlciBKU0dsb2JhbE9iamVjdCwgd2Ug
dXNlIHB1dC13aXRob3V0LXRyYW5zaXRpb24gaW4gSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3Jl
YXRpb24uCiAgICAgICAgIE51bGxHZXR0ZXJGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDwgTnVsbEdldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgIE51bGxHZXR0
ZXJGdW5jdGlvbih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0
aW9uKHZtLCBTdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5z
aXRpb24pOworICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIDAsIFN0cmluZygp
LCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAg
ICAgICByZXR1cm4gZnVuY3Rpb247CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdWxsU2V0dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bGxTZXR0ZXJGdW5jdGlvbi5oCmluZGV4IGMzOTY0Njk4MDdjODhiMzNh
N2MxZmQ4ZTgyMGUwNzEwZTFlZGZmZjkuLmNhMjg4ODg2ODc5MjI0MjZmYTMwOTAzMWFiMjdlNjJh
M2RkNjNiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxT
ZXR0ZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxT
ZXR0ZXJGdW5jdGlvbi5oCkBAIC0zNSw4ICszNSw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBO
dWxsU2V0dGVyRnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBF
Q01BTW9kZSBlY21hTW9kZSkKICAgICB7Ci0gICAgICAgIE51bGxTZXR0ZXJGdW5jdGlvbiogZnVu
Y3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDwgTnVsbFNldHRlckZ1bmN0aW9uPih2
bS5oZWFwKSkgIE51bGxTZXR0ZXJGdW5jdGlvbih2bSwgc3RydWN0dXJlLCBlY21hTW9kZSk7Ci0g
ICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwgU3RyaW5nKCkpOworICAgICAgICBO
dWxsU2V0dGVyRnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
TnVsbFNldHRlckZ1bmN0aW9uPih2bS5oZWFwKSkgIE51bGxTZXR0ZXJGdW5jdGlvbih2bSwgc3Ry
dWN0dXJlLCBlY21hTW9kZSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSwg
MCwgU3RyaW5nKCkpOwogICAgICAgICByZXR1cm4gZnVuY3Rpb247CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggYzhlZDg1ZGFjMzMxZGJkZDQ5MDFkNzY0YjljMDI2NjY0YTNjYTJiMS4uNDA0ZTc5YjNkNWMz
YjEzMTlhYTU4Mjg3MGY0NmIxZTViOTM0MTMyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApAQCAtNTksMTMgKzU5LDEyIEBA
IE51bWJlckNvbnN0cnVjdG9yOjpOdW1iZXJDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogCiB2b2lkIE51bWJlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5OdW1iZXIuc3RyaW5nKCksIE5hbWVBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyLnN0cmluZygpLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChp
bmhlcml0cyh2bSwgaW5mbygpKSk7CiAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
ID0gbnVtYmVyUHJvdG90eXBlLT5nbG9iYWxPYmplY3Qodm0pOwogCiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbnVtYmVyUHJv
dG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
MSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZyh2bSwgIkVQU0lMT04iKSwganNEb3VibGVOdW1iZXIoc3RkOjpudW1lcmljX2xp
bWl0czxkb3VibGU+OjplcHNpbG9uKCkpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIElkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sICJNQVhfVkFMVUUiKSwganNEb3VibGVOdW1iZXIoMS43OTc2OTMxMzQ4NjIzMTU3
RSszMDgpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMmY1
MGQ4NTczNTM1MmYwMjA5MTAxZWY1YjIwZDg5N2VmODcyMGFmMS4uZGUwNzhjZWRiODhhYzI1OTVj
Njk0MWUzYmZmNmI1MjNjY2E1NWRiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtOTMsMTAgKzkzLDkgQEAgT2JqZWN0
Q29uc3RydWN0b3I6Ok9iamVjdENvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCiAKIHZvaWQgT2JqZWN0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgT2JqZWN0UHJvdG90eXBlKiBvYmplY3RQcm90b3R5
cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk9i
amVjdC5zdHJpbmcoKSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5P
YmplY3Quc3RyaW5nKCksIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBvYmplY3RQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIAogICAgIEpTQ19OQVRJVkVfRlVO
Q1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
LmNyZWF0ZVByaXZhdGVOYW1lKCksIG9iamVjdENvbnN0cnVjdG9yQ3JlYXRlLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgMik7CiAgICAgSlNDX05B
VElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkuZGVmaW5lUHJvcGVydHlQcml2YXRlTmFtZSgpLCBvYmplY3RDb25zdHJ1Y3RvckRl
ZmluZVByb3BlcnR5LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKSwgMyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm94eUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5
Q29uc3RydWN0b3IuY3BwCmluZGV4IDM0NmI2NjVjZDA4ZDI2ZTljMmVmYmFjMWVjM2M1MjQ5MGNm
NDU2NzIuLjMxNGEyNjNmMTEwZDQxNWUyYmVjYjhkM2ZkMDFiMTM3Mzc2MjZiNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5Q29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5Q29uc3RydWN0b3IuY3BwCkBA
IC03NSw4ICs3NSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1ha2VS
ZXZvY2FibGVQcm94eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqCiAKIHZvaWQgUHJveHlDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBjb25zdCBjaGFyKiBuYW1lLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBu
YW1lLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlvbik7Ci0gICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIpLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAyLCBuYW1lLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6
V2l0aFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdCh2bSwgbWFrZUlkZW50aWZp
ZXIodm0sICJyZXZvY2FibGUiKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IDIsICJyZXZvY2FibGUiX3MsIG1ha2VSZXZvY2FibGVQcm94eSkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eVJldm9rZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eVJldm9rZS5jcHAKaW5kZXggYzZjZjRlNzhhY2Zj
Mzk5ODAwZTY1OGE1Njc2MDk0MzViZjFlMzVlZS4uMDRhYTZmZGUxOWI2OTQ3YjA3Y2E0MTIxZTU2
NzIyYWVkYTk0Njk1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJveHlSZXZva2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5
UmV2b2tlLmNwcApAQCAtNTEsMTAgKzUxLDggQEAgUHJveHlSZXZva2U6OlByb3h5UmV2b2tlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZvaWQgUHJveHlSZXZva2U6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgUHJveHlPYmplY3QqIHByb3h5KQogewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCBlbXB0eVN0cmluZygpKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
MCwgZW1wdHlTdHJpbmcoKSk7CiAgICAgbV9wcm94eS5zZXQodm0sIHRoaXMsIHByb3h5KTsKLQot
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgcGVyZm9ybVByb3h5
UmV2b2tlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwCmluZGV4IDQ2YWZhZTU1OTZhODdlYWI0NGNjZTIyYzViMzIwOWQ3ZmM1MGNlYjguLmQy
NzVjM2YxNGYxMTIwYWZiYTk3YzMyNWFkYWIwZGViMjYyOTlmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTg2LDEx
ICs4NiwxMCBAQCBSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSwgR2V0dGVyU2V0
dGVyKiBzcGVjaWVzU3ltYm9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5SZWdFeHAuc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRT
dHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMiwgdm0u
cHJvcGVydHlOYW1lcy0+UmVnRXhwLnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygp
KSk7CiAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCByZWdFeHBQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bGVuZ3RoLCBqc051bWJlcigyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIAogICAgIHB1dERpcmVjdE5vbkluZGV4QWNj
ZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJv
bCwgc3BlY2llc1N5bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRl
eCA4NmVhNWIxNTMyNDMzYmJiNzJmMWQ4MjU2ZTI1NWY1NDE1YmIzMTI0Li4wODZhNDY2NDdmOWJj
NzZlYjEwNzdkYmVhNWZmZDlhM2I5ZTA2YWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCkBAIC0zNyw5ICszNyw4IEBAIGNvbnN0IENs
YXNzSW5mbyBTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBuCiAKIHZvaWQgU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5
bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
U2V0LnN0cmluZygpLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlv
bik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDAsIHZtLnByb3BlcnR5TmFtZXMtPlNl
dC5zdHJpbmcoKSwgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBzZXRQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29y
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNw
ZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApp
bmRleCAyNDg3NGU2M2ZlN2QwMGIyOWE3NzIwNjYwZTgxMTlhNzRmMjFlYTQwLi5hZTY3NTJkM2E2
NzJkMDI0YmZlYzA3NzNjM2I0MmYxZmZhMDczOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCkBAIC01OSw5ICs1OSw4IEBA
IFN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogCiB2b2lkIFN0cmluZ0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5TdHJpbmcuc3RyaW5nKCksIE5hbWVBZGRp
dGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgMSwgdm0ucHJvcGVydHlOYW1lcy0+U3RyaW5nLnN0cmluZygpLCBQcm9wZXJ0
eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHN0cmlu
Z1Byb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOwotICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuY3Rp
b25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWU3ZWNiYTIx
M2MyODQ1MjI0MGJiMjkyNzU3MWU4YTUwZjc1NmM4ZS4uNDhhNTc0YTg1ZmYxYmVmZThkNTA2ZWE2
YzQ0ZWQ1MzJkOTE4NTA5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcApAQCAtNjYsOSArNjYsOCBAQCBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpLCBTeW1i
b2w6OmNyZWF0ZQogCiB2b2lkIFN5bWJvbENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIFN5bWJvbFByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5TeW1ib2wuc3RyaW5nKCksIE5hbWVBZGRpdGlvbk1v
ZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgMCwgdm0ucHJvcGVydHlOYW1lcy0+U3ltYm9sLnN0cmluZygpLCBQcm9wZXJ0eUFkZGl0
aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwog
CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1C
T0woSU5JVElBTElaRV9XRUxMX0tOT1dOX1NZTUJPTFMpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmNwcAppbmRleCA5YjRkMmNh
ZTA2MTYxNjQyZTMyMmU3MGRhNWRjMTQ0NWE3Y2RjZTM0Li45MjljNzViNDQ2YmIwMDc0YWFiMjU2
OWNhNzg4NjkyYTI3YjVkYmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrTWFwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5jcHAKQEAgLTM3LDkgKzM3LDggQEAgY29uc3QgQ2xh
c3NJbmZvIFdlYWtNYXBDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCBudWxscHQKIAogdm9pZCBXZWFrTWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgV2Vha01hcFByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAiV2Vha01hcCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVj
dHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiV2Vha01h
cCJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgY2FsbFdlYWtNYXAoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtPYmplY3RSZWZDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrT2JqZWN0UmVmQ29uc3RydWN0
b3IuY3BwCmluZGV4IDE2YTdhZDc4ODYyNzg1OWEyZjJiMTAzNjQyNzgzZjRjMzE0Mjg5MjUuLjY2
OTU4NDkxYjA0OGI4NjU1OWQ0ZjRlNzA5NzJmYjE4OGRhMzVhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtPYmplY3RSZWZDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha09iamVjdFJlZkNvbnN0cnVjdG9y
LmNwcApAQCAtMzYsOSArMzYsOCBAQCBjb25zdCBDbGFzc0luZm8gV2Vha09iamVjdFJlZkNvbnN0
cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sCiAKIHZvaWQgV2Vh
a09iamVjdFJlZkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYWtPYmplY3RS
ZWZQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
IldlYWtSZWYiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIldlYWtSZWYiX3MsIFByb3BlcnR5
QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90
eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSks
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxXZWFrUmVm
KEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcAppbmRleCBmZjliNWNlYWI2ZmFk
MmYyOTkzOTlmM2M1MTA2NzBjODEyYzJjMDgxLi4zOWY4NjdkMjBhYWUwNzA1OTM3ZjkwZGNmNmE5
NmQ5ZTY0YTQ0ZWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
ZWFrU2V0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtTZXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM3LDkgKzM3LDggQEAgY29uc3QgQ2xhc3NJbmZv
IFdlYWtTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZv
LCBudWxscHQKIAogdm9pZCBXZWFrU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgV2Vha1NldFByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAiV2Vha1NldCJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCAiV2Vha1NldCJfcywg
UHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2Fs
bFdlYWtTZXQoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggODljNjAzMjA5YzdiMDIwZjg1YzUwYTBlMDVhYzQ5
MGMwOGNhMmUyMi4uNTI3ODYxNmZiN2MzNGRiOGUyMmJkMmIwZWViMzFhNmI4Yzk3ZGI5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTc5LDkgKzc5LDggQEAg
U3RydWN0dXJlKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE8KIAogdm9pZCBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9y
UHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJD
b21waWxlRXJyb3IiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIkNvbXBpbGVFcnJvciJfcywg
UHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKLSAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKIH0KIAogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvcjo6V2Vi
QXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlHbG9iYWxDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLmNwcAppbmRleCBjYWE4YjZjZjY5M2IxMmY0ODBl
NGVhMjUyM2E4ZmU0ZmMxOTNlNDk5Li40NTJiYWIzMmU1YTY1MDc3MGI4YjhkM2Y1N2YzMjFiODcx
MGM5YjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUdsb2JhbENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLmNwcApAQCAtMTQzLDkgKzE0Myw4IEBA
IFN0cnVjdHVyZSogV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqCiAKIHZvaWQgV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZSog
cHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiR2xvYmFsIl9zLCBO
YW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIDEsICJHbG9iYWwiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpX
aXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFz
c2VtYmx5R2xvYmFsQ29uc3RydWN0b3I6OldlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGExNmRhMjAyMzZhNzY0NjA5ODNlOGY0YmQ2YTFhNTRlYTY4YWJjMTAuLmNjYzI3ZTYz
MWFmNzdlNGJjNzA5ZmVhYThlMjU3MmFlNGRhMjE2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0
cnVjdG9yLmNwcApAQCAtOTcsOSArOTcsOCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5SW5zdGFu
Y2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplYwogCiB2
b2lkIFdlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sICJJbnN0YW5jZSJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAi
SW5zdGFuY2UiX3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1
Y3Rvcjo6V2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IGExYzhhNTMy
NDIyMDQ5YTI3MjEzNmYzYjNkMGE4M2MxYWUwMzZhNjYuLjBkZTNmYjdjNzlkNjU5NTQxNmE2ZTdi
OGIwMmYyYThlNGM5MjI4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCkBA
IC03OSw5ICs3OSw4IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rv
cjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplCiAKIHZvaWQgV2ViQXNzZW1i
bHlMaW5rRXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3NlbWJs
eUxpbmtFcnJvclByb3RvdHlwZSogcHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAiTGlua0Vycm9yIl9zLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJl
VHJhbnNpdGlvbik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIDEsICJMaW5rRXJyb3Ii
X3MsIFByb3BlcnR5QWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSk7Ci0gICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiB9CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3I6Oldl
YkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TWVtb3J5Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZWIxZDY3ZjA5ZWEwMmU0NGQ5YzE4
ZDk0MmMzMzQwYTg4MzEyZGRkNS4uMWUwY2JhMGYzYTgzNmJhOTY2MzAyYzBjZjVlZDhkMjU5ZjE1
YmVmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAKQEAgLTEzNSw5ICsxMzUsOCBAQCBT
dHJ1Y3R1cmUqIFdlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KgogCiB2b2lkIFdlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIk1lbW9yeSJfcywgTmFt
ZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAxLCAiTWVtb3J5Il9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3Nl
bWJseU1lbW9yeUNvbnN0cnVjdG9yOjpXZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3BwCmluZGV4
IDU3YTk3ZmNiZDc5Y2I2MWE0YmFkYWZhZmM0OTEwZjkzMDEwNDQwZGQuLjljN2FjMDI1ZWMwMjE5
Y2MwZjFlNDBjYmI4MDMyNDVhZTg0N2NmNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3Bw
CkBAIC0yMDAsOSArMjAwLDggQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVj
dG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCoKIAogdm9pZCBXZWJB
c3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2Vt
Ymx5TW9kdWxlUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sICJNb2R1bGUiX3MsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFu
c2l0aW9uKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMSwgIk1vZHVsZSJfcywgUHJv
cGVydHlBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBw
cm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKIH0KIAogV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvcjo6V2ViQXNzZW1ibHlN
b2R1bGVDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCBiMzdmZjEwNWVkNjFmMTkyZTUwYzQ2
YzI1N2MzM2JkMWJiZWU2YTA2Li45ZTVjNzcxYjYyZTIxYzU2YmNlNzdkNGViN2I2ZDI0NjMxYTQ2
MWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtODEsOSAr
ODEsOCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsTwogCiB2b2lkIFdlYkFzc2VtYmx5UnVudGlt
ZUVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgIlJ1bnRpbWVFcnJvciJfcywgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVy
ZVRyYW5zaXRpb24pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAxLCAiUnVudGltZUVy
cm9yIl9zLCBQcm9wZXJ0eUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOwot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVj
dG9yOjpXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcAppbmRleCBhNzZhZmM5ZGU5MTMy
ODY3MzQ2MTVjMTI2YmE2N2IyMDNhYjFkZWQzLi5kOTgzZjBhMDBkYjEzOWJkYzdiOGYwNWMxZGZj
M2ZlMDAwZjE2YjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTEyNyw5ICsxMjcs
OCBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0
dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqCiAKIHZvaWQgV2ViQXNzZW1ibHlUYWJsZUNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUq
IHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlRhYmxlIl9zLCBO
YW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIDEsICJUYWJsZSJfcywgUHJvcGVydHlBZGRpdGlvbk1vZGU6Oldp
dGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogV2ViQXNz
ZW1ibHlUYWJsZUNvbnN0cnVjdG9yOjpXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX21ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRo
b2QuY3BwCmluZGV4IGY1ZWZiM2E1ODQ3MDY2YTMxZThiODY3Y2I0NjQzMmJiYTFiYjJjYWMuLjE4
MWE0NjhlMGI2ZmQ3MjFkMzMyZDhmMDRjZjFhM2RkMWQxNjZlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcApAQCAtNTQsNyArNTQsNyBAQCBSdW50aW1lTWV0aG9k
OjpSdW50aW1lTWV0aG9kKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE1ldGhvZCogbWV0
aG9kKQogCiB2b2lkIFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3Qg
U3RyaW5nJiBpZGVudCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgaWRlbnQpOwor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAwLCBpZGVudCk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKHZtLCBpbmZvKCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcAppbmRleCA0Y2U3NDBiOTQ0Y2U5
Y2IyMjVlMzE1YjhkOWNkMzkyNmE3NGYyYmY4Li5mZDMwNGQzOGZiNzczY2MyYTBlY2I2MmZkN2Iy
ZWY2Y2I2ZDFlNDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcApAQCAtNTYsNyArNTYsNyBAQCBKU05QTWV0
aG9kOjpKU05QTWV0aG9kKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBOUElkZQogCiB2b2lkIEpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgY29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBu
YW1lKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgMCwgbmFtZSk7CiAgICAgQVNTRVJU
KGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>