<?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>233940</bug_id>
          
          <creation_ts>2021-12-07 10:57:47 -0800</creation_ts>
          <short_desc>Allow `Pasteboard::readBuffer` to read from the pasteboard as a whole instead of a specific item</short_desc>
          <delta_ts>2021-12-10 13:18:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>191379</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821114</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 10:57:47 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821162</commentid>
    <comment_count>1</comment_count>
      <attachid>446219</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 12:15:41 -0800</bug_when>
    <thetext>Created attachment 446219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821170</commentid>
    <comment_count>2</comment_count>
      <attachid>446220</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 12:31:44 -0800</bug_when>
    <thetext>Created attachment 446220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821214</commentid>
    <comment_count>3</comment_count>
      <attachid>446235</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 14:03:43 -0800</bug_when>
    <thetext>Created attachment 446235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821244</commentid>
    <comment_count>4</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 15:26:02 -0800</bug_when>
    <thetext>This is not actually needed for bug 191379.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821365</commentid>
    <comment_count>5</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-07 21:15:02 -0800</bug_when>
    <thetext>actually, this might be necessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822001</commentid>
    <comment_count>6</comment_count>
      <attachid>446235</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-08 22:16:03 -0800</bug_when>
    <thetext>Comment on attachment 446235
Patch

(In reply to Devin Rousso from comment #5)
&gt; actually, this might be necessary

It&apos;s not really clear from the ChangeLog (or the comments) why this is the case, but it does seem like a fairly straightforward refactoring. I would&apos;ve thought that simply reading the item at index 0 (or none if there are no items) would achieve the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822410</commentid>
    <comment_count>7</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-09 16:17:14 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #6)
&gt; (In reply to Devin Rousso from comment #5)
&gt; &gt; actually, this might be necessary
&gt; 
&gt; It&apos;s not really clear from the ChangeLog (or the comments) why this is the case, but it does seem like a fairly straightforward refactoring. I would&apos;ve thought that simply reading the item at index 0 (or none if there are no items) would achieve the same thing.

I agree that it&apos;s not super clear, but as you said since it&apos;s pretty straightforward I didn&apos;t see a huge benefit in digging into it, both because it would allow us to match WK1 and this approach does work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822411</commentid>
    <comment_count>8</comment_count>
      <attachid>446629</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-09 16:17:45 -0800</bug_when>
    <thetext>Created attachment 446629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822922</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 13:16:59 -0800</bug_when>
    <thetext>Committed r286870 (245101@main): &lt;https://commits.webkit.org/245101@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446629.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822926</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 13:18:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/86336945&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446219</attachid>
            <date>2021-12-07 12:15:41 -0800</date>
            <delta_ts>2021-12-07 12:36:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233940-20211207131540.patch</filename>
            <type>text/plain</type>
            <size>22047</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5YzdkY2MzN2MyMGE3ODlmZWMwMWRkMWI4Y2M0N2YzN2VhOWI2MDU5Li4z
MTNiNmJkYTQxMmQwOGU2OGIwZjczN2U3M2YwZDFmNjFjYTRlZjk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byByZWFkIGZyb20g
dGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMgaXRlbQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8g
bWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIHJlYWQgZnJvbSB0aGUgZm9u
dCBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUsIG5vdCBhIHNwZWNpZmljIGl0ZW0uIE1ha2UgdGhlIGBp
bmRleGAgaW50bworICAgICAgICBhbiBgc3RkOjpvcHRpb25hbGAgc28gdGhhdCB3ZSBjYW4gaGF2
ZSB0aGlzIGJlaGF2aW9yIHdpdGhvdXQgbmVlZGluZyB0byBoYXZlIGEgbmV3IG1ldGhvZC4KKwor
ICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGli
V1BFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6cmVhZEJ1ZmZlciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9y
VHlwZSk6IERlbGV0ZWQuCisKIDIwMjEtMTItMDcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBhZnRlciByZW1vdmluZyBzdHlsZXNoZWV0IHdp
dGggbG9hZGluZyBAaW1wb3J0IHJ1bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzU1MDc5ZjAyYTYyOWFlMGFkNGI3
ZGNjYzc3YzI3MjU3NmNiNGU1OC4uNGMzMzVjNjE3ZTFkNThkOTgxYzY1ZGFkZTJlYzg3ZDJhN2Ew
NGFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMi0wNyAgRGV2aW4gUm91c3Nv
ICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgYFBhc3RlYm9hcmQ6OnJlYWRC
dWZmZXJgIHRvIHJlYWQgZnJvbSB0aGUgcGFzdGVib2FyZCBhcyBhIHdob2xlIGluc3RlYWQgb2Yg
YSBzcGVjaWZpYyBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzM5NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiBvcmRlciB0byBtYXRjaCB0aGUgV0sxIGltcGxlbWVudGF0aW9uIG9mIGAtcGFz
dGVGb250OmAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4sIHdlCisgICAgICAgIG5lZWQg
dG8gcmVhZCBmcm9tIHRoZSBmb250IHBhc3RlYm9hcmQgYXMgYSB3aG9sZSwgbm90IGEgc3BlY2lm
aWMgaXRlbS4gTWFrZSB0aGUgYGluZGV4YCBpbnRvCisgICAgICAgIGFuIGBzdGQ6Om9wdGlvbmFs
YCBzbyB0aGF0IHdlIGNhbiBoYXZlIHRoaXMgYmVoYXZpb3Igd2l0aG91dCBuZWVkaW5nIHRvIGhh
dmUgYSBuZXcgbWV0aG9kLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVib2Fy
ZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFz
dGVib2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVi
b2FyZCk6CisKIDIwMjEtMTItMDcgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBDb2NvYSBXZWJHTCBzaG91bGQgc3VwcG9ydCBVSSBzaWRlIGNvbXBvc2l0
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZTE3MGUwOTNjYmE5YzUwZGZmYzIx
MTU4YmYyMGIyOGFhZGMxYTBhZS4uMTE3NTdhZTBkNTMzZGFiNzFhODEzMDcxNjU5NzVkYjc5M2Y3
ZTA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIx
LTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxv
dyBgUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcmAgdG8gcmVhZCBmcm9tIHRoZSBwYXN0ZWJvYXJkIGFz
IGEgd2hvbGUgaW5zdGVhZCBvZiBhIHNwZWNpZmljIGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzk0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSBXSzEgaW1w
bGVtZW50YXRpb24gb2YgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5
Piwgd2UKKyAgICAgICAgbmVlZCB0byByZWFkIGZyb20gdGhlIGZvbnQgcGFzdGVib2FyZCBhcyBh
IHdob2xlLCBub3QgYSBzcGVjaWZpYyBpdGVtLiBNYWtlIHRoZSBgaW5kZXhgIGludG8KKyAgICAg
ICAgYW4gYHN0ZDo6b3B0aW9uYWxgIHNvIHRoYXQgd2UgY2FuIGhhdmUgdGhpcyBiZWhhdmlvciB3
aXRob3V0IG5lZWRpbmcgdG8gaGF2ZSBhIG5ldyBtZXRob2QuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
Lm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3Rl
Ym9hcmQpOgorCiAyMDIxLTEyLTA2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBDaGFuZ2UgSURMIGBEYXRlYCB0byBiZSBiYWNrZWQgYnkgYFdhbGxUaW1lYCB0
byBhdm9pZCBjb25mdXNpb24gd2hlbiBjb252ZXJ0aW5nIHRvIG5hdGl2ZSBkYXRlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcAppbmRleCAxNTczMWViMjNmYTc2OTQ5NjBkZDgw
NDk2ZmE4ZjJmOWU4Yzc3ODBmLi5jYWNkMDNkMTEzMTI3MDIxMGI5YjNjYzIwMGVhZDUzMmY1YWJh
ZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcApAQCAtODksNyArODks
NyBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cmVhZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgdHlwZSkKICAgICByZXR1cm4geyB9OwogfQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcmVk
QnVmZmVyPiBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiB0eXBlKQorUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gUGFzdGVib2FyZDo6cmVhZEJ1
ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKIHsK
ICAgICBpZiAoYXV0byogc3RyYXRlZ3kgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2Fy
ZFN0cmF0ZWd5KCkpCiAgICAgICAgIHJldHVybiBzdHJhdGVneS0+cmVhZEJ1ZmZlckZyb21QYXN0
ZWJvYXJkKGluZGV4LCB0eXBlLCBuYW1lKCksIGNvbnRleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QYXN0ZWJvYXJkLmgKaW5kZXggN2QyNDdkY2QxYTE2ZjM0MmMxNzU0YzQ1YzRhNzM1MjliZjhm
NzFiMi4uNWJiNGI2ZTY3MmJkODQxNzdhMDhiMjI2YWQzOWEwNWJlYWUwODY5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjk2LDcgKzI5Niw3IEBAIHB1YmxpYzoKICAg
ICBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gcGFzdGVib2FyZEl0ZW1JbmZvKHNp
emVfdCBpbmRleCkgY29uc3Q7CiAKICAgICBTdHJpbmcgcmVhZFN0cmluZyhzaXplX3QgaW5kZXgs
IGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4g
cmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7CisgICAgUmVmUHRy
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4g
aW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgVVJMIHJlYWRVUkwoc2l6ZV90IGluZGV4
LCBTdHJpbmcmIHRpdGxlKTsKIAogICAgIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmluZGV4IDFjMDcyNmZlYjNlMDJhZWQzMmI0NmYy
NjJiY2RhMTY5ZDY3MmViMmMuLmU3NzlkYWVhZTY1OTUzNDE4ZDkwYzE3NTAxMmQ1OGZiOTY4YTUw
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVn
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBA
IC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyB1cmxTdHJpbmdTdWl0
YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRs
ZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0
cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0
ZWJvYXJkQ29udGV4dCopID0gMDsKLSAgICB2aXJ0dWFsIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJl
YWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRD
b250ZXh0KikgPSAwOworICAgIHZpcnR1YWwgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZl
ckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFz
dGVib2FyZENvbnRleHQqKSA9IDA7CiAgICAgdmlydHVhbCBVUkwgcmVhZFVSTEZyb21QYXN0ZWJv
YXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0
aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9w
dGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gaW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXpl
X3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291
bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgc3RkOjpvcHRp
b25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPj4gYWxsUGFzdGVib2FyZEl0ZW1JbmZvKGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBh
c3RlYm9hcmRDb250ZXh0KikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVBhc3RlYm9hcmQuaAppbmRleCA3YTJhMzEwMDc0MjUwMDI0M2JiNDZmZjU5ODY4NjFlODRhMmZk
OTZlLi5lYjQxYTY4Y2M1YWY5MjJlODgyZWMyNjhlZGIyZTk5MDVmNDNjMjQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaApAQCAtNzAsOCArNzAsOCBA
QCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBJbmNsdWRlSW1hZ2VUeXBlcyA6IGJvb2wgeyBObywg
WWVzIH07CiAgICAgc3RhdGljIFN0cmluZyBwbGF0Zm9ybVBhc3RlYm9hcmRUeXBlRm9yU2FmZVR5
cGVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJpbmcmIGRvbVR5cGUsIEluY2x1ZGVJbWFn
ZVR5cGVzID0gSW5jbHVkZUltYWdlVHlwZXM6Ok5vKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4m
IHR5cGVzKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBi
dWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZ2V0UGF0aG5hbWVzRm9yVHlwZShWZWN0b3I8U3RyaW5nPiYgcGF0
aG5hbWVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
KSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8U3RyaW5nPiBhbGxTdHJpbmdzRm9y
VHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBjb25zdDsKQEAgLTkzLDcgKzkzLDcg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGUoY29uc3QgUGFzdGVib2Fy
ZEltYWdlJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdy
aXRlKGNvbnN0IFBhc3RlYm9hcmRVUkwmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hh
cmVkQnVmZmVyPiByZWFkQnVmZmVyKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
cmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyByZWFkU3RyaW5n
KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgVVJMIHJlYWRVUkwoc2l6ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKSBj
b25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQgY291bnQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4
IDE2N2NlZjAyZDc4ZDc5NGRlYWE4ZTVkZGFmNGRkNjZjM2QyY2NhNDUuLjlkYjBhYjM0YjI2MThh
MDQwMmIwZDI0M2RjODcwN2EzNjc4MjNkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQpAQCAtNzQsMTIgKzc0LDEyIEBA
IFBsYXRmb3JtUGFzdGVib2FyZDo6UGxhdGZvcm1QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYpCiB9
CiAjZW5kaWYKIAotdm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKFZlY3RvcjxTdHJp
bmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3Ry
aW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgdHlwZXMgPSBtYWtlVmVjdG9yPFN0cmluZz4oW21f
cGFzdGVib2FyZCBwYXN0ZWJvYXJkVHlwZXNdKTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKK1Jl
ZlB0cjxTaGFyZWRCdWZmZXI+IFBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9yVHlwZShjb25z
dCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAgaWYgKE5TRGF0YSAqZGF0YSA9IFttX3Bhc3Rl
Ym9hcmQgZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5cGVdKQogICAgICAgICByZXR1cm4gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoZGF0YSk7CkBAIC03NDYsMTIgKzc0NiwxNiBAQCBWZWN0b3I8U3RyaW5n
PiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFN0cmluZ3NGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlw
ZSkgY29uc3QKICAgICByZXR1cm4gc3RyaW5nczsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpy
ZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBl
KSBjb25zdAogewotICAgIGlmICgoTlNJbnRlZ2VyKWluZGV4IDwgMCB8fCAoTlNJbnRlZ2VyKWlu
ZGV4ID49IFttX3Bhc3RlYm9hcmQgbnVtYmVyT2ZJdGVtc10pCisgICAgaWYgKCFpbmRleCkKKyAg
ICAgICAgcmV0dXJuIGJ1ZmZlckZvclR5cGUodHlwZSk7CisKKyAgICBOU0ludGVnZXIgaW50ZWdl
ckluZGV4ID0gKmluZGV4OworICAgIGlmIChpbnRlZ2VySW5kZXggPCAwIHx8IGludGVnZXJJbmRl
eCA+PSBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAotICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRo
SW5kZXg6aW5kZXhdOworICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0ID0gW05TSW5kZXhTZXQgaW5k
ZXhTZXRXaXRoSW5kZXg6aW50ZWdlckluZGV4XTsKIAogICAgIFJldGFpblB0cjxOU0FycmF5PiBw
YXN0ZWJvYXJkSXRlbSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5cGUg
aW5JdGVtU2V0OmluZGV4U2V0XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbGlid3BlL1BsYXRmb3JtUGFzdGVib2FyZExpYldQRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BFLmNwcAppbmRleCAzNDExMDhj
MWY4MDQ2MmQzMzY4NTc5MjhmZGFjY2NkZDE2M2ZmMzY1Li45M2RiNTdmZDc1YjhmY2FjMWE3NDVm
NjIyOTRlMjdjOTdlMDQwYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9s
aWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BFLmNwcApAQCAtNTIsNyArNTIs
NyBAQCB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6cGVyZm9ybUFzRGF0YU93bmVyKERhdGFPd25l
clR5cGUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBhYwogICAgIGFjdGlvbnMoKTsKIH0KIAotdm9pZCBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKFZlY3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQg
UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0
CiB7CiAgICAgc3RydWN0IHdwZV9wYXN0ZWJvYXJkX3N0cmluZ192ZWN0b3IgcGFzdGVib2FyZFR5
cGVzID0geyBudWxscHRyLCAwIH07CiAgICAgd3BlX3Bhc3RlYm9hcmRfZ2V0X3R5cGVzKG1fcGFz
dGVib2FyZCwgJnBhc3RlYm9hcmRUeXBlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5tbQppbmRleCBkOWI3ZDI0ODAzOGMyZGI4
YWFiMDkyY2I5MWZmYTU2ZjJjYjRjZTczLi5hN2ZlNzI1NTQzNzY2NWU4YjhhMGM3NDUzZDMwNDc0
OWQ0NTYyZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZv
cm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTYzLDEyICs2MywxMiBAQCBQbGF0Zm9ybVBhc3RlYm9h
cmQ6OlBsYXRmb3JtUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogICAg
IEFTU0VSVChwYXN0ZWJvYXJkTmFtZSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpn
ZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpCit2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6
Z2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKSBjb25zdAogewogICAgIHR5cGVzID0gbWFr
ZVZlY3RvcjxTdHJpbmc+KFttX3Bhc3RlYm9hcmQgdHlwZXNdKTsKIH0KIAotUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUpCitSZWZQdHI8U2hhcmVkQnVmZmVyPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6
OmJ1ZmZlckZvclR5cGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSkgY29uc3QKIHsKICAg
ICBOU0RhdGEgKmRhdGEgPSBbbV9wYXN0ZWJvYXJkIGRhdGFGb3JUeXBlOnBhc3RlYm9hcmRUeXBl
XTsKICAgICBpZiAoIWRhdGEpCkBAIC00NDYsOSArNDQ2LDEyIEBAIHN0YXRpYyBTdHJpbmcgd2Vi
U2FmZU1JTUVUeXBlRm9yTW9kZXJuUGFzdGVib2FyZFR5cGUoTlNQYXN0ZWJvYXJkVHlwZSBwbGF0
Zm9ybVR5CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZv
cm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBl
KSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVm
ZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25z
dAogewotICAgIE5TUGFzdGVib2FyZEl0ZW0gKml0ZW0gPSBpdGVtQXRJbmRleChpbmRleCk7Cisg
ICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJuIGJ1ZmZlckZvclR5cGUodHlwZSk7CisKKyAg
ICBOU1Bhc3RlYm9hcmRJdGVtICppdGVtID0gaXRlbUF0SW5kZXgoKmluZGV4KTsKICAgICBpZiAo
IWl0ZW0pCiAgICAgICAgIHJldHVybiB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KaW5kZXggYmJlZjY2
NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEzMThlYWY0Yi4uOGUzN2RhNTFmYWE1NGYxOGU2YmMy
NTFkNjFjNjRkMmEzMjdlMTk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KQEAgLTUzOCw3ICs1MzgsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZQogICAgIH0pOwogfQogCi12b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdl
SUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZy
b21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc3RkOjpvcHRpb25hbDxz
aXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJk
VHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcAppbmRleCAxNjg2MTc0ZGMwODM4
ODBlMGI2NTU5NjI2NDY2YWEyNTMyOGE1ZTUzLi5jY2I0ODI1ZTQ5MmIxYzY2YWFiZmY3MjUwYjAz
ZjJkMjc5MGMyNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0
ZWJvYXJkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9h
cmRQcm94eS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCwgY29uc3QgUwog
ICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9KTsKIH0KIAotdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mLCBzaXplX3Qs
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFn
ZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJlZE1lbW9yeTo6SVBDSGFu
ZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJl
YWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mLCBzdGQ6b3B0aW9uYWw8c2l6
ZV90PiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgY29tcGxldGlvbkhhbmRs
ZXIoeyB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3Rl
Ym9hcmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5
LmgKaW5kZXggOTRiNWFmNDA4NTNkODIyZmM0OTFlMWJlNzUzZTE0ZTRlZmJmMDllZS4uNzUyZWM4
M2YwOGNlZjAxMDNmZThhNmZkYjk2NjdhMTYxOGFlMmQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmgKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiwg
c2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYpOwogICAgIHZvaWQgcmVhZFVSTEZy
b21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4s
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYgdXJsLCBTdHJpbmcmJiB0aXRsZSk+JiYp
OwotICAgIHZvaWQgcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHNp
emVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYpOworICAg
IHZvaWQgcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHN0ZDo6b3B0
aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRp
Zmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+
JiYpOwogICAgIHZvaWQgZ2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoSVBDOjpDb25uZWN0aW9uJiwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdl
SWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmKTsKICAgICB2
b2lkIGluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoSVBDOjpDb25uZWN0aW9uJiwgc2l6ZV90IGlu
ZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYpOwog
ICAgIHZvaWQgYWxsUGFzdGVib2FyZEl0ZW1JbmZvKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4+JiYpPiYmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggZjQxYTcwZWY1YmI2YzBlY2U4YmQ4NjI3
NDExNjAxY2Y3MzBlNjJhMS4uNjBjMjA3ZWQwZWVhODM2YjQ4NzBkZGE3YzZiYjMwYTE0NTRjYTQ5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTQwNiw3ICs0MDYsNyBA
QCBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZAogICAgIHJldHVybiBpbmZvOwogfQogCi1SZWZQdHI8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJG
cm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBj
b250ZXh0KQorUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCogY29udGV4dCkKIHsKICAgICBTaGFyZWRNZW1v
cnk6OklQQ0hhbmRsZSBpcGNIYW5kbGU7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQ
cm94eTo6UmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKGluZGV4LCBwYXN0ZWJvYXJkVHlwZSwgcGFz
dGVib2FyZE5hbWUsIHBhZ2VJZGVudGlmaWVyKGNvbnRleHQpKSwgTWVzc2FnZXM6OldlYlBhc3Rl
Ym9hcmRQcm94eTo6UmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkOjpSZXBseShpcGNIYW5kbGUpLCAw
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCBlMjgwOTk2M2Y0ZjUwNjgxYjdk
MDFmNDFhNjg1MzFhYjczMjE0ZmIwLi4yMDBiNmMwMTU5YjY4OGM3MmEzZmFkZmJhZTBhNjk0ODMx
YjkzNmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC04OSw3ICs4OSw3IEBA
IHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFN0cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQo
c2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJy
aWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFz
dGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0
Kikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZl
ckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2Vi
Q29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBVUkwgcmVhZFVSTEZyb21Q
YXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsK
ICAgICBpbnQgZ2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4gaW5mb3JtYXRpb25Gb3JJ
dGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGlu
dDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDI0YjY5OTcwNmRmMGQ2Yjcx
OTJhYTUyMDJkZTYxZDhiMWU1NzMyZjkuLjFkODFmZmExOWQ5N2YwNGVjN2NjNTc1YjNlY2U1ZTg4
ODE0NDBiMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC01NSw3ICs1NSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogI2VuZGlmCiAg
ICAgU3RyaW5nIHJlYWRTdHJpbmdGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0
IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKKyAgICBSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc3RkOjpv
cHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4
dCopIG92ZXJyaWRlOwogICAgIFVSTCByZWFkVVJMRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcmIHRpdGxlLCBjb25zdCBXZWJD
b3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIGludCBnZXRQYXN0ZWJvYXJk
SXRlbXNDb3VudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQ
YXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
UGFzdGVib2FyZEl0ZW1JbmZvPiBpbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KHNpemVfdCBpbmRl
eCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgaW50NjRfdCBjaGFuZ2VDb3VudCwgY29u
c3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5tbQppbmRleCBmYzA3NzZlNjJkNjZiZTlhYzkzZDQ4N2RkZmQzMDBhNmQ0MDdj
NTUzLi4xODhlYzUwMDQ1MDc3ZDc4YjAxMjBhNmRhZmJiMDRmYjc5Mjc2NDY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0yMDksNyArMjA5LDcgQEAgaW50IFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Z2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwKICAgICByZXR1cm4gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5j
b3VudCgpOwogfQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2Fy
ZENvbnRleHQqKQorUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc3RkOjpvcHRpb25hbDxzaXplX3Q+IGlu
ZGV4LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNv
bnN0IFBhc3RlYm9hcmRDb250ZXh0KikKIHsKICAgICByZXR1cm4gUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5yZWFkQnVmZmVyKGluZGV4LCB0eXBlKTsKIH0K
</data>
<flag name="commit-queue"
          id="471558"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446220</attachid>
            <date>2021-12-07 12:31:44 -0800</date>
            <delta_ts>2021-12-07 14:45:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233940-20211207133143.patch</filename>
            <type>text/plain</type>
            <size>23736</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWI2ZTVkZjJhY2UzNzI0MTIzOGM4NjE3NWU2ODQyMmVhYTYxZWNjLi42
MzNiMDA1ZTg4YzYyNTQwNWVlYjY0MmM4NzAyZWVhMTZhNzhmNjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byByZWFkIGZyb20g
dGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMgaXRlbQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8g
bWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIHJlYWQgZnJvbSB0aGUgZm9u
dCBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUsIG5vdCBhIHNwZWNpZmljIGl0ZW0uIE1ha2UgdGhlIGBp
bmRleGAgaW50bworICAgICAgICBhbiBgc3RkOjpvcHRpb25hbGAgc28gdGhhdCB3ZSBjYW4gaGF2
ZSB0aGlzIGJlaGF2aW9yIHdpdGhvdXQgbmVlZGluZyB0byBoYXZlIGEgbmV3IG1ldGhvZC4KKwor
ICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGli
V1BFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6cmVhZEJ1ZmZlciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9y
VHlwZSk6IERlbGV0ZWQuCisKIDIwMjEtMTItMDcgIEt5bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5n
dG9uQGFwcGxlLmNvbT4KICAgICAgICAgUm9sbCBBTkdMRSB0byBpbmNsdWRlIHVwc3RyZWFtZWQg
TWV0YWwgYmFja2VuZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIwODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU3NTBlMzIxNjEwMzU4ZTM4NmYzMDg4ZTIwMmZiMzBl
MzlkNjdkMDUuLmMyMDkxNGVkZTgzMjNhOWE2NDBiMGY4ZDJmZDQzYTY3NTk4ZmY0YjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byBy
ZWFkIGZyb20gdGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMg
aXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
OTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gbWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIHJlYWQgZnJv
bSB0aGUgZm9udCBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUsIG5vdCBhIHNwZWNpZmljIGl0ZW0uIE1h
a2UgdGhlIGBpbmRleGAgaW50bworICAgICAgICBhbiBgc3RkOjpvcHRpb25hbGAgc28gdGhhdCB3
ZSBjYW4gaGF2ZSB0aGlzIGJlaGF2aW9yIHdpdGhvdXQgbmVlZGluZyB0byBoYXZlIGEgbmV3IG1l
dGhvZC4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFzdGVib2Fy
ZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVib2FyZFByb3h5OjpyZWFkQnVm
ZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJv
YXJkUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVib2FyZFByb3h5Ojpy
ZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCk6CisKIDIwMjEt
MTItMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdl
YkxvY2tSZWdpc3RyeVByb3h5Ojpwcm9jZXNzRGlkRXhpdCgpIHJldHVybiBlYXJseSBpZiBwcm9j
ZXNzIG5ldmVyIHJlZ2lzdGVyZWQgYW55IGxvY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
aW5kZXggZTE3MGUwOTNjYmE5YzUwZGZmYzIxMTU4YmYyMGIyOGFhZGMxYTBhZS4uMTE3NTdhZTBk
NTMzZGFiNzFhODEzMDcxNjU5NzVkYjc5M2Y3ZTA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBgUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcmAgdG8g
cmVhZCBmcm9tIHRoZSBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUgaW5zdGVhZCBvZiBhIHNwZWNpZmlj
IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
Mzk0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IG9yZGVyIHRvIG1hdGNoIHRoZSBXSzEgaW1wbGVtZW50YXRpb24gb2YgYC1wYXN0ZUZvbnQ6YCA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5Piwgd2UKKyAgICAgICAgbmVlZCB0byByZWFkIGZy
b20gdGhlIGZvbnQgcGFzdGVib2FyZCBhcyBhIHdob2xlLCBub3QgYSBzcGVjaWZpYyBpdGVtLiBN
YWtlIHRoZSBgaW5kZXhgIGludG8KKyAgICAgICAgYW4gYHN0ZDo6b3B0aW9uYWxgIHNvIHRoYXQg
d2UgY2FuIGhhdmUgdGhpcyBiZWhhdmlvciB3aXRob3V0IG5lZWRpbmcgdG8gaGF2ZSBhIG5ldyBt
ZXRob2QuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorCiAyMDIxLTEyLTA2ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgSURMIGBEYXRlYCB0
byBiZSBiYWNrZWQgYnkgYFdhbGxUaW1lYCB0byBhdm9pZCBjb25mdXNpb24gd2hlbiBjb252ZXJ0
aW5nIHRvIG5hdGl2ZSBkYXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcApp
bmRleCAxNTczMWViMjNmYTc2OTQ5NjBkZDgwNDk2ZmE4ZjJmOWU4Yzc3ODBmLi5jYWNkMDNkMTEz
MTI3MDIxMGI5YjNjYzIwMGVhZDUzMmY1YWJhZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmNwcApAQCAtODksNyArODksNyBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cmVhZFN0
cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4geyB9Owog
fQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVy
KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKQorUmVmUHRyPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4gUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5k
ZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICBpZiAoYXV0byogc3RyYXRlZ3kgPSBwbGF0
Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCkpCiAgICAgICAgIHJldHVybiBz
dHJhdGVneS0+cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKGluZGV4LCB0eXBlLCBuYW1lKCksIGNv
bnRleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2QyNDdkY2Qx
YTE2ZjM0MmMxNzU0YzQ1YzRhNzM1MjliZjhmNzFiMi4uNWJiNGI2ZTY3MmJkODQxNzdhMDhiMjI2
YWQzOWEwNWJlYWUwODY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAt
Mjk2LDcgKzI5Niw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVt
SW5mbz4gcGFzdGVib2FyZEl0ZW1JbmZvKHNpemVfdCBpbmRleCkgY29uc3Q7CiAKICAgICBTdHJp
bmcgcmVhZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgUmVm
UHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgsIGNvbnN0
IFN0cmluZyYgdHlwZSk7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1
ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAg
ICAgVVJMIHJlYWRVUkwoc2l6ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKTsKIAogICAgIGNvbnN0
IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0Lmdl
dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3Ry
YXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmlu
ZGV4IDFjMDcyNmZlYjNlMDJhZWQzMmI0NmYyNjJiY2RhMTY5ZDY3MmViMmMuLmU3NzlkYWVhZTY1
OTUzNDE4ZDkwYzE3NTAxMmQ1OGZiOTY4YTUwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFN0cmluZyB1cmxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9
IDA7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQo
c2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCopID0gMDsKLSAgICB2aXJ0
dWFsIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3Qg
aW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOworICAgIHZpcnR1YWwgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAgICAgdmly
dHVhbCBVUkwgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQq
KSA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gaW5m
b3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0Kikg
PSAwOwogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZv
Pj4gYWxsUGFzdGVib2FyZEl0ZW1JbmZvKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGlu
dDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAppbmRleCA3YTJhMzEwMDc0
MjUwMDI0M2JiNDZmZjU5ODY4NjFlODRhMmZkOTZlLi5lYjQxYTY4Y2M1YWY5MjJlODgyZWMyNjhl
ZGIyZTk5MDVmNDNjMjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVBhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBh
c3RlYm9hcmQuaApAQCAtNzAsOCArNzAsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBJbmNs
dWRlSW1hZ2VUeXBlcyA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgc3RhdGljIFN0cmluZyBwbGF0
Zm9ybVBhc3RlYm9hcmRUeXBlRm9yU2FmZVR5cGVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBT
dHJpbmcmIGRvbVR5cGUsIEluY2x1ZGVJbWFnZVR5cGVzID0gSW5jbHVkZUltYWdlVHlwZXM6Ok5v
KTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5
cGVzKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JU
eXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0UGF0aG5hbWVz
Rm9yVHlwZShWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc3RyaW5nRm9yVHlwZShj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBW
ZWN0b3I8U3RyaW5nPiBhbGxTdHJpbmdzRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlKSBjb25zdDsKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgd3JpdGUoY29uc3QgUGFzdGVib2FyZEltYWdlJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCB3cml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRVUkwmKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyKHNpemVfdCBp
bmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSkgY29uc3Q7CisgICAgV0VCQ09SRV9F
WFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVf
dD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyByZWFkU3RyaW5nKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIHJlYWRVUkwoc2l6
ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQg
Y291bnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxh
dGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDE2N2NlZjAyZDc4ZDc5NGRlYWE4ZTVkZGFmNGRk
NjZjM2QyY2NhNDUuLjlkYjBhYjM0YjI2MThhMDQwMmIwZDI0M2RjODcwN2EzNjc4MjNkZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2Fy
ZElPUy5tbQpAQCAtNzQsMTIgKzc0LDEyIEBAIFBsYXRmb3JtUGFzdGVib2FyZDo6UGxhdGZvcm1Q
YXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYpCiB9CiAjZW5kaWYKIAotdm9pZCBQbGF0Zm9ybVBhc3Rl
Ym9hcmQ6OmdldFR5cGVzKFZlY3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0
ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgdHlw
ZXMgPSBtYWtlVmVjdG9yPFN0cmluZz4oW21fcGFzdGVib2FyZCBwYXN0ZWJvYXJkVHlwZXNdKTsK
IH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JU
eXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKK1JlZlB0cjxTaGFyZWRCdWZmZXI+IFBsYXRmb3JtUGFz
dGVib2FyZDo6YnVmZmVyRm9yVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAg
aWYgKE5TRGF0YSAqZGF0YSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5
cGVdKQogICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSk7CkBAIC03NDYs
MTIgKzc0NiwxNiBAQCBWZWN0b3I8U3RyaW5nPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFN0cmlu
Z3NGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKICAgICByZXR1cm4gc3RyaW5nczsK
IH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVy
KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90
PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIGlmICgoTlNJbnRlZ2Vy
KWluZGV4IDwgMCB8fCAoTlNJbnRlZ2VyKWluZGV4ID49IFttX3Bhc3RlYm9hcmQgbnVtYmVyT2ZJ
dGVtc10pCisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJuIGJ1ZmZlckZvclR5cGUodHlw
ZSk7CisKKyAgICBOU0ludGVnZXIgaW50ZWdlckluZGV4ID0gKmluZGV4OworICAgIGlmIChpbnRl
Z2VySW5kZXggPCAwIHx8IGludGVnZXJJbmRleCA+PSBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRl
bXNdKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0
ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW5kZXhdOworICAgIE5TSW5kZXhTZXQg
KmluZGV4U2V0ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW50ZWdlckluZGV4XTsK
IAogICAgIFJldGFpblB0cjxOU0FycmF5PiBwYXN0ZWJvYXJkSXRlbSA9IFttX3Bhc3RlYm9hcmQg
ZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5cGUgaW5JdGVtU2V0OmluZGV4U2V0XTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1BsYXRmb3JtUGFzdGVib2FyZExp
YldQRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJv
YXJkTGliV1BFLmNwcAppbmRleCAzNDExMDhjMWY4MDQ2MmQzMzY4NTc5MjhmZGFjY2NkZDE2M2Zm
MzY1Li45M2RiNTdmZDc1YjhmY2FjMWE3NDVmNjIyOTRlMjdjOTdlMDQwYWIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BF
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJv
YXJkTGliV1BFLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6
cGVyZm9ybUFzRGF0YU93bmVyKERhdGFPd25lclR5cGUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBhYwog
ICAgIGFjdGlvbnMoKTsKIH0KIAotdm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKFZl
Y3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhW
ZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgc3RydWN0IHdwZV9wYXN0ZWJvYXJk
X3N0cmluZ192ZWN0b3IgcGFzdGVib2FyZFR5cGVzID0geyBudWxscHRyLCAwIH07CiAgICAgd3Bl
X3Bhc3RlYm9hcmRfZ2V0X3R5cGVzKG1fcGFzdGVib2FyZCwgJnBhc3RlYm9hcmRUeXBlcyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJk
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1h
Yy5tbQppbmRleCBkOWI3ZDI0ODAzOGMyZGI4YWFiMDkyY2I5MWZmYTU2ZjJjYjRjZTczLi5hN2Zl
NzI1NTQzNzY2NWU4YjhhMGM3NDUzZDMwNDc0OWQ0NTYyZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTYzLDEy
ICs2MywxMiBAQCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OlBsYXRmb3JtUGFzdGVib2FyZChjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKQogICAgIEFTU0VSVChwYXN0ZWJvYXJkTmFtZSk7CiB9CiAK
LXZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMp
Cit2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVz
KSBjb25zdAogewogICAgIHR5cGVzID0gbWFrZVZlY3RvcjxTdHJpbmc+KFttX3Bhc3RlYm9hcmQg
dHlwZXNdKTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpi
dWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpCitSZWZQdHI8U2hhcmVk
QnVmZmVyPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSkgY29uc3QKIHsKICAgICBOU0RhdGEgKmRhdGEgPSBbbV9wYXN0ZWJvYXJk
IGRhdGFGb3JUeXBlOnBhc3RlYm9hcmRUeXBlXTsKICAgICBpZiAoIWRhdGEpCkBAIC00NDYsOSAr
NDQ2LDEyIEBAIHN0YXRpYyBTdHJpbmcgd2ViU2FmZU1JTUVUeXBlRm9yTW9kZXJuUGFzdGVib2Fy
ZFR5cGUoTlNQYXN0ZWJvYXJkVHlwZSBwbGF0Zm9ybVR5CiAgICAgcmV0dXJuIHsgfTsKIH0KIAot
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRl
eCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIE5TUGFzdGVib2FyZEl0ZW0gKml0
ZW0gPSBpdGVtQXRJbmRleChpbmRleCk7CisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJu
IGJ1ZmZlckZvclR5cGUodHlwZSk7CisKKyAgICBOU1Bhc3RlYm9hcmRJdGVtICppdGVtID0gaXRl
bUF0SW5kZXgoKmluZGV4KTsKICAgICBpZiAoIWl0ZW0pCiAgICAgICAgIHJldHVybiB7IH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2Fy
ZFByb3h5Q29jb2EubW0KaW5kZXggYmJlZjY2NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEzMThl
YWY0Yi4uOGUzN2RhNTFmYWE1NGYxOGU2YmMyNTFkNjFjNjRkMmEzMjdlMTk2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVh
ZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZQogICAg
IH0pOwogfQogCi12b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9w
dGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBh
c3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFs
PFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgTUVTU0FHRV9D
SEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5k
bGVyKHsgfSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0
ZWJvYXJkUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFBy
b3h5LmNwcAppbmRleCAxNjg2MTc0ZGMwODM4ODBlMGI2NTU5NjI2NDY2YWEyNTMyOGE1ZTUzLi5j
Y2I0ODI1ZTQ5MmIxYzY2YWFiZmY3MjUwYjAzZjJkMjc5MGMyNjRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKQEAgLTExMSw3ICsxMTEsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29u
bmVjdGlvbiYsIHNpemVfdCwgY29uc3QgUwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9
KTsKIH0KIAotdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mLCBzaXplX3QsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
dm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNv
bm5lY3Rpb24mLCBzdGQ6b3B0aW9uYWw8c2l6ZV90PiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmgKaW5kZXggOTRiNWFmNDA4NTNkODIyZmM0OTFl
MWJlNzUzZTE0ZTRlZmJmMDllZS4uNzUyZWM4M2YwOGNlZjAxMDNmZThhNmZkYjk2NjdhMTYxOGFl
MmQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmgK
QEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZWFkU3RyaW5nRnJvbVBh
c3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcm
Jik+JiYpOwogICAgIHZvaWQgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYs
IHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5n
JiYgdXJsLCBTdHJpbmcmJiB0aXRsZSk+JiYpOwotICAgIHZvaWQgcmVhZEJ1ZmZlckZyb21QYXN0
ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpJUENIYW5kbGUmJik+JiYpOworICAgIHZvaWQgcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYsIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYpOwogICAgIHZvaWQgZ2V0UGFzdGVib2FyZEl0
ZW1zQ291bnQoSVBDOjpDb25uZWN0aW9uJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQodWludDY0X3QpPiYmKTsKICAgICB2b2lkIGluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgo
SVBDOjpDb25uZWN0aW9uJiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVu
dGlmaWVyPiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBh
c3RlYm9hcmRJdGVtSW5mbz4mJik+JiYpOwogICAgIHZvaWQgYWxsUGFzdGVib2FyZEl0ZW1JbmZv
KElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3Qg
Y2hhbmdlQ291bnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9h
cmRJdGVtSW5mbz4+JiYpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiODllN2E3MDZmZGZjMDYzZjBi
MGE0ZDhmYjcxZTNiMWJhZjE3ZjRiLi43Njg4MTVlZjQyYmIxNDhkMzc3NmIzODI1YWMxZmU1YTUy
ZjIzYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVi
b2FyZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zNiw3ICszNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
c3RlYm9hcmRQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBHZXRQYXN0ZWJvYXJkSXRlbXNDb3Vu
dChTdHJpbmcgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50
aWZpZXI+IHBhZ2VJRCkgLT4gKHVpbnQ2NF90IGl0ZW1zQ291bnQpIFN5bmNocm9ub3VzIFdhbnRz
Q29ubmVjdGlvbgogICAgIFJlYWRTdHJpbmdGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBpbmRleCwg
U3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBTdHJpbmcgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+IHBhZ2VJRCkgLT4gKFN0cmluZyBzdHJpbmcpIFN5
bmNocm9ub3VzIFdhbnRzQ29ubmVjdGlvbgogICAgIFJlYWRVUkxGcm9tUGFzdGVib2FyZCh1aW50
NjRfdCBpbmRleCwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChTdHJpbmcgdXJsLCBTdHJpbmcgdGl0bGUpIFN5
bmNocm9ub3VzIFdhbnRzQ29ubmVjdGlvbgotICAgIFJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCh1
aW50NjRfdCBpbmRleCwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBTdHJpbmcgcGFzdGVib2FyZE5h
bWUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+IHBhZ2VJRCkgLT4gKFdl
YktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaGFuZGxlKSBTeW5jaHJvbm91cyBXYW50c0Nv
bm5lY3Rpb24KKyAgICBSZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc3RkOjpvcHRpb25hbDx1aW50
NjRfdD4gaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHBhc3RlYm9hcmROYW1l
LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChXZWJL
aXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGhhbmRsZSkgU3luY2hyb25vdXMgV2FudHNDb25u
ZWN0aW9uCiAgICAgQ29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZShTdHJpbmcg
dHlwZSwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyPiBwYWdlSUQpIC0+IChib29sIHJlc3VsdCkgU3luY2hyb25vdXMgV2FudHNDb25u
ZWN0aW9uCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAKaW5kZXggZjQxYTcwZWY1YmI2YzBlY2U4YmQ4NjI3NDExNjAxY2Y3MzBlNjJhMS4uNjBj
MjA3ZWQwZWVhODM2YjQ4NzBkZGE3YzZiYjMwYTE0NTRjYTQ5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRm
b3JtU3RyYXRlZ2llcy5jcHAKQEAgLTQwNiw3ICs0MDYsNyBAQCBzdGQ6Om9wdGlvbmFsPFBhc3Rl
Ym9hcmRJdGVtSW5mbz4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbmZvcm1hdGlvbkZvckl0ZW1B
dEluZAogICAgIHJldHVybiBpbmZvOwogfQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3Qg
aW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KQorUmVmUHRyPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBh
c3RlYm9hcmQoc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJk
Q29udGV4dCogY29udGV4dCkKIHsKICAgICBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBpcGNIYW5k
bGU7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6UmVhZEJ1ZmZlckZyb21Q
YXN0ZWJvYXJkKGluZGV4LCBwYXN0ZWJvYXJkVHlwZSwgcGFzdGVib2FyZE5hbWUsIHBhZ2VJZGVu
dGlmaWVyKGNvbnRleHQpKSwgTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6UmVhZEJ1ZmZl
ckZyb21QYXN0ZWJvYXJkOjpSZXBseShpcGNIYW5kbGUpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaAppbmRleCBlMjgwOTk2M2Y0ZjUwNjgxYjdkMDFmNDFhNjg1MzFhYjczMjE0ZmIw
Li4yMDBiNmMwMTU5YjY4OGM3MmEzZmFkZmJhZTBhNjk0ODMxYjkzNmUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAog
ICAgIFN0cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25z
dCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJD
b3JlOjpTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CisgICAgUmVm
UHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRl
eHQqKSBvdmVycmlkZTsKICAgICBVUkwgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRl
eCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgV2Vi
Q29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBpbnQgZ2V0UGFzdGVib2Fy
ZEl0ZW1zQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6
UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlBhc3RlYm9hcmRJdGVtSW5mbz4gaW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNv
bnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCmluZGV4IDI0YjY5OTcwNmRmMGQ2YjcxOTJhYTUyMDJkZTYxZDhiMWU1NzMy
ZjkuLjFkODFmZmExOWQ5N2YwNGVjN2NjNTc1YjNlY2U1ZTg4ODE0NDBiMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1
cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50
aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0
ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgU3RyaW5nIHJlYWRTdHJpbmdG
cm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRD
b250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVh
ZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiByZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIFVS
TCByZWFkVVJMRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBTdHJpbmcmIHRpdGxlLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4
dCopIG92ZXJyaWRlOwogICAgIGludCBnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92
ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFzdGVib2FyZEl0ZW1JbmZvPiBp
bmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgaW50NjRfdCBjaGFuZ2VDb3VudCwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2Fy
ZENvbnRleHQqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCBm
YzA3NzZlNjJkNjZiZTlhYzkzZDQ4N2RkZmQzMDBhNmQ0MDdjNTUzLi4xODhlYzUwMDQ1MDc3ZDc4
YjAxMjBhNmRhZmJiMDRmYjc5Mjc2NDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CkBAIC0yMDksNyArMjA5LDcgQEAgaW50IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGFzdGVi
b2FyZEl0ZW1zQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwKICAgICByZXR1cm4g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jb3VudCgpOwogfQogCi1SZWZQdHI8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJG
cm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKQorUmVmUHRyPFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJv
bVBhc3RlYm9hcmQoc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0
KikKIHsKICAgICByZXR1cm4gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5yZWFk
QnVmZmVyKGluZGV4LCB0eXBlKTsKIH0K
</data>
<flag name="commit-queue"
          id="471582"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446235</attachid>
            <date>2021-12-07 14:03:43 -0800</date>
            <delta_ts>2021-12-09 16:17:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>233940.diff</filename>
            <type>text/plain</type>
            <size>23737</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWI2ZTVkZjJhY2UzNzI0MTIzOGM4NjE3NWU2ODQyMmVhYTYxZWNjLi42
MzNiMDA1ZTg4YzYyNTQwNWVlYjY0MmM4NzAyZWVhMTZhNzhmNjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byByZWFkIGZyb20g
dGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMgaXRlbQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8g
bWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIHJlYWQgZnJvbSB0aGUgZm9u
dCBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUsIG5vdCBhIHNwZWNpZmljIGl0ZW0uIE1ha2UgdGhlIGBp
bmRleGAgaW50bworICAgICAgICBhbiBgc3RkOjpvcHRpb25hbGAgc28gdGhhdCB3ZSBjYW4gaGF2
ZSB0aGlzIGJlaGF2aW9yIHdpdGhvdXQgbmVlZGluZyB0byBoYXZlIGEgbmV3IG1ldGhvZC4KKwor
ICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0
ZWJvYXJkU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGli
V1BFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6cmVhZEJ1ZmZlciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9y
VHlwZSk6IERlbGV0ZWQuCisKIDIwMjEtMTItMDcgIEt5bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5n
dG9uQGFwcGxlLmNvbT4KICAgICAgICAgUm9sbCBBTkdMRSB0byBpbmNsdWRlIHVwc3RyZWFtZWQg
TWV0YWwgYmFja2VuZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIwODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU3NTBlMzIxNjEwMzU4ZTM4NmYzMDg4ZTIwMmZiMzBl
MzlkNjdkMDUuLmMyMDkxNGVkZTgzMjNhOWE2NDBiMGY4ZDJmZDQzYTY3NTk4ZmY0YjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byBy
ZWFkIGZyb20gdGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMg
aXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
OTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gbWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIHJlYWQgZnJv
bSB0aGUgZm9udCBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUsIG5vdCBhIHNwZWNpZmljIGl0ZW0uIE1h
a2UgdGhlIGBpbmRleGAgaW50bworICAgICAgICBhbiBgc3RkOjpvcHRpb25hbGAgc28gdGhhdCB3
ZSBjYW4gaGF2ZSB0aGlzIGJlaGF2aW9yIHdpdGhvdXQgbmVlZGluZyB0byBoYXZlIGEgbmV3IG1l
dGhvZC4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFzdGVib2Fy
ZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVib2FyZFByb3h5OjpyZWFkQnVm
ZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJv
YXJkUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVib2FyZFByb3h5Ojpy
ZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCk6CisKIDIwMjEt
MTItMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdl
YkxvY2tSZWdpc3RyeVByb3h5Ojpwcm9jZXNzRGlkRXhpdCgpIHJldHVybiBlYXJseSBpZiBwcm9j
ZXNzIG5ldmVyIHJlZ2lzdGVyZWQgYW55IGxvY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
aW5kZXggZTE3MGUwOTNjYmE5YzUwZGZmYzIxMTU4YmYyMGIyOGFhZGMxYTBhZS4uMTE3NTdhZTBk
NTMzZGFiNzFhODEzMDcxNjU5NzVkYjc5M2Y3ZTA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBgUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcmAgdG8g
cmVhZCBmcm9tIHRoZSBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUgaW5zdGVhZCBvZiBhIHNwZWNpZmlj
IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
Mzk0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IG9yZGVyIHRvIG1hdGNoIHRoZSBXSzEgaW1wbGVtZW50YXRpb24gb2YgYC1wYXN0ZUZvbnQ6YCA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5Piwgd2UKKyAgICAgICAgbmVlZCB0byByZWFkIGZy
b20gdGhlIGZvbnQgcGFzdGVib2FyZCBhcyBhIHdob2xlLCBub3QgYSBzcGVjaWZpYyBpdGVtLiBN
YWtlIHRoZSBgaW5kZXhgIGludG8KKyAgICAgICAgYW4gYHN0ZDo6b3B0aW9uYWxgIHNvIHRoYXQg
d2UgY2FuIGhhdmUgdGhpcyBiZWhhdmlvciB3aXRob3V0IG5lZWRpbmcgdG8gaGF2ZSBhIG5ldyBt
ZXRob2QuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorCiAyMDIxLTEyLTA2ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgSURMIGBEYXRlYCB0
byBiZSBiYWNrZWQgYnkgYFdhbGxUaW1lYCB0byBhdm9pZCBjb25mdXNpb24gd2hlbiBjb252ZXJ0
aW5nIHRvIG5hdGl2ZSBkYXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcApp
bmRleCAxNTczMWViMjNmYTc2OTQ5NjBkZDgwNDk2ZmE4ZjJmOWU4Yzc3ODBmLi5jYWNkMDNkMTEz
MTI3MDIxMGI5YjNjYzIwMGVhZDUzMmY1YWJhZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmNwcApAQCAtODksNyArODksNyBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cmVhZFN0
cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4geyB9Owog
fQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVy
KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKQorUmVmUHRyPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4gUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5k
ZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICBpZiAoYXV0byogc3RyYXRlZ3kgPSBwbGF0
Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCkpCiAgICAgICAgIHJldHVybiBz
dHJhdGVneS0+cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKGluZGV4LCB0eXBlLCBuYW1lKCksIGNv
bnRleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2QyNDdkY2Qx
YTE2ZjM0MmMxNzU0YzQ1YzRhNzM1MjliZjhmNzFiMi4uNWJiNGI2ZTY3MmJkODQxNzdhMDhiMjI2
YWQzOWEwNWJlYWUwODY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAt
Mjk2LDcgKzI5Niw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVt
SW5mbz4gcGFzdGVib2FyZEl0ZW1JbmZvKHNpemVfdCBpbmRleCkgY29uc3Q7CiAKICAgICBTdHJp
bmcgcmVhZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgUmVm
UHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgsIGNvbnN0
IFN0cmluZyYgdHlwZSk7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1
ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAg
ICAgVVJMIHJlYWRVUkwoc2l6ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKTsKIAogICAgIGNvbnN0
IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0Lmdl
dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3Ry
YXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmlu
ZGV4IDFjMDcyNmZlYjNlMDJhZWQzMmI0NmYyNjJiY2RhMTY5ZDY3MmViMmMuLmU3NzlkYWVhZTY1
OTUzNDE4ZDkwYzE3NTAxMmQ1OGZiOTY4YTUwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFN0cmluZyB1cmxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9
IDA7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQo
c2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCopID0gMDsKLSAgICB2aXJ0
dWFsIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3Qg
aW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOworICAgIHZpcnR1YWwgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAgICAgdmly
dHVhbCBVUkwgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQq
KSA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gaW5m
b3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0Kikg
PSAwOwogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZv
Pj4gYWxsUGFzdGVib2FyZEl0ZW1JbmZvKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGlu
dDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAppbmRleCA3YTJhMzEwMDc0
MjUwMDI0M2JiNDZmZjU5ODY4NjFlODRhMmZkOTZlLi5lYjQxYTY4Y2M1YWY5MjJlODgyZWMyNjhl
ZGIyZTk5MDVmNDNjMjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVBhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBh
c3RlYm9hcmQuaApAQCAtNzAsOCArNzAsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBJbmNs
dWRlSW1hZ2VUeXBlcyA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgc3RhdGljIFN0cmluZyBwbGF0
Zm9ybVBhc3RlYm9hcmRUeXBlRm9yU2FmZVR5cGVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBT
dHJpbmcmIGRvbVR5cGUsIEluY2x1ZGVJbWFnZVR5cGVzID0gSW5jbHVkZUltYWdlVHlwZXM6Ok5v
KTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5
cGVzKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JU
eXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0UGF0aG5hbWVz
Rm9yVHlwZShWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc3RyaW5nRm9yVHlwZShj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBW
ZWN0b3I8U3RyaW5nPiBhbGxTdHJpbmdzRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlKSBjb25zdDsKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgd3JpdGUoY29uc3QgUGFzdGVib2FyZEltYWdlJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCB3cml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRVUkwmKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyKHNpemVfdCBp
bmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSkgY29uc3Q7CisgICAgV0VCQ09SRV9F
WFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVf
dD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyByZWFkU3RyaW5nKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIHJlYWRVUkwoc2l6
ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQg
Y291bnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxh
dGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDE2N2NlZjAyZDc4ZDc5NGRlYWE4ZTVkZGFmNGRk
NjZjM2QyY2NhNDUuLjlkYjBhYjM0YjI2MThhMDQwMmIwZDI0M2RjODcwN2EzNjc4MjNkZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2Fy
ZElPUy5tbQpAQCAtNzQsMTIgKzc0LDEyIEBAIFBsYXRmb3JtUGFzdGVib2FyZDo6UGxhdGZvcm1Q
YXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYpCiB9CiAjZW5kaWYKIAotdm9pZCBQbGF0Zm9ybVBhc3Rl
Ym9hcmQ6OmdldFR5cGVzKFZlY3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0
ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgdHlw
ZXMgPSBtYWtlVmVjdG9yPFN0cmluZz4oW21fcGFzdGVib2FyZCBwYXN0ZWJvYXJkVHlwZXNdKTsK
IH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JU
eXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKK1JlZlB0cjxTaGFyZWRCdWZmZXI+IFBsYXRmb3JtUGFz
dGVib2FyZDo6YnVmZmVyRm9yVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAg
aWYgKE5TRGF0YSAqZGF0YSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5
cGVdKQogICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSk7CkBAIC03NDYs
MTIgKzc0NiwxNiBAQCBWZWN0b3I8U3RyaW5nPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFN0cmlu
Z3NGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKICAgICByZXR1cm4gc3RyaW5nczsK
IH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVy
KHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90
PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIGlmICgoTlNJbnRlZ2Vy
KWluZGV4IDwgMCB8fCAoTlNJbnRlZ2VyKWluZGV4ID49IFttX3Bhc3RlYm9hcmQgbnVtYmVyT2ZJ
dGVtc10pCisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJuIGJ1ZmZlckZvclR5cGUodHlw
ZSk7CisKKyAgICBOU0ludGVnZXIgaW50ZWdlckluZGV4ID0gKmluZGV4OworICAgIGlmIChpbnRl
Z2VySW5kZXggPCAwIHx8IGludGVnZXJJbmRleCA+PSBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRl
bXNdKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0
ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW5kZXhdOworICAgIE5TSW5kZXhTZXQg
KmluZGV4U2V0ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW50ZWdlckluZGV4XTsK
IAogICAgIFJldGFpblB0cjxOU0FycmF5PiBwYXN0ZWJvYXJkSXRlbSA9IFttX3Bhc3RlYm9hcmQg
ZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5cGUgaW5JdGVtU2V0OmluZGV4U2V0XTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1BsYXRmb3JtUGFzdGVib2FyZExp
YldQRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJv
YXJkTGliV1BFLmNwcAppbmRleCAzNDExMDhjMWY4MDQ2MmQzMzY4NTc5MjhmZGFjY2NkZDE2M2Zm
MzY1Li45M2RiNTdmZDc1YjhmY2FjMWE3NDVmNjIyOTRlMjdjOTdlMDQwYWIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BF
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJv
YXJkTGliV1BFLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6
cGVyZm9ybUFzRGF0YU93bmVyKERhdGFPd25lclR5cGUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBhYwog
ICAgIGFjdGlvbnMoKTsKIH0KIAotdm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKFZl
Y3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhW
ZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgc3RydWN0IHdwZV9wYXN0ZWJvYXJk
X3N0cmluZ192ZWN0b3IgcGFzdGVib2FyZFR5cGVzID0geyBudWxscHRyLCAwIH07CiAgICAgd3Bl
X3Bhc3RlYm9hcmRfZ2V0X3R5cGVzKG1fcGFzdGVib2FyZCwgJnBhc3RlYm9hcmRUeXBlcyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJk
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1h
Yy5tbQppbmRleCBkOWI3ZDI0ODAzOGMyZGI4YWFiMDkyY2I5MWZmYTU2ZjJjYjRjZTczLi5hN2Zl
NzI1NTQzNzY2NWU4YjhhMGM3NDUzZDMwNDc0OWQ0NTYyZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTYzLDEy
ICs2MywxMiBAQCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OlBsYXRmb3JtUGFzdGVib2FyZChjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKQogICAgIEFTU0VSVChwYXN0ZWJvYXJkTmFtZSk7CiB9CiAK
LXZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMp
Cit2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVz
KSBjb25zdAogewogICAgIHR5cGVzID0gbWFrZVZlY3RvcjxTdHJpbmc+KFttX3Bhc3RlYm9hcmQg
dHlwZXNdKTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpi
dWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpCitSZWZQdHI8U2hhcmVk
QnVmZmVyPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSkgY29uc3QKIHsKICAgICBOU0RhdGEgKmRhdGEgPSBbbV9wYXN0ZWJvYXJk
IGRhdGFGb3JUeXBlOnBhc3RlYm9hcmRUeXBlXTsKICAgICBpZiAoIWRhdGEpCkBAIC00NDYsOSAr
NDQ2LDEyIEBAIHN0YXRpYyBTdHJpbmcgd2ViU2FmZU1JTUVUeXBlRm9yTW9kZXJuUGFzdGVib2Fy
ZFR5cGUoTlNQYXN0ZWJvYXJkVHlwZSBwbGF0Zm9ybVR5CiAgICAgcmV0dXJuIHsgfTsKIH0KIAot
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRl
eCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIE5TUGFzdGVib2FyZEl0ZW0gKml0
ZW0gPSBpdGVtQXRJbmRleChpbmRleCk7CisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJu
IGJ1ZmZlckZvclR5cGUodHlwZSk7CisKKyAgICBOU1Bhc3RlYm9hcmRJdGVtICppdGVtID0gaXRl
bUF0SW5kZXgoKmluZGV4KTsKICAgICBpZiAoIWl0ZW0pCiAgICAgICAgIHJldHVybiB7IH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2Fy
ZFByb3h5Q29jb2EubW0KaW5kZXggYmJlZjY2NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEzMThl
YWY0Yi4uOGUzN2RhNTFmYWE1NGYxOGU2YmMyNTFkNjFjNjRkMmEzMjdlMTk2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVh
ZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZQogICAg
IH0pOwogfQogCi12b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9w
dGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBh
c3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFs
PFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgTUVTU0FHRV9D
SEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5k
bGVyKHsgfSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0
ZWJvYXJkUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFBy
b3h5LmNwcAppbmRleCAxNjg2MTc0ZGMwODM4ODBlMGI2NTU5NjI2NDY2YWEyNTMyOGE1ZTUzLi5j
Y2I0ODI1ZTQ5MmIxYzY2YWFiZmY3MjUwYjAzZjJkMjc5MGMyNjRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKQEAgLTExMSw3ICsxMTEsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29u
bmVjdGlvbiYsIHNpemVfdCwgY29uc3QgUwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9
KTsKIH0KIAotdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mLCBzaXplX3QsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
dm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNv
bm5lY3Rpb24mLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4sIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCmluZGV4IDk0YjVhZjQwODUzZDgyMmZjNDkx
ZTFiZTc1M2UxNGU0ZWZiZjA5ZWUuLjc1MmVjODNmMDhjZWYwMTAzZmU4YTZmZGI5NjY3YTE2MThh
ZTJkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5o
CkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVhZFN0cmluZ0Zyb21Q
YXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5n
JiYpPiYmKTsKICAgICB2b2lkIHJlYWRVUkxGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24m
LCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmlu
ZyYmIHVybCwgU3RyaW5nJiYgdGl0bGUpPiYmKTsKLSAgICB2b2lkIHJlYWRCdWZmZXJGcm9tUGFz
dGVib2FyZChJUEM6OkNvbm5lY3Rpb24mLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlJiYpPiYmKTsKKyAgICB2b2lkIHJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmKTsKICAgICB2b2lkIGdldFBhc3RlYm9hcmRJ
dGVtc0NvdW50KElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHVpbnQ2NF90KT4mJik7CiAgICAgdm9pZCBpbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4
KElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSwgaW50NjRfdCBjaGFuZ2VDb3VudCwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRl
bnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQ
YXN0ZWJvYXJkSXRlbUluZm8+JiYpPiYmKTsKICAgICB2b2lkIGFsbFBhc3RlYm9hcmRJdGVtSW5m
byhJUEM6OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90
IGNoYW5nZUNvdW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpQYXN0ZWJv
YXJkSXRlbUluZm8+PiYmKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjg5ZTdhNzA2ZmRmYzA2M2Yw
YjBhNGQ4ZmI3MWUzYjFiYWYxN2Y0Yi4uNzY4ODE1ZWY0MmJiMTQ4ZDM3NzZiMzgyNWFjMWZlNWE1
MmYyM2MxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2Fy
ZFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3Rl
Ym9hcmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzYsNyArMzYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQ
YXN0ZWJvYXJkUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgR2V0UGFzdGVib2FyZEl0ZW1zQ291
bnQoU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVu
dGlmaWVyPiBwYWdlSUQpIC0+ICh1aW50NjRfdCBpdGVtc0NvdW50KSBTeW5jaHJvbm91cyBXYW50
c0Nvbm5lY3Rpb24KICAgICBSZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5kZXgs
IFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChTdHJpbmcgc3RyaW5nKSBT
eW5jaHJvbm91cyBXYW50c0Nvbm5lY3Rpb24KICAgICBSZWFkVVJMRnJvbVBhc3RlYm9hcmQodWlu
dDY0X3QgaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSAtPiAoU3RyaW5nIHVybCwgU3RyaW5nIHRpdGxlKSBT
eW5jaHJvbm91cyBXYW50c0Nvbm5lY3Rpb24KLSAgICBSZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQo
dWludDY0X3QgaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHBhc3RlYm9hcmRO
YW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChX
ZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGhhbmRsZSkgU3luY2hyb25vdXMgV2FudHND
b25uZWN0aW9uCisgICAgUmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8dWlu
dDY0X3Q+IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFt
ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSAtPiAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBoYW5kbGUpIFN5bmNocm9ub3VzIFdhbnRzQ29u
bmVjdGlvbgogICAgIENvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoU3RyaW5n
IHR5cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdl
SWRlbnRpZmllcj4gcGFnZUlEKSAtPiAoYm9vbCByZXN1bHQpIFN5bmNocm9ub3VzIFdhbnRzQ29u
bmVjdGlvbgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwCmluZGV4IGY0MWE3MGVmNWJiNmMwZWNlOGJkODYyNzQxMTYwMWNmNzMwZTYyYTEuLjYw
YzIwN2VkMGVlYTgzNmI0ODcwZGRhN2M2YmIzMGExNDU0Y2E0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC00MDYsNyArNDA2LDcgQEAgc3RkOjpvcHRpb25hbDxQYXN0
ZWJvYXJkSXRlbUluZm8+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5mb3JtYXRpb25Gb3JJdGVt
QXRJbmQKICAgICByZXR1cm4gaW5mbzsKIH0KIAotUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cj4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90
IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCogY29udGV4dCkKK1JlZlB0cjxXZWJD
b3JlOjpTaGFyZWRCdWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21Q
YXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2Fy
ZENvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFu
ZGxlOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9t
UGFzdGVib2FyZChpbmRleCwgcGFzdGVib2FyZFR5cGUsIHBhc3RlYm9hcmROYW1lLCBwYWdlSWRl
bnRpZmllcihjb250ZXh0KSksIE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZm
ZXJGcm9tUGFzdGVib2FyZDo6UmVwbHkoaXBjSGFuZGxlKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmgKaW5kZXggZTI4MDk5NjNmNGY1MDY4MWI3ZDAxZjQxYTY4NTMxYWI3MzIxNGZi
MC4uMjAwYjZjMDE1OWI2ODhjNzJhM2ZhZGZiYWUwYTY5NDgzMWI5MzZlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAK
ICAgICBTdHJpbmcgcmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKLSAgICBSZWZQdHI8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOworICAgIFJl
ZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzdGQ6
Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250
ZXh0Kikgb3ZlcnJpZGU7CiAgICAgVVJMIHJlYWRVUkxGcm9tUGFzdGVib2FyZChzaXplX3QgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFN0cmluZyYgdGl0bGUsIGNvbnN0IFdl
YkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgaW50IGdldFBhc3RlYm9h
cmRJdGVtc0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6
OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpQYXN0ZWJvYXJkSXRlbUluZm8+IGluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGlu
ZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBj
b25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaAppbmRleCAyNGI2OTk3MDZkZjBkNmI3MTkyYWE1MjAyZGU2MWQ4YjFlNTcz
MmY5Li4xZDgxZmZhMTlkOTdmMDRlYzdjYzU3NWIzZWNlNWU4ODgxNDQwYjM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dXBkYXRlU3VwcG9ydGVkVHlwZUlkZW50aWZpZXJzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVu
dGlmaWVycywgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICNlbmRpZgogICAgIFN0cmluZyByZWFkU3RyaW5n
RnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJk
Q29udGV4dCopIG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHJl
YWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBh
c3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRl
eCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBV
UkwgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRl
eHQqKSBvdmVycmlkZTsKICAgICBpbnQgZ2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBv
dmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4g
aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9h
cmRDb250ZXh0Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KaW5kZXgg
ZmMwNzc2ZTYyZDY2YmU5YWM5M2Q0ODdkZGZkMzAwYTZkNDA3YzU1My4uMTg4ZWM1MDA0NTA3N2Q3
OGIwMTIwYTZkYWZiYjA0ZmI3OTI3NjQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5t
bQpAQCAtMjA5LDcgKzIwOSw3IEBAIGludCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBhc3Rl
Ym9hcmRJdGVtc0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsCiAgICAgcmV0dXJu
IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY291bnQoKTsKIH0KIAotUmVmUHRy
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVy
RnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikKK1JlZlB0cjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZy
b21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0
eXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4
dCopCiB7CiAgICAgcmV0dXJuIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkucmVh
ZEJ1ZmZlcihpbmRleCwgdHlwZSk7CiB9Cg==
</data>
<flag name="review"
          id="471646"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
    <flag name="commit-queue"
          id="471647"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446629</attachid>
            <date>2021-12-09 16:17:45 -0800</date>
            <delta_ts>2021-12-10 13:17:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>233940.diff</filename>
            <type>text/plain</type>
            <size>23731</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWI2ZTVkZjJhY2UzNzI0MTIzOGM4NjE3NWU2ODQyMmVhYTYxZWNjLi42
MzNiMDA1ZTg4YzYyNTQwNWVlYjY0MmM4NzAyZWVhMTZhNzhmNjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byByZWFkIGZyb20g
dGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMgaXRlbQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1h
dGNoIHRoZSBXSzEgaW1wbGVtZW50YXRpb24gb2YgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTkxMzc5Piwgd2UKKyAgICAgICAgbmVlZCB0byByZWFkIGZyb20gdGhlIGZvbnQg
cGFzdGVib2FyZCBhcyBhIHdob2xlLCBub3QgYSBzcGVjaWZpYyBpdGVtLiBNYWtlIHRoZSBgaW5k
ZXhgIGludG8KKyAgICAgICAgYW4gYHN0ZDo6b3B0aW9uYWxgIHNvIHRoYXQgd2UgY2FuIGhhdmUg
dGhpcyBiZWhhdmlvciB3aXRob3V0IG5lZWRpbmcgdG8gaGF2ZSBhIG5ldyBtZXRob2QuCisKKyAg
ICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vUGFzdGVi
b2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFzdGVib2FyZDo6cmVhZEJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVi
b2FyZFN0cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmg6
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6cmVhZEJ1ZmZlciBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9yVHlwZSk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbGlid3BlL1BsYXRmb3JtUGFzdGVib2FyZExpYldQ
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMpOiBE
ZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YnVmZmVyRm9yVHlwZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OnJlYWRCdWZmZXIgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5
cGUpOiBEZWxldGVkLgorCiAyMDIxLTEyLTA3ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGluZ3Rv
bkBhcHBsZS5jb20+CiAgICAgICAgIFJvbGwgQU5HTEUgdG8gaW5jbHVkZSB1cHN0cmVhbWVkIE1l
dGFsIGJhY2tlbmQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMDg5NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA1NzUwZTMyMTYxMDM1OGUzODZmMzA4OGUyMDJmYjMwZTM5
ZDY3ZDA1Li5jMjA5MTRlZGU4MzIzYTlhNjQwYjBmOGQyZmQ0M2E2NzU5OGZmNGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEyLTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBBbGxvdyBgUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcmAgdG8gcmVh
ZCBmcm9tIHRoZSBwYXN0ZWJvYXJkIGFzIGEgd2hvbGUgaW5zdGVhZCBvZiBhIHNwZWNpZmljIGl0
ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzk0
MAorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBJbiBvcmRl
ciB0byBtYXRjaCB0aGUgV0sxIGltcGxlbWVudGF0aW9uIG9mIGAtcGFzdGVGb250OmAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4sIHdlCisgICAgICAgIG5lZWQgdG8gcmVhZCBmcm9tIHRo
ZSBmb250IHBhc3RlYm9hcmQgYXMgYSB3aG9sZSwgbm90IGEgc3BlY2lmaWMgaXRlbS4gTWFrZSB0
aGUgYGluZGV4YCBpbnRvCisgICAgICAgIGFuIGBzdGQ6Om9wdGlvbmFsYCBzbyB0aGF0IHdlIGNh
biBoYXZlIHRoaXMgYmVoYXZpb3Igd2l0aG91dCBuZWVkaW5nIHRvIGhhdmUgYSBuZXcgbWV0aG9k
LgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhc3RlYm9hcmRQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJG
cm9tUGFzdGVib2FyZCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQ
cm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRC
dWZmZXJGcm9tUGFzdGVib2FyZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
YXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKToKKwogMjAyMS0xMi0w
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgV2ViTG9j
a1JlZ2lzdHJ5UHJveHk6OnByb2Nlc3NEaWRFeGl0KCkgcmV0dXJuIGVhcmx5IGlmIHByb2Nlc3Mg
bmV2ZXIgcmVnaXN0ZXJlZCBhbnkgbG9ja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCBlMTcwZTA5M2NiYTljNTBkZmZjMjExNThiZjIwYjI4YWFkYzFhMGFlLi4xMTc1N2FlMGQ1MzNk
YWI3MWE4MTMwNzE2NTk3NWRiNzkzZjdlMDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgorCisgICAgICAgIEFsbG93IGBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyYCB0byByZWFk
IGZyb20gdGhlIHBhc3RlYm9hcmQgYXMgYSB3aG9sZSBpbnN0ZWFkIG9mIGEgc3BlY2lmaWMgaXRl
bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIEluIG9yZGVy
IHRvIG1hdGNoIHRoZSBXSzEgaW1wbGVtZW50YXRpb24gb2YgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6
Ly93ZWJraXQub3JnL2IvMTkxMzc5Piwgd2UKKyAgICAgICAgbmVlZCB0byByZWFkIGZyb20gdGhl
IGZvbnQgcGFzdGVib2FyZCBhcyBhIHdob2xlLCBub3QgYSBzcGVjaWZpYyBpdGVtLiBNYWtlIHRo
ZSBgaW5kZXhgIGludG8KKyAgICAgICAgYW4gYHN0ZDo6b3B0aW9uYWxgIHNvIHRoYXQgd2UgY2Fu
IGhhdmUgdGhpcyBiZWhhdmlvciB3aXRob3V0IG5lZWRpbmcgdG8gaGF2ZSBhIG5ldyBtZXRob2Qu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorCiAyMDIxLTEyLTA2ICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgSURMIGBEYXRlYCB0byBiZSBi
YWNrZWQgYnkgYFdhbGxUaW1lYCB0byBhdm9pZCBjb25mdXNpb24gd2hlbiBjb252ZXJ0aW5nIHRv
IG5hdGl2ZSBkYXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVi
b2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcAppbmRleCAx
NTczMWViMjNmYTc2OTQ5NjBkZDgwNDk2ZmE4ZjJmOWU4Yzc3ODBmLi5jYWNkMDNkMTEzMTI3MDIx
MGI5YjNjYzIwMGVhZDUzMmY1YWJhZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJv
YXJkLmNwcApAQCAtODksNyArODksNyBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cmVhZFN0cmluZyhz
aXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4geyB9OwogfQogCi1S
ZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBQYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKQorUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cj4gUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNv
bnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICBpZiAoYXV0byogc3RyYXRlZ3kgPSBwbGF0Zm9ybVN0
cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCkpCiAgICAgICAgIHJldHVybiBzdHJhdGVn
eS0+cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKGluZGV4LCB0eXBlLCBuYW1lKCksIGNvbnRleHQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2QyNDdkY2QxYTE2ZjM0
MmMxNzU0YzQ1YzRhNzM1MjliZjhmNzFiMi4uNWJiNGI2ZTY3MmJkODQxNzdhMDhiMjI2YWQzOWEw
NWJlYWUwODY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjk2LDcg
KzI5Niw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4g
cGFzdGVib2FyZEl0ZW1JbmZvKHNpemVfdCBpbmRleCkgY29uc3Q7CiAKICAgICBTdHJpbmcgcmVh
ZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgUmVmUHRyPFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmlu
ZyYgdHlwZSk7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihz
dGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgVVJM
IHJlYWRVUkwoc2l6ZV90IGluZGV4LCBTdHJpbmcmIHRpdGxlKTsKIAogICAgIGNvbnN0IFBhc3Rl
Ym9hcmRDb250ZXh0KiBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3RyYXRlZ3ku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmluZGV4IDFj
MDcyNmZlYjNlMDJhZWQzMmI0NmYyNjJiY2RhMTY5ZDY3MmViMmMuLmU3NzlkYWVhZTY1OTUzNDE4
ZDkwYzE3NTAxMmQ1OGZiOTY4YTUwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmRTdHJhdGVneS5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFN0cmluZyB1cmxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIFN0cmluZyByZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoc2l6ZV90
IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCopID0gMDsKLSAgICB2aXJ0dWFsIFJl
ZlB0cjxTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOworICAgIHZpcnR1YWwgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90
PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAgICAgdmlydHVhbCBV
UkwgcmVhZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7
CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4gaW5mb3JtYXRp
b25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwog
ICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPj4gYWxs
UGFzdGVib2FyZEl0ZW1JbmZvKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3Qg
Y2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAppbmRleCA3YTJhMzEwMDc0MjUwMDI0
M2JiNDZmZjU5ODY4NjFlODRhMmZkOTZlLi5lYjQxYTY4Y2M1YWY5MjJlODgyZWMyNjhlZGIyZTk5
MDVmNDNjMjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBh
c3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9h
cmQuaApAQCAtNzAsOCArNzAsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBJbmNsdWRlSW1h
Z2VUeXBlcyA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgc3RhdGljIFN0cmluZyBwbGF0Zm9ybVBh
c3RlYm9hcmRUeXBlRm9yU2FmZVR5cGVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJpbmcm
IGRvbVR5cGUsIEluY2x1ZGVJbWFnZVR5cGVzID0gSW5jbHVkZUltYWdlVHlwZXM6Ok5vKTsKIAot
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKTsK
LSAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JUeXBlKGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0
VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0UGF0aG5hbWVzRm9yVHlw
ZShWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
KSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc3RyaW5nRm9yVHlwZShjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8
U3RyaW5nPiBhbGxTdHJpbmdzRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKSBj
b25zdDsKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d3JpdGUoY29uc3QgUGFzdGVib2FyZEltYWdlJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3
cml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRVUkwmKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCBSZWZQdHI8U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyKHNpemVfdCBpbmRleCwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQg
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5k
ZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyByZWFkU3RyaW5nKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIHJlYWRVUkwoc2l6ZV90IGlu
ZGV4LCBTdHJpbmcmIHRpdGxlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQgY291bnQo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9y
bVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1Q
YXN0ZWJvYXJkSU9TLm1tCmluZGV4IDE2N2NlZjAyZDc4ZDc5NGRlYWE4ZTVkZGFmNGRkNjZjM2Qy
Y2NhNDUuLjlkYjBhYjM0YjI2MThhMDQwMmIwZDI0M2RjODcwN2EzNjc4MjNkZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5t
bQpAQCAtNzQsMTIgKzc0LDEyIEBAIFBsYXRmb3JtUGFzdGVib2FyZDo6UGxhdGZvcm1QYXN0ZWJv
YXJkKGNvbnN0IFN0cmluZyYpCiB9CiAjZW5kaWYKIAotdm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6
OmdldFR5cGVzKFZlY3RvcjxTdHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJk
OjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgdHlwZXMgPSBt
YWtlVmVjdG9yPFN0cmluZz4oW21fcGFzdGVib2FyZCBwYXN0ZWJvYXJkVHlwZXNdKTsKIH0KIAot
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJGb3JUeXBlKGNv
bnN0IFN0cmluZyYgdHlwZSkKK1JlZlB0cjxTaGFyZWRCdWZmZXI+IFBsYXRmb3JtUGFzdGVib2Fy
ZDo6YnVmZmVyRm9yVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAgaWYgKE5T
RGF0YSAqZGF0YSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZvclBhc3RlYm9hcmRUeXBlOnR5cGVdKQog
ICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSk7CkBAIC03NDYsMTIgKzc0
NiwxNiBAQCBWZWN0b3I8U3RyaW5nPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFN0cmluZ3NGb3JU
eXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKICAgICByZXR1cm4gc3RyaW5nczsKIH0KIAot
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRl
eCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIGlmICgoTlNJbnRlZ2VyKWluZGV4
IDwgMCB8fCAoTlNJbnRlZ2VyKWluZGV4ID49IFttX3Bhc3RlYm9hcmQgbnVtYmVyT2ZJdGVtc10p
CisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJuIGJ1ZmZlckZvclR5cGUodHlwZSk7CisK
KyAgICBOU0ludGVnZXIgaW50ZWdlckluZGV4ID0gKmluZGV4OworICAgIGlmIChpbnRlZ2VySW5k
ZXggPCAwIHx8IGludGVnZXJJbmRleCA+PSBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0ID0gW05T
SW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW5kZXhdOworICAgIE5TSW5kZXhTZXQgKmluZGV4
U2V0ID0gW05TSW5kZXhTZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW50ZWdlckluZGV4XTsKIAogICAg
IFJldGFpblB0cjxOU0FycmF5PiBwYXN0ZWJvYXJkSXRlbSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZv
clBhc3RlYm9hcmRUeXBlOnR5cGUgaW5JdGVtU2V0OmluZGV4U2V0XTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1BsYXRmb3JtUGFzdGVib2FyZExpYldQRS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGli
V1BFLmNwcAppbmRleCAzNDExMDhjMWY4MDQ2MmQzMzY4NTc5MjhmZGFjY2NkZDE2M2ZmMzY1Li45
M2RiNTdmZDc1YjhmY2FjMWE3NDVmNjIyOTRlMjdjOTdlMDQwYWIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGliV1BFLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGxhdGZvcm1QYXN0ZWJvYXJkTGli
V1BFLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6cGVyZm9y
bUFzRGF0YU93bmVyKERhdGFPd25lclR5cGUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBhYwogICAgIGFj
dGlvbnMoKTsKIH0KIAotdm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmdldFR5cGVzKFZlY3RvcjxT
dHJpbmc+JiB0eXBlcykKK3ZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8
U3RyaW5nPiYgdHlwZXMpIGNvbnN0CiB7CiAgICAgc3RydWN0IHdwZV9wYXN0ZWJvYXJkX3N0cmlu
Z192ZWN0b3IgcGFzdGVib2FyZFR5cGVzID0geyBudWxscHRyLCAwIH07CiAgICAgd3BlX3Bhc3Rl
Ym9hcmRfZ2V0X3R5cGVzKG1fcGFzdGVib2FyZCwgJnBhc3RlYm9hcmRUeXBlcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5tbQpp
bmRleCBkOWI3ZDI0ODAzOGMyZGI4YWFiMDkyY2I5MWZmYTU2ZjJjYjRjZTczLi5hN2ZlNzI1NTQz
NzY2NWU4YjhhMGM3NDUzZDMwNDc0OWQ0NTYyZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTYzLDEyICs2Mywx
MiBAQCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OlBsYXRmb3JtUGFzdGVib2FyZChjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQogICAgIEFTU0VSVChwYXN0ZWJvYXJkTmFtZSk7CiB9CiAKLXZvaWQg
UGxhdGZvcm1QYXN0ZWJvYXJkOjpnZXRUeXBlcyhWZWN0b3I8U3RyaW5nPiYgdHlwZXMpCit2b2lk
IFBsYXRmb3JtUGFzdGVib2FyZDo6Z2V0VHlwZXMoVmVjdG9yPFN0cmluZz4mIHR5cGVzKSBjb25z
dAogewogICAgIHR5cGVzID0gbWFrZVZlY3RvcjxTdHJpbmc+KFttX3Bhc3RlYm9hcmQgdHlwZXNd
KTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpidWZmZXJG
b3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpCitSZWZQdHI8U2hhcmVkQnVmZmVy
PiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmJ1ZmZlckZvclR5cGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSkgY29uc3QKIHsKICAgICBOU0RhdGEgKmRhdGEgPSBbbV9wYXN0ZWJvYXJkIGRhdGFG
b3JUeXBlOnBhc3RlYm9hcmRUeXBlXTsKICAgICBpZiAoIWRhdGEpCkBAIC00NDYsOSArNDQ2LDEy
IEBAIHN0YXRpYyBTdHJpbmcgd2ViU2FmZU1JTUVUeXBlRm9yTW9kZXJuUGFzdGVib2FyZFR5cGUo
TlNQYXN0ZWJvYXJkVHlwZSBwbGF0Zm9ybVR5CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVfdCBpbmRl
eCwgY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUGxhdGZv
cm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29u
c3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIE5TUGFzdGVib2FyZEl0ZW0gKml0ZW0gPSBp
dGVtQXRJbmRleChpbmRleCk7CisgICAgaWYgKCFpbmRleCkKKyAgICAgICAgcmV0dXJuIGJ1ZmZl
ckZvclR5cGUodHlwZSk7CisKKyAgICBOU1Bhc3RlYm9hcmRJdGVtICppdGVtID0gaXRlbUF0SW5k
ZXgoKmluZGV4KTsKICAgICBpZiAoIWl0ZW0pCiAgICAgICAgIHJldHVybiB7IH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KaW5kZXggYmJlZjY2NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEzMThlYWY0Yi4u
OGUzN2RhNTFmYWE1NGYxOGU2YmMyNTFkNjFjNjRkMmEzMjdlMTk2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2Eu
bW0KQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZy
b21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZQogICAgIH0pOwog
fQogCi12b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFs
PFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpJUENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFBhZ2VJ
ZGVudGlmaWVyPiBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgTUVTU0FHRV9DSEVDS19D
T01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNw
cAppbmRleCAxNjg2MTc0ZGMwODM4ODBlMGI2NTU5NjI2NDY2YWEyNTMyOGE1ZTUzLi5jY2I0ODI1
ZTQ5MmIxYzY2YWFiZmY3MjUwYjAzZjJkMjc5MGMyNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lk
IFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYsIHNpemVfdCwgY29uc3QgUwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9KTsKIH0K
IAotdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6
OkNvbm5lY3Rpb24mLCBzaXplX3QsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rp
b24mLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4sIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCmluZGV4IDk0YjVhZjQwODUzZDgyMmZjNDkxZTFiZTc1
M2UxNGU0ZWZiZjA5ZWUuLjc1MmVjODNmMDhjZWYwMTAzZmU4YTZmZGI5NjY3YTE2MThhZTJkMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCkBAIC0x
MDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVhZFN0cmluZ0Zyb21QYXN0ZWJv
YXJkKElQQzo6Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpQYWdlSWRlbnRpZmllcj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYm
KTsKICAgICB2b2lkIHJlYWRVUkxGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mLCBzaXpl
X3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmIHVy
bCwgU3RyaW5nJiYgdGl0bGUpPiYmKTsKLSAgICB2b2lkIHJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJlZE1lbW9yeTo6
SVBDSGFuZGxlJiYpPiYmKTsKKyAgICB2b2lkIHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6
OkNvbm5lY3Rpb24mLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJl
ZE1lbW9yeTo6SVBDSGFuZGxlJiYpPiYmKTsKICAgICB2b2lkIGdldFBhc3RlYm9hcmRJdGVtc0Nv
dW50KElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHVpbnQ2NF90KT4mJik7CiAgICAgdm9pZCBpbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KElQQzo6
Q29ubmVjdGlvbiYsIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
aW50NjRfdCBjaGFuZ2VDb3VudCwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmll
cj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXN0ZWJv
YXJkSXRlbUluZm8+JiYpPiYmKTsKICAgICB2b2lkIGFsbFBhc3RlYm9hcmRJdGVtSW5mbyhJUEM6
OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5n
ZUNvdW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpQYXN0ZWJvYXJkSXRl
bUluZm8+PiYmKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjg5ZTdhNzA2ZmRmYzA2M2YwYjBhNGQ4
ZmI3MWUzYjFiYWYxN2Y0Yi4uNzY4ODE1ZWY0MmJiMTQ4ZDM3NzZiMzgyNWFjMWZlNWE1MmYyM2Mx
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMzYsNyArMzYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYXN0ZWJv
YXJkUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgR2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoU3Ry
aW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
PiBwYWdlSUQpIC0+ICh1aW50NjRfdCBpdGVtc0NvdW50KSBTeW5jaHJvbm91cyBXYW50c0Nvbm5l
Y3Rpb24KICAgICBSZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5kZXgsIFN0cmlu
ZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChTdHJpbmcgc3RyaW5nKSBTeW5jaHJv
bm91cyBXYW50c0Nvbm5lY3Rpb24KICAgICBSZWFkVVJMRnJvbVBhc3RlYm9hcmQodWludDY0X3Qg
aW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdl
SWRlbnRpZmllcj4gcGFnZUlEKSAtPiAoU3RyaW5nIHVybCwgU3RyaW5nIHRpdGxlKSBTeW5jaHJv
bm91cyBXYW50c0Nvbm5lY3Rpb24KLSAgICBSZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQodWludDY0
X3QgaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIC0+IChXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGhhbmRsZSkgU3luY2hyb25vdXMgV2FudHNDb25uZWN0
aW9uCisgICAgUmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+
IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSAtPiAoV2ViS2l0OjpT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBoYW5kbGUpIFN5bmNocm9ub3VzIFdhbnRzQ29ubmVjdGlv
bgogICAgIENvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoU3RyaW5nIHR5cGUs
IFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRp
Zmllcj4gcGFnZUlEKSAtPiAoYm9vbCByZXN1bHQpIFN5bmNocm9ub3VzIFdhbnRzQ29ubmVjdGlv
bgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
CmluZGV4IGY0MWE3MGVmNWJiNmMwZWNlOGJkODYyNzQxMTYwMWNmNzMwZTYyYTEuLjYwYzIwN2Vk
MGVlYTgzNmI0ODcwZGRhN2M2YmIzMGExNDU0Y2E0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwCkBAIC00MDYsNyArNDA2LDcgQEAgc3RkOjpvcHRpb25hbDxQYXN0ZWJvYXJk
SXRlbUluZm8+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmQK
ICAgICByZXR1cm4gaW5mbzsKIH0KIAotUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCogY29udGV4dCkKK1JlZlB0cjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
VHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRl
eHQqIGNvbnRleHQpCiB7CiAgICAgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlOwog
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNl
bmRTeW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFzdGVi
b2FyZChpbmRleCwgcGFzdGVib2FyZFR5cGUsIHBhc3RlYm9hcmROYW1lLCBwYWdlSWRlbnRpZmll
cihjb250ZXh0KSksIE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9t
UGFzdGVib2FyZDo6UmVwbHkoaXBjSGFuZGxlKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgKaW5kZXggZTI4MDk5NjNmNGY1MDY4MWI3ZDAxZjQxYTY4NTMxYWI3MzIxNGZiMC4uMjAw
YjZjMDE1OWI2ODhjNzJhM2ZhZGZiYWUwYTY5NDgzMWI5MzZlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaApAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBT
dHJpbmcgcmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2Vi
Q29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKLSAgICBSZWZQdHI8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiByZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOworICAgIFJlZlB0cjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChzdGQ6Om9wdGlv
bmFsPHNpemVfdD4gaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikg
b3ZlcnJpZGU7CiAgICAgVVJMIHJlYWRVUkxGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFN0cmluZyYgdGl0bGUsIGNvbnN0IFdlYkNvcmU6
OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgaW50IGdldFBhc3RlYm9hcmRJdGVt
c0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3Rl
Ym9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXN0
ZWJvYXJkSXRlbUluZm8+IGluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4LCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBjb25zdCBX
ZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAppbmRleCAyNGI2OTk3MDZkZjBkNmI3MTkyYWE1MjAyZGU2MWQ4YjFlNTczMmY5Li4x
ZDgxZmZhMTlkOTdmMDRlYzdjYzU3NWIzZWNlNWU4ODgxNDQwYjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRl
U3VwcG9ydGVkVHlwZUlkZW50aWZpZXJzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVudGlmaWVy
cywgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2Fy
ZENvbnRleHQqKSBvdmVycmlkZTsKICNlbmRpZgogICAgIFN0cmluZyByZWFkU3RyaW5nRnJvbVBh
c3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4
dCopIG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHJlYWRCdWZm
ZXJGcm9tUGFzdGVib2FyZChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5
cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9h
cmRDb250ZXh0Kikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4g
cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
Y29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICBVUkwgcmVh
ZFVSTEZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSwgU3RyaW5nJiB0aXRsZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBv
dmVycmlkZTsKICAgICBpbnQgZ2V0UGFzdGVib2FyZEl0ZW1zQ291bnQoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlk
ZTsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4gaW5mb3Jt
YXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250
ZXh0Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KaW5kZXggZmMwNzc2
ZTYyZDY2YmU5YWM5M2Q0ODdkZGZkMzAwYTZkNDA3YzU1My4uMTg4ZWM1MDA0NTA3N2Q3OGIwMTIw
YTZkYWZiYjA0ZmI3OTI3NjQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpAQCAt
MjA5LDcgKzIwOSw3IEBAIGludCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBhc3RlYm9hcmRJ
dGVtc0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsCiAgICAgcmV0dXJuIFBsYXRm
b3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY291bnQoKTsKIH0KIAotUmVmUHRyPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZWFkQnVmZmVyRnJvbVBh
c3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikKK1JlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21QYXN0
ZWJvYXJkKHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiB0eXBlLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4dCopCiB7
CiAgICAgcmV0dXJuIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkucmVhZEJ1ZmZl
cihpbmRleCwgdHlwZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>