<?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>236406</bug_id>
          
          <creation_ts>2022-02-09 14:01:27 -0800</creation_ts>
          <short_desc>Support `WebPageProxy::replaceSelectionWithPasteboardData()` on iOS</short_desc>
          <delta_ts>2022-02-10 10:34:29 -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>HTML Editing</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>236415</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</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>1839400</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-09 14:01:27 -0800</bug_when>
    <thetext>This codepath is currently macOS-specific; we&apos;ll need it to be functional on iOS as well, in support of a feature that I&apos;ll be introducing in a subsequent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839407</commentid>
    <comment_count>1</comment_count>
      <attachid>451443</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-09 14:25:17 -0800</bug_when>
    <thetext>Created attachment 451443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839461</commentid>
    <comment_count>2</comment_count>
      <attachid>451464</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-09 16:52:53 -0800</bug_when>
    <thetext>Created attachment 451464
Fix non-Cocoa builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839765</commentid>
    <comment_count>3</comment_count>
      <attachid>451464</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-10 10:16:05 -0800</bug_when>
    <thetext>Comment on attachment 451464
Fix non-Cocoa builds

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839786</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-10 10:33:48 -0800</bug_when>
    <thetext>Committed r289552 (247082@main): &lt;https://commits.webkit.org/247082@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451464.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839788</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-10 10:34:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/88764311&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451443</attachid>
            <date>2022-02-09 14:25:17 -0800</date>
            <delta_ts>2022-02-09 17:18:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236406-20220209142516.patch</filename>
            <type>text/plain</type>
            <size>21495</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU5Yzc2OTI4NmZlY2I3
ZWM5MmVhYThhMjg4NDhkYzZhN2I5MWE4Ny4uNDBjNjNhMjEyNzBiZmJiMDg3MDQ4MmM2MGQ2ODM3
ZmI4MDMwODI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgYFdl
YlBhZ2VQcm94eTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQwNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhl
IGRlZmluaXRpb24gb2YgYHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZGAgZnJvbSBFZGl0b3JN
YWMubW0gdG8gRWRpdG9yQ29jb2EubW0uCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciAo
eWV0KS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVhZFNlbGVj
dGlvbkZyb21QYXN0ZWJvYXJkKToKKyAgICAgICAgKiBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZCk6
IERlbGV0ZWQuCisKIDIwMjItMDItMDcgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgaG92ZXIgc3RhdGUgYmFzZWQgb24gcG9pbnRlciB0
eXBlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAwNmYwZDAxYWY2MDM1YzAyOWY3NjkxMjM0ZGYzYjIxMGUxOGY1YmQ0
Li4zZmMzYjU2MDM0YjI3M2MyZTE3NDRjMmY0NTNkNWI5NzJhMGY4NDUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ0IEBACisyMDIyLTAyLTA5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgYFdlYlBhZ2VQcm94eTo6cmVwbGFjZVNlbGVjdGlv
bldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIGZvciBhbiB1cGNvbWluZyBwYXRj
aCwgbWFrZSBgV2ViUGFnZVByb3h5OjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRh
KClgIChhcyB3ZWxsIGFzIGFsbAorICAgICAgICBkb3duc3RyZWFtIGNvZGVwYXRocykgYXZhaWxh
YmxlIG9uIGFsbCBDb2NvYSBwbGF0Zm9ybXMuIFRoaXMgaXMgY3VycmVudGx5IG1hY09TLXNwZWNp
ZmljLCBhbmQgb25seSB1c2VkIGZvcgorICAgICAgICBzZXJ2aWNlIGNvbnRyb2xzIChpLmUuIGlu
c2VydGluZyBjb250ZW50IHZpYSBzaGFyaW5nIHBpY2tlciBBUEkpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBh
Z2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXBsYWNlU2Vs
ZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBhc3RlYm9hcmRPdmVycmlkZXMuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpvdmVycmlkZGVuSW5mbyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBhc3RlYm9hcmRJ
dGVtc0NvdW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphbGxQ
YXN0ZWJvYXJkSXRlbUluZm8pOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCk6CisKKyAgICAgICAgQWRk
IGFkZGl0aW9uYWwgc3VwcG9ydCBmb3IgcmV0dXJuaW5nIGNhbm5lZCBkYXRhIGZyb20gYFdlYlBh
c3RlYm9hcmRPdmVycmlkZXM6OnNoYXJlZFBhc3RlYm9hcmRPdmVycmlkZXMoKWAgaW4KKyAgICAg
ICAgcGFzdGVib2FyZCByZWFkaW5nIGNvZGVwYXRocyB0aGF0IGFyZSBleGVyY2lzZWQgYnkgYFdl
YkNvcmU6OlBhc3RlYm9hcmRgIG9uIGlPUy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJlcGxhY2VTZWxlY3Rp
b25QYXN0ZWJvYXJkTmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcGxhY2VTZWxl
Y3Rpb25XaXRoUGFzdGVib2FyZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWFk
U2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQpOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6cmVwbGFjZVNlbGVjdGlvblBhc3RlYm9hcmROYW1lKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJk
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlYWRTZWxlY3Rpb25G
cm9tUGFzdGVib2FyZCk6IERlbGV0ZWQuCisKIDIwMjItMDItMDkgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgV2ViS2l0QWRkaXRpb25z
IGV4dGVuc2lvbiBwb2ludHMgaW4gVmlzaW9uS2l0Q29yZSBTUEkgYW5kIHNvZnRsaW5raW5nIGhl
YWRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGMzYTM0ZjVmZjQyN2NkZGFkZWJjOTQz
MzBkN2I5NTYwNzUxYTM2NGIuLmM0YjQ2NjlkY2VmOTA3MmQ0ZWU5YmZiMDJlNDYxYTUxOTA3OGZm
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNTM0LDEwICs1MzQsMTAgQEAgcHVibGlj
OgogICAgIFN0cmluZyBzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkV2l0aEltYWdlQWx0VGV4
dCgpOwogICAgIHZvaWQgdGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZXBsYWNlU2VsZWN0aW9uV2l0aEF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRy
aWJ1dGVkU3RyaW5nICosIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcgPSBNYWlsQmxvY2txdW90ZUhh
bmRsaW5nOjpSZXNwZWN0QmxvY2txdW90ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWFk
U2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlYWRT
ZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQoTm9kZSosIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpOwogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxT
aGFyZWRCdWZmZXI+IGRhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0VkaXRvckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0
b3JDb2NvYS5tbQppbmRleCA5NmNlYmY5MTViOTNhZjkxMzJhYTc3ZDAyMWMxNmQ5OGQwZDU5YzJm
Li4yNDg3YmU2MDQ1ZTc1YzIzZjVkNjQ5MWIzZmEwNDFkOTFlOTNlMDNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KQEAgLTI2Myw0ICsyNjMsMTMgQEAg
U3RyaW5nIEVkaXRvcjo6cGxhdGZvcm1Db250ZW50VHlwZUZvckJsb2JUeXBlKGNvbnN0IFN0cmlu
ZyYgdHlwZSkgY29uc3QKICAgICByZXR1cm4gdHlwZTsKIH0KIAordm9pZCBFZGl0b3I6OnJlYWRT
ZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQorewor
ICAgIFBhc3RlYm9hcmQgcGFzdGVib2FyZChQYWdlUGFzdGVib2FyZENvbnRleHQ6OmNyZWF0ZSht
X2RvY3VtZW50LnBhZ2VJRCgpKSwgcGFzdGVib2FyZE5hbWUpOworICAgIGlmIChtX2RvY3VtZW50
LnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkpCisgICAg
ICAgIHBhc3RlV2l0aFBhc3RlYm9hcmQoJnBhc3RlYm9hcmQsIHsgUGFzdGVPcHRpb246OkFsbG93
UGxhaW5UZXh0IH0pOworICAgIGVsc2UKKyAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0
ZWJvYXJkKHBhc3RlYm9hcmQpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL21hYy9FZGl0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0
b3JNYWMubW0KaW5kZXggY2FiNTJkYTZjYjNkMmZkNjM0YjQwYzM4OGIzYTZhYzNiYTA4MzYwNi4u
Nzg2MDkxODdmNzVkMDc2ZWI5ZDc4MTczYjUwZTRiYzY0MGRkNTI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQpAQCAtMTg0LDE1ICsxODQsNiBAQCB2b2lkIEVkaXRv
cjo6cGxhdGZvcm1QYXN0ZUZvbnQoKQogICAgIGNsaWVudCgpLT5zZXRJbnNlcnRpb25QYXN0ZWJv
YXJkKFN0cmluZygpKTsKIH0KIAotdm9pZCBFZGl0b3I6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVi
b2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQotewotICAgIFBhc3RlYm9hcmQgcGFz
dGVib2FyZChQYWdlUGFzdGVib2FyZENvbnRleHQ6OmNyZWF0ZShtX2RvY3VtZW50LnBhZ2VJRCgp
KSwgcGFzdGVib2FyZE5hbWUpOwotICAgIGlmIChtX2RvY3VtZW50LnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpLmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkpCi0gICAgICAgIHBhc3RlV2l0aFBhc3Rl
Ym9hcmQoJnBhc3RlYm9hcmQsIHsgUGFzdGVPcHRpb246OkFsbG93UGxhaW5UZXh0IH0pOwotICAg
IGVsc2UKLSAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKHBhc3RlYm9hcmQp
OwotfQotCiBzdGF0aWMgdm9pZCBtYXliZUNvcHlOb2RlQXR0cmlidXRlc1RvRnJhZ21lbnQoY29u
c3QgTm9kZSYgbm9kZSwgRG9jdW1lbnRGcmFnbWVudCYgZnJhZ21lbnQpCiB7CiAgICAgLy8gVGhp
cyBpcyBvbmx5IHN1cHBvcnRlZCBmb3Igc2luZ2xlLU5vZGUgZnJhZ21lbnRzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCAz
M2E2NmZkYTZmZmJhNWQ2MjYxNmQzOGJiMWYxNmMzYzY4OTAxNzk0Li4wMjYzNmI1MTg4ZTNhYzYy
ZmQ1YzI2ZTMxYjM2NWJhNzJjMjAzYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtODYxLDYgKzg2MSwxMSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y2xhc3NpZnlNb2RhbENvbnRhaW5lckNvbnRyb2xzKFZlY3RvcjxTdHJp
bmc+JiYgdGV4dHMsIENvbXBsZQogICAgIE1vZGFsQ29udGFpbmVyQ29udHJvbENsYXNzaWZpZXI6
OnNoYXJlZENsYXNzaWZpZXIoKS5jbGFzc2lmeShXVEZNb3ZlKHRleHRzKSwgV1RGTW92ZShjb21w
bGV0aW9uKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBh
c3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiBkYXRhKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcGxhY2VT
ZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEodHlwZXMsIGRhdGEpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTQ0N2M3MGMwODQwNjE0OTBjMWI0OTVl
ZmIxODdmMTY1YTFlY2NiMi4uNmIzZjIxMTkxZDc0NDY4Mzg4OGI4MjRmYTY5ODY3YTU2OWM4OWQ1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTExNzgsNiArMTE3
OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlU
b2tlbihjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICAvLyBDYWxsZWQgYnkgdGhlIFVJ
IHByb2Nlc3Mgd2hlbiBpdCBpcyByZWFkeSB0byBzZW5kIGl0cyB0b2tlbnMgdG8gdGhlIHdlYiBw
cm9jZXNzLgogICAgIHZvaWQgcmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZWxlbWVuVG9rZW4sIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgd2luZG93VG9rZW4pOworICAgIHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJv
YXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYpOwogICAgIGJvb2wgcmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUpOwogICAgIFN0cmluZyBzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJv
YXJkKCk7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gZGF0YVNlbGVjdGlvbkZv
clBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSk7CkBAIC0xMTg3LDEwICsx
MTg4LDYgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSBjb2xv
clNwYWNlKCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIHZv
aWQgcmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5n
PiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwotI2VuZGlmCi0KICAgICB2b2lk
IHBhZ2VTY2FsZUZhY3RvckRpZENoYW5nZShkb3VibGUpOwogICAgIHZvaWQgcGx1Z2luU2NhbGVG
YWN0b3JEaWRDaGFuZ2UoZG91YmxlKTsKICAgICB2b2lkIHBsdWdpblpvb21GYWN0b3JEaWRDaGFu
Z2UoZG91YmxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQ
YWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5
TWFjLm1tCmluZGV4IDlmOWU1MTRhODMwNmM0YmZiZGM4ZTRjOGJhNTYyZGQyNzYwZTA1OTYuLjA4
OTI4MmI2OWFlNjc3ZTkzZDdmNzQwNjUyMDBlMGYyM2Q3NDZlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtMjQ2LDEzICsyNDYsNiBA
QCBib29sIFdlYlBhZ2VQcm94eTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQotdm9pZCBXZWJQYWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25X
aXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIGRhdGEpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSh0eXBlcywgZGF0YSkpOwotfQotI2VuZGlm
Ci0KICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJv
bWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmIGltYWdlSGFuZGxlLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1l
LCBjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVz
LmNwcAppbmRleCA0NjY5MzllZjE4N2I0YTUwZjczMjBlZGYyYzYxNmMyY2RjZmY1NDkzLi5kZmRk
YTE3Njk5MzYwMDQ0N2EwYzkzY2M4NDYwZjVlNjhiMmMyNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3Rl
Ym9hcmRPdmVycmlkZXMuY3BwCkBAIC0yNiw5ICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIldlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCIKIAorI2luY2x1ZGUgPFdlYkNv
cmUvUGFzdGVib2FyZEl0ZW1JbmZvLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFdlYlBh
c3RlYm9hcmRPdmVycmlkZXMmIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNoYXJlZFBhc3RlYm9h
cmRPdmVycmlkZXMoKQogewpAQCAtODMsNiArODUsMjAgQEAgVmVjdG9yPFN0cmluZz4gV2ViUGFz
dGVib2FyZE92ZXJyaWRlczo6b3ZlcnJpZGRlblR5cGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3Rl
Ym9hcmRJdGVtSW5mbz4gV2ViUGFzdGVib2FyZE92ZXJyaWRlczo6b3ZlcnJpZGRlbkluZm8oY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICBhdXRvIHR5cGVzID0gdGhpcy0+b3Zl
cnJpZGRlblR5cGVzKHBhc3RlYm9hcmROYW1lKTsKKyAgICBpZiAodHlwZXMuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgUGFzdGVib2FyZEl0ZW1JbmZvIGl0
ZW07CisgICAgaXRlbS5wbGF0Zm9ybVR5cGVzQnlGaWRlbGl0eSA9IHR5cGVzOworICAgIC8vIEZJ
WE1FOiBUaGlzIGlzIGN1cnJlbnRseSBhcHByb3ByaWF0ZSBmb3IgYWxsIGNsaWVudHMgdGhhdCBy
ZWx5IG9uIFBhc3RlYm9hcmRJdGVtSW5mbywgYnV0IHdlIG1heSBuZWVkIHRvIGFkanVzdAorICAg
IC8vIHRoaXMgaW4gdGhlIGZ1dHVyZSBzbyB0aGF0IHdlIGRvbid0IHRyZWF0ICdpbmxpbmUnIHR5
cGVzIHN1Y2ggYXMgcGxhaW4gdGV4dCBhcyB1cGxvYWRlZCBmaWxlcy4KKyAgICBpdGVtLnBsYXRm
b3JtVHlwZXNGb3JGaWxlVXBsb2FkID0gdHlwZXM7CisgICAgcmV0dXJuIHsgV1RGTW92ZShpdGVt
KSB9OworfQorCiBib29sIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OmdldERhdGFGb3JPdmVycmlk
ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIFZlY3Rv
cjx1aW50OF90PiYgZGF0YSkgY29uc3QKIHsKICAgICBhdXRvIHBhc3RlYm9hcmRJdGVyYXRvciA9
IG1fb3ZlcnJpZGVzTWFwLmZpbmQocGFzdGVib2FyZE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3RlYm9hcmRPdmVycmlkZXMu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJk
T3ZlcnJpZGVzLmgKaW5kZXggYTg2NzdmZTU2ZmQ5YWMxMWMyNDljYWE4ZGZmODgwNTMwYjAzYWU3
OC4uMmVlM2NmMzhiOTYwODlhNjdkODMxNzBkYmE5ODc4MWNmZjA4NTA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3RlYm9hcmRPdmVy
cmlkZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGFzdGVib2FyZE92ZXJyaWRlcy5oCkBAIC0zMCw2ICszMCwxMCBAQAogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbzsKK30KKwogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMgewpAQCAtNDAsNiAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRPdmVycmlkZShjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpOwog
ICAgIHZvaWQgcmVtb3ZlT3ZlcnJpZGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgU3RyaW5nJiB0eXBlKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFzdGVib2Fy
ZEl0ZW1JbmZvPiBvdmVycmlkZGVuSW5mbyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsK
ICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZGVuVHlwZXMoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSk7CiAKICAgICBib29sIGdldERhdGFGb3JPdmVycmlkZShjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIFZlY3Rvcjx1aW50OF90PiYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCA2MGMyMDdlZDBlZWE4MzZi
NDg3MGRkYTdjNmJiMzBhMTQ1NGNhNDk3Li5mODNmYjNlMGNmZTU3NTQ2YzA3ODc4YmM1ZDQ2MmNi
MWU2OTFjODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzg3LDYg
KzM4NywxMSBAQCBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGFpbnNTdHJpbmdTYWZl
Rm9yRE9NVG9SZWFkRm9yVHlwZShjb25zdCBTdHJpbmcmCiAKIGludCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KQogeworICAgIGlmICghV2ViUGFz
dGVib2FyZE92ZXJyaWRlczo6c2hhcmVkUGFzdGVib2FyZE92ZXJyaWRlcygpLm92ZXJyaWRkZW5U
eXBlcyhwYXN0ZWJvYXJkTmFtZSkuaXNFbXB0eSgpKSB7CisgICAgICAgIC8vIE92ZXJyaWRlIHBh
c3RlYm9hcmRzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgc2luZ2xlIHBhc3RlYm9hcmQgaXRlbXMu
CisgICAgICAgIHJldHVybiAxOworICAgIH0KKwogICAgIHVpbnQ2NF90IGl0ZW1zQ291bnQgeyAw
IH07CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZEl0
ZW1zQ291bnQocGFzdGVib2FyZE5hbWUsIHBhZ2VJZGVudGlmaWVyKGNvbnRleHQpKSwgTWVzc2Fn
ZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZEl0ZW1zQ291bnQ6OlJlcGx5KGl0
ZW1zQ291bnQpLCAwKTsKICAgICByZXR1cm4gaXRlbXNDb3VudDsKQEAgLTM5NCw2ICszOTksOSBA
QCBpbnQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLAogCiBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQYXN0ZWJv
YXJkSXRlbUluZm8+PiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFsbFBhc3RlYm9hcmRJdGVtSW5m
byhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBjb25z
dCBQYXN0ZWJvYXJkQ29udGV4dCogY29udGV4dCkKIHsKKyAgICBpZiAoYXV0byBpbmZvID0gV2Vi
UGFzdGVib2FyZE92ZXJyaWRlczo6c2hhcmVkUGFzdGVib2FyZE92ZXJyaWRlcygpLm92ZXJyaWRk
ZW5JbmZvKHBhc3RlYm9hcmROYW1lKSkKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppbmZv
KSB9IH07CisKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQYXN0ZWJvYXJkSXRlbUluZm8+PiBh
bGxJbmZvOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkFsbFBhc3RlYm9h
cmRJdGVtSW5mbyhwYXN0ZWJvYXJkTmFtZSwgY2hhbmdlQ291bnQsIHBhZ2VJZGVudGlmaWVyKGNv
bnRleHQpKSwgTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6QWxsUGFzdGVib2FyZEl0ZW1J
bmZvOjpSZXBseShhbGxJbmZvKSwgMCk7CiAgICAgcmV0dXJuIGFsbEluZm87CkBAIC00MDEsNiAr
NDA5LDkgQEAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPj4gV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjphbGxQYXN0ZWJvYXJkSXQKIAogc3RkOjpvcHRpb25hbDxQYXN0ZWJv
YXJkSXRlbUluZm8+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJ
bmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3Qg
Y2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KQogeworICAgIGlm
IChhdXRvIGluZm8gPSBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3Zl
cnJpZGVzKCkub3ZlcnJpZGRlbkluZm8ocGFzdGVib2FyZE5hbWUpKQorICAgICAgICByZXR1cm4g
aW5mbzsKKwogICAgIHN0ZDo6b3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBpbmZvOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkluZm9ybWF0aW9uRm9ySXRlbUF0SW5k
ZXgoaW5kZXgsIHBhc3RlYm9hcmROYW1lLCBjaGFuZ2VDb3VudCwgcGFnZUlkZW50aWZpZXIoY29u
dGV4dCkpLCBNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpJbmZvcm1hdGlvbkZvckl0ZW1B
dEluZGV4OjpSZXBseShpbmZvKSwgMCk7CiAgICAgcmV0dXJuIGluZm87CkBAIC00MDgsNiArNDE5
LDEwIEBAIHN0ZDo6b3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kCiAKIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRC
dWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0
ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqIGNv
bnRleHQpCiB7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG92ZXJyaWRlQnVmZmVyOworICAgIGlmIChX
ZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkuZ2V0RGF0
YUZvck92ZXJyaWRlKHBhc3RlYm9hcmROYW1lLCBwYXN0ZWJvYXJkVHlwZSwgb3ZlcnJpZGVCdWZm
ZXIpKQorICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92ZShvdmVycmlk
ZUJ1ZmZlcikpOworCiAgICAgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChpbmRleCwgcGFzdGVib2FyZFR5cGUsIHBhc3RlYm9hcmROYW1lLCBwYWdlSWRlbnRpZmllcihj
b250ZXh0KSksIE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFz
dGVib2FyZDo6UmVwbHkoaXBjSGFuZGxlKSwgMCk7CiAgICAgaWYgKGlwY0hhbmRsZS5oYW5kbGUu
aXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0KaW5kZXggMDRhYzMxYjdjYzUyYTBmN2JjZDJiNjNhNTE2N2E5
ZjAxMWUzYTFjZi4uNTkyMDM2NTkzNmYxMjA2N2Q5YjU2Y2U5M2JkYWVmZGFmYjU3MTg1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBh
Z2VDb2NvYS5tbQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCAiVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXIuaCIKICNpbXBvcnQgIldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgiCiAj
aW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCAiV2ViUGFzdGVib2FyZE92
ZXJyaWRlcy5oIgogI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW1wb3J0ICJX
ZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hT
ZXJ2aWNlc1NQSS5oPgpAQCAtNDUwLDYgKzQ1MSwzMiBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNs
aWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChjb25zdCBEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYg
aQogCiAjZW5kaWYKIAorc3RhdGljIFN0cmluZyYgcmVwbGFjZVNlbGVjdGlvblBhc3RlYm9hcmRO
YW1lKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzdHJpbmcoIlJlcGxh
Y2VTZWxlY3Rpb25QYXN0ZWJvYXJkIik7CisgICAgcmV0dXJuIHN0cmluZzsKK30KKwordm9pZCBX
ZWJQYWdlOjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiB0eXBlcywgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQoreworICAgIGZv
ciAoYXV0byYgdHlwZSA6IHR5cGVzKQorICAgICAgICBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpz
aGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkuYWRkT3ZlcnJpZGUocmVwbGFjZVNlbGVjdGlvblBh
c3RlYm9hcmROYW1lKCksIHR5cGUsIHsgZGF0YSB9KTsKKworICAgIHJlYWRTZWxlY3Rpb25Gcm9t
UGFzdGVib2FyZChyZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUoKSwgW10oYm9vbCkgeyB9
KTsKKworICAgIGZvciAoYXV0byYgdHlwZSA6IHR5cGVzKQorICAgICAgICBXZWJQYXN0ZWJvYXJk
T3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkucmVtb3ZlT3ZlcnJpZGUocmVw
bGFjZVNlbGVjdGlvblBhc3RlYm9hcmROYW1lKCksIHR5cGUpOworfQorCit2b2lkIFdlYlBhZ2U6
OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgYXV0byYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1h
aW5GcmFtZSgpOworICAgIGlmIChmcmFtZS5zZWxlY3Rpb24oKS5pc05vbmUoKSkKKyAgICAgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICBmcmFtZS5lZGl0b3IoKS5yZWFk
U2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpOworICAgIGNvbXBsZXRpb25I
YW5kbGVyKHRydWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBM
QVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IDdlYzZmNGFlMzYzZmJhODExMWFhM2Q1N2I4OTAzMTJmODdkYmFlOTEuLmU2ZmJiMGEy
NmVkZmRjNTc2MmEwNmNjOTMzMTZkY2I1NzIwNmU0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk2Miw3ICs5NjIsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXF1ZXN0QWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJL
aXQ6OldlYk1vdXNlRXZlbnQmKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgcmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlw
ZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDEx
OTE4MzdjMzUxZWEyNzk1ZGY5YjFhNWJmMmE0NjQzNjU4ZTBkNGUuLjdkNjZmYmFmY2E0Njk1MTk2
NzI1OGNkYWU2YzU2MWU0YmZkYmYzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDU0LDEwICs0NTQsNyBAQCBH
ZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRo
ZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIEdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9h
cmQoKSAtPiAoU3RyaW5nIHN0cmluZ1ZhbHVlKSBTeW5jaHJvbm91cwogICAgIEdldERhdGFTZWxl
Y3Rpb25Gb3JQYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdlYktpdDo6U2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlKSBTeW5jaHJvbm91cwogICAgIFJlYWRTZWxl
Y3Rpb25Gcm9tUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChib29sIHJlc3Vs
dCkgU3luY2hyb25vdXMKLQotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIFJlcGxh
Y2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoVmVjdG9yPFN0cmluZz4gdHlwZXMsIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhKQotI2VuZGlmCiAKICAgICBTaG91bGREZWxheVdpbmRvd09yZGVy
aW5nRXZlbnQoV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KSAtPiAoYm9vbCByZXN1bHQpIFN5
bmNocm9ub3VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KaW5kZXggZGRhMGYyMGExZjIyN2FjNTA3YzllODZkZGU3MmI2ZmU1Zjkz
MDA3Ny4uM2RkYzI2NzE3NDY5ZDZhZGJhMTI0MjExMzhhNjAxY2Y1YmMxYzdlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAg
LTU5NywxMiArNTk3LDYgQEAgdm9pZCBXZWJQYWdlOjpyZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2li
aWxpdHlUb2tlbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBlbGUKICAgICBbbV9tb2NrQWNj
ZXNzaWJpbGl0eUVsZW1lbnQgc2V0UmVtb3RlVG9rZW5EYXRhOmVsZW1lbnRUb2tlbkRhdGFdOwog
fQogCi12b2lkIFdlYlBhZ2U6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJp
bmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Ci17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
Ci19Ci0KIHZvaWQgV2ViUGFnZTo6Z2V0U3RyaW5nU2VsZWN0aW9uRm9yUGFzdGVib2FyZChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA3MzAwZjdjNjQ3ZGU0YjAxOTgzMGM5M2UyZTc2
MmYwNTc3ZTYyODFjLi42YzA5OTNjY2QzNmQwYTYzNmM2NDBiMmJiZmI3MDM0ZjhiZDNhM2E1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQpAQCAtNDU4LDI1ICs0NTgsNiBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5n
QmVoYXZpb3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBLZXlibwogICAgIHJl
dHVybiBkaWRQZXJmb3JtQWN0aW9uOwogfQogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
Ci1zdGF0aWMgU3RyaW5nJiByZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUoKQotewotICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHN0cmluZygiUmVwbGFjZVNlbGVjdGlvblBh
c3RlYm9hcmQiKTsKLSAgICByZXR1cm4gc3RyaW5nOwotfQotCi12b2lkIFdlYlBhZ2U6OnJlcGxh
Y2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVz
LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCi17Ci0gICAgZm9yIChhdXRvJiB0eXBl
IDogdHlwZXMpCi0gICAgICAgIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNoYXJlZFBhc3RlYm9h
cmRPdmVycmlkZXMoKS5hZGRPdmVycmlkZShyZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUo
KSwgdHlwZSwgeyBkYXRhIH0pOwotCi0gICAgcmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKHJl
cGxhY2VTZWxlY3Rpb25QYXN0ZWJvYXJkTmFtZSgpLCBbXShib29sKSB7IH0pOwotCi0gICAgZm9y
IChhdXRvJiB0eXBlIDogdHlwZXMpCi0gICAgICAgIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNo
YXJlZFBhc3RlYm9hcmRPdmVycmlkZXMoKS5yZW1vdmVPdmVycmlkZShyZXBsYWNlU2VsZWN0aW9u
UGFzdGVib2FyZE5hbWUoKSwgdHlwZSk7Ci19Ci0jZW5kaWYKLQogYm9vbCBXZWJQYWdlOjpwZXJm
b3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpCiB7
CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDk0LDE1ICs0NzUsNiBAQCB2b2lkIFdlYlBhZ2U6OnJl
Z2lzdGVyVUlQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2Vucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIGVsZQogICAgIFthY2Nlc3NpYmlsaXR5UmVtb3RlT2JqZWN0KCkgc2V0UmVtb3RlUGFyZW50
OnJlbW90ZUVsZW1lbnQuZ2V0KCldOwogfQogCi12b2lkIFdlYlBhZ2U6OnJlYWRTZWxlY3Rpb25G
cm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgYXV0byYgZnJh
bWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOwotICAg
IGlmIChmcmFtZS5zZWxlY3Rpb24oKS5pc05vbmUoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKGZhbHNlKTsKLSAgICBmcmFtZS5lZGl0b3IoKS5yZWFkU2VsZWN0aW9uRnJvbVBh
c3RlYm9hcmQocGFzdGVib2FyZE5hbWUpOwotICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwot
fQotCiB2b2lkIFdlYlBhZ2U6OmdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
RnJhbWUmIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJh
bWUoKTsK
</data>
<flag name="commit-queue"
          id="478202"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451464</attachid>
            <date>2022-02-09 16:52:53 -0800</date>
            <delta_ts>2022-02-10 10:33:50 -0800</delta_ts>
            <desc>Fix non-Cocoa builds</desc>
            <filename>bug-236406-20220209165253.patch</filename>
            <type>text/plain</type>
            <size>23205</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU5Yzc2OTI4NmZlY2I3
ZWM5MmVhYThhMjg4NDhkYzZhN2I5MWE4Ny4uMWIyYjA1YmFmODU3NTNjYjQxMDUzYjdhZmZjNWEy
ODhhZTY3NWI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAyLTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgYFdl
YlBhZ2VQcm94eTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSgpYCBvbiBpT1MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQwNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhl
IGRlZmluaXRpb24gb2YgYHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZGAgZnJvbSBFZGl0b3JN
YWMubW0gdG8gRWRpdG9yQ29jb2EubW0uCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciAo
eWV0KS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVhZFNlbGVj
dGlvbkZyb21QYXN0ZWJvYXJkKToKKyAgICAgICAgKiBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZCk6
IERlbGV0ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGludG8gRWRpdG9yQ29jb2EubW0uCisKIDIw
MjItMDItMDcgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGUgaG92ZXIgc3RhdGUgYmFzZWQgb24gcG9pbnRlciB0eXBlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAwNmYwZDAxYWY2MDM1YzAyOWY3NjkxMjM0ZGYzYjIxMGUxOGY1YmQ0Li4wMWExN2NiNzRjMGUx
ZmIxZDAyMmVmZTc5Y2EzMzc3Nzg0OTliNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisy
MDIyLTAyLTA5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIFN1cHBvcnQgYFdlYlBhZ2VQcm94eTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJk
RGF0YSgpYCBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjQwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIHByZXBhcmF0aW9uIGZvciBhbiB1cGNvbWluZyBwYXRjaCwgbWFrZSBgV2ViUGFn
ZVByb3h5OjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKClgIChhcyB3ZWxsIGFz
IGFsbAorICAgICAgICBkb3duc3RyZWFtIGNvZGVwYXRocykgYXZhaWxhYmxlIG9uIGFsbCBDb2Nv
YSBwbGF0Zm9ybXMuIFRoaXMgaXMgY3VycmVudGx5IG1hY09TLXNwZWNpZmljLCBhbmQgb25seSB1
c2VkIGZvcgorICAgICAgICBzZXJ2aWNlIGNvbnRyb2xzIChpLmUuIGluc2VydGluZyBjb250ZW50
IHZpYSBzaGFyaW5nIHBpY2tlciBBUEkpLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKworICAgICAgICBNb3ZlIFdlYlBhc3RlYm9hcmRPdmVy
cmlkZXMuY3BwIGZyb20gU291cmNlc0NvY29hIHRvIFNvdXJjZXMsIG5vdyB0aGF0IHRoZXJlIGFy
ZSBub24tQ29jb2Etc3BlY2lmaWMgY29kZXBhdGhzIGluCisgICAgICAgIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyB0aGF0IGV4ZXJjaXNlIHRoaXMgY2xhc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5
TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25X
aXRoUGFzdGVib2FyZERhdGEpOiBEZWxldGVkLgorCisgICAgICAgIE1vdmUgdGhpcyBpbnRvIFdl
YlBhZ2VQcm94eUNvY29hLm1tLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFzdGVi
b2FyZE92ZXJyaWRlczo6b3ZlcnJpZGRlbkluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWxsUGFzdGVib2FyZEl0ZW1J
bmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbmZvcm1hdGlv
bkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQpOgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFsIHN1
cHBvcnQgZm9yIHJldHVybmluZyBjYW5uZWQgZGF0YSBmcm9tIGBXZWJQYXN0ZWJvYXJkT3ZlcnJp
ZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKClgIGluCisgICAgICAgIHBhc3RlYm9hcmQg
cmVhZGluZyBjb2RlcGF0aHMgdGhhdCBhcmUgZXhlcmNpc2VkIGJ5IGBXZWJDb3JlOjpQYXN0ZWJv
YXJkYCBvbiBpT1MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5h
bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3Rl
Ym9hcmREYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVhZFNlbGVjdGlvbkZyb21Q
YXN0ZWJvYXJkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKTogRGVsZXRlZC4KKworICAgICAg
ICBEZWxldGUgdGhpcyB1bmltcGxlbWVudGVkIG1ldGhvZCBzdHViLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXBs
YWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUpOiBEZWxldGVkLgorCisgICAgICAgIE1vdmUgdGhp
cyBpbnRvIFdlYlBhZ2VDb2NvYS5tbS4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXBs
YWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKTogRGVsZXRlZC4KKwogMjAy
Mi0wMi0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgc29tZSBXZWJLaXRBZGRpdGlvbnMgZXh0ZW5zaW9uIHBvaW50cyBpbiBWaXNpb25LaXRD
b3JlIFNQSSBhbmQgc29mdGxpbmtpbmcgaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5k
ZXggYzNhMzRmNWZmNDI3Y2RkYWRlYmM5NDMzMGQ3Yjk1NjA3NTFhMzY0Yi4uYzRiNDY2OWRjZWY5
MDcyZDRlZTliZmIwMmU0NjFhNTE5MDc4ZmYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBA
IC01MzQsMTAgKzUzNCwxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHN0cmluZ1NlbGVjdGlvbkZv
clBhc3RlYm9hcmRXaXRoSW1hZ2VBbHRUZXh0KCk7CiAgICAgdm9pZCB0YWtlRmluZFN0cmluZ0Zy
b21TZWxlY3Rpb24oKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcGxhY2VTZWxlY3Rpb25X
aXRoQXR0cmlidXRlZFN0cmluZyhOU0F0dHJpYnV0ZWRTdHJpbmcgKiwgTWFpbEJsb2NrcXVvdGVI
YW5kbGluZyA9IE1haWxCbG9ja3F1b3RlSGFuZGxpbmc6OlJlc3BlY3RCbG9ja3F1b3RlKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVwbGFjZU5v
ZGVGcm9tUGFzdGVib2FyZChOb2RlKiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YVNlbGVjdGlvbkZvclBh
c3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCmluZGV4IDk2Y2ViZjkxNWI5M2Fm
OTEzMmFhNzdkMDIxYzE2ZDk4ZDBkNTljMmYuLjI0ODdiZTYwNDVlNzVjMjNmNWQ2NDkxYjNmYTA0
MWQ5MWU5M2UwM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRp
dG9yQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2Nv
YS5tbQpAQCAtMjYzLDQgKzI2MywxMyBAQCBTdHJpbmcgRWRpdG9yOjpwbGF0Zm9ybUNvbnRlbnRU
eXBlRm9yQmxvYlR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogICAgIHJldHVybiB0eXBl
OwogfQogCit2b2lkIEVkaXRvcjo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgUGFzdGVib2FyZCBwYXN0ZWJvYXJkKFBhZ2VQ
YXN0ZWJvYXJkQ29udGV4dDo6Y3JlYXRlKG1fZG9jdW1lbnQucGFnZUlEKCkpLCBwYXN0ZWJvYXJk
TmFtZSk7CisgICAgaWYgKG1fZG9jdW1lbnQuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250
ZW50UmljaGx5RWRpdGFibGUoKSkKKyAgICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZCgmcGFzdGVi
b2FyZCwgeyBQYXN0ZU9wdGlvbjo6QWxsb3dQbGFpblRleHQgfSk7CisgICAgZWxzZQorICAgICAg
ICBwYXN0ZUFzUGxhaW5UZXh0V2l0aFBhc3RlYm9hcmQocGFzdGVib2FyZCk7Cit9CisKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQppbmRleCBjYWI1MmRhNmNiM2QyZmQ2
MzRiNDBjMzg4YjNhNmFjM2JhMDgzNjA2Li43ODYwOTE4N2Y3NWQwNzZlYjlkNzgxNzNiNTBlNGJj
NjQwZGQ1Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCkBAIC0x
ODQsMTUgKzE4NCw2IEBAIHZvaWQgRWRpdG9yOjpwbGF0Zm9ybVBhc3RlRm9udCgpCiAgICAgY2xp
ZW50KCktPnNldEluc2VydGlvblBhc3RlYm9hcmQoU3RyaW5nKCkpOwogfQogCi12b2lkIEVkaXRv
cjo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUpCi17Ci0gICAgUGFzdGVib2FyZCBwYXN0ZWJvYXJkKFBhZ2VQYXN0ZWJvYXJkQ29udGV4dDo6
Y3JlYXRlKG1fZG9jdW1lbnQucGFnZUlEKCkpLCBwYXN0ZWJvYXJkTmFtZSk7Ci0gICAgaWYgKG1f
ZG9jdW1lbnQuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50UmljaGx5RWRpdGFibGUo
KSkKLSAgICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZCgmcGFzdGVib2FyZCwgeyBQYXN0ZU9wdGlv
bjo6QWxsb3dQbGFpblRleHQgfSk7Ci0gICAgZWxzZQotICAgICAgICBwYXN0ZUFzUGxhaW5UZXh0
V2l0aFBhc3RlYm9hcmQocGFzdGVib2FyZCk7Ci19Ci0KIHN0YXRpYyB2b2lkIG1heWJlQ29weU5v
ZGVBdHRyaWJ1dGVzVG9GcmFnbWVudChjb25zdCBOb2RlJiBub2RlLCBEb2N1bWVudEZyYWdtZW50
JiBmcmFnbWVudCkKIHsKICAgICAvLyBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBzaW5nbGUt
Tm9kZSBmcmFnbWVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA1N2VmM2IxNGVhZjJjMTA5MjA5OGVlOTQz
MmY1MDhjNjExZTU4ZTM1Li45ZjUwYzM1ZjQxZGYxNjZiZDVlOTg2OWVmYzUyN2ViMWU0MThjNzRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKQEAgLTgwOSw2ICs4MDksNyBAQCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJNZWRpYUtleVN5c3RlbUNsaWVudC5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGFzdGVib2FyZE92ZXJyaWRlcy5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVy
Zm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDNhNzI1OTZhNGQ3
YTVjYWI0NTY2Mjc3MTM2NTY0YmEwMTViMTk2Y2QuLjBlMmFhNTM1NDljNTRmODgyMDBkYzc2MDUy
OTEyYmVhZTViZjk0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTY3NCw3ICs2NzQsNiBA
QCBXZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpblBhc3N3b3JkRmllbGQubW0KIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0KIAogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDYXB0aW9uUHJlZmVyZW5jZXNEZWxlZ2F0ZS5jcHAKLVdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5jcHAKIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuY3BwCiAKIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCAz
M2E2NmZkYTZmZmJhNWQ2MjYxNmQzOGJiMWYxNmMzYzY4OTAxNzk0Li4wMjYzNmI1MTg4ZTNhYzYy
ZmQ1YzI2ZTMxYjM2NWJhNzJjMjAzYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtODYxLDYgKzg2MSwxMSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y2xhc3NpZnlNb2RhbENvbnRhaW5lckNvbnRyb2xzKFZlY3RvcjxTdHJp
bmc+JiYgdGV4dHMsIENvbXBsZQogICAgIE1vZGFsQ29udGFpbmVyQ29udHJvbENsYXNzaWZpZXI6
OnNoYXJlZENsYXNzaWZpZXIoKS5jbGFzc2lmeShXVEZNb3ZlKHRleHRzKSwgV1RGTW92ZShjb21w
bGV0aW9uKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBh
c3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiBkYXRhKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcGxhY2VT
ZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEodHlwZXMsIGRhdGEpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTQ0N2M3MGMwODQwNjE0OTBjMWI0OTVl
ZmIxODdmMTY1YTFlY2NiMi4uNmIzZjIxMTkxZDc0NDY4Mzg4OGI4MjRmYTY5ODY3YTU2OWM4OWQ1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTExNzgsNiArMTE3
OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlU
b2tlbihjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICAvLyBDYWxsZWQgYnkgdGhlIFVJ
IHByb2Nlc3Mgd2hlbiBpdCBpcyByZWFkeSB0byBzZW5kIGl0cyB0b2tlbnMgdG8gdGhlIHdlYiBw
cm9jZXNzLgogICAgIHZvaWQgcmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZWxlbWVuVG9rZW4sIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgd2luZG93VG9rZW4pOworICAgIHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJv
YXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYpOwogICAgIGJvb2wgcmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUpOwogICAgIFN0cmluZyBzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJv
YXJkKCk7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gZGF0YVNlbGVjdGlvbkZv
clBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSk7CkBAIC0xMTg3LDEwICsx
MTg4LDYgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSBjb2xv
clNwYWNlKCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIHZv
aWQgcmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5n
PiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwotI2VuZGlmCi0KICAgICB2b2lk
IHBhZ2VTY2FsZUZhY3RvckRpZENoYW5nZShkb3VibGUpOwogICAgIHZvaWQgcGx1Z2luU2NhbGVG
YWN0b3JEaWRDaGFuZ2UoZG91YmxlKTsKICAgICB2b2lkIHBsdWdpblpvb21GYWN0b3JEaWRDaGFu
Z2UoZG91YmxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQ
YWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5
TWFjLm1tCmluZGV4IDlmOWU1MTRhODMwNmM0YmZiZGM4ZTRjOGJhNTYyZGQyNzYwZTA1OTYuLjA4
OTI4MmI2OWFlNjc3ZTkzZDdmNzQwNjUyMDBlMGYyM2Q3NDZlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtMjQ2LDEzICsyNDYsNiBA
QCBib29sIFdlYlBhZ2VQcm94eTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQotdm9pZCBXZWJQYWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25X
aXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIGRhdGEpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YSh0eXBlcywgZGF0YSkpOwotfQotI2VuZGlm
Ci0KICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJv
bWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmIGltYWdlSGFuZGxlLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1l
LCBjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJkT3ZlcnJpZGVz
LmNwcAppbmRleCA0NjY5MzllZjE4N2I0YTUwZjczMjBlZGYyYzYxNmMyY2RjZmY1NDkzLi5kZmRk
YTE3Njk5MzYwMDQ0N2EwYzkzY2M4NDYwZjVlNjhiMmMyNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3Rl
Ym9hcmRPdmVycmlkZXMuY3BwCkBAIC0yNiw5ICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIldlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCIKIAorI2luY2x1ZGUgPFdlYkNv
cmUvUGFzdGVib2FyZEl0ZW1JbmZvLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFdlYlBh
c3RlYm9hcmRPdmVycmlkZXMmIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNoYXJlZFBhc3RlYm9h
cmRPdmVycmlkZXMoKQogewpAQCAtODMsNiArODUsMjAgQEAgVmVjdG9yPFN0cmluZz4gV2ViUGFz
dGVib2FyZE92ZXJyaWRlczo6b3ZlcnJpZGRlblR5cGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhc3Rl
Ym9hcmRJdGVtSW5mbz4gV2ViUGFzdGVib2FyZE92ZXJyaWRlczo6b3ZlcnJpZGRlbkluZm8oY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICBhdXRvIHR5cGVzID0gdGhpcy0+b3Zl
cnJpZGRlblR5cGVzKHBhc3RlYm9hcmROYW1lKTsKKyAgICBpZiAodHlwZXMuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgUGFzdGVib2FyZEl0ZW1JbmZvIGl0
ZW07CisgICAgaXRlbS5wbGF0Zm9ybVR5cGVzQnlGaWRlbGl0eSA9IHR5cGVzOworICAgIC8vIEZJ
WE1FOiBUaGlzIGlzIGN1cnJlbnRseSBhcHByb3ByaWF0ZSBmb3IgYWxsIGNsaWVudHMgdGhhdCBy
ZWx5IG9uIFBhc3RlYm9hcmRJdGVtSW5mbywgYnV0IHdlIG1heSBuZWVkIHRvIGFkanVzdAorICAg
IC8vIHRoaXMgaW4gdGhlIGZ1dHVyZSBzbyB0aGF0IHdlIGRvbid0IHRyZWF0ICdpbmxpbmUnIHR5
cGVzIHN1Y2ggYXMgcGxhaW4gdGV4dCBhcyB1cGxvYWRlZCBmaWxlcy4KKyAgICBpdGVtLnBsYXRm
b3JtVHlwZXNGb3JGaWxlVXBsb2FkID0gdHlwZXM7CisgICAgcmV0dXJuIHsgV1RGTW92ZShpdGVt
KSB9OworfQorCiBib29sIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OmdldERhdGFGb3JPdmVycmlk
ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIFZlY3Rv
cjx1aW50OF90PiYgZGF0YSkgY29uc3QKIHsKICAgICBhdXRvIHBhc3RlYm9hcmRJdGVyYXRvciA9
IG1fb3ZlcnJpZGVzTWFwLmZpbmQocGFzdGVib2FyZE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3RlYm9hcmRPdmVycmlkZXMu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQYXN0ZWJvYXJk
T3ZlcnJpZGVzLmgKaW5kZXggYTg2NzdmZTU2ZmQ5YWMxMWMyNDljYWE4ZGZmODgwNTMwYjAzYWU3
OC4uMmVlM2NmMzhiOTYwODlhNjdkODMxNzBkYmE5ODc4MWNmZjA4NTA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBhc3RlYm9hcmRPdmVy
cmlkZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGFzdGVib2FyZE92ZXJyaWRlcy5oCkBAIC0zMCw2ICszMCwxMCBAQAogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbzsKK30KKwogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMgewpAQCAtNDAsNiAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRPdmVycmlkZShjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpOwog
ICAgIHZvaWQgcmVtb3ZlT3ZlcnJpZGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgU3RyaW5nJiB0eXBlKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFzdGVib2Fy
ZEl0ZW1JbmZvPiBvdmVycmlkZGVuSW5mbyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsK
ICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZGVuVHlwZXMoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSk7CiAKICAgICBib29sIGdldERhdGFGb3JPdmVycmlkZShjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsIFZlY3Rvcjx1aW50OF90PiYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCA2MGMyMDdlZDBlZWE4MzZi
NDg3MGRkYTdjNmJiMzBhMTQ1NGNhNDk3Li5mODNmYjNlMGNmZTU3NTQ2YzA3ODc4YmM1ZDQ2MmNi
MWU2OTFjODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzg3LDYg
KzM4NywxMSBAQCBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGFpbnNTdHJpbmdTYWZl
Rm9yRE9NVG9SZWFkRm9yVHlwZShjb25zdCBTdHJpbmcmCiAKIGludCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KQogeworICAgIGlmICghV2ViUGFz
dGVib2FyZE92ZXJyaWRlczo6c2hhcmVkUGFzdGVib2FyZE92ZXJyaWRlcygpLm92ZXJyaWRkZW5U
eXBlcyhwYXN0ZWJvYXJkTmFtZSkuaXNFbXB0eSgpKSB7CisgICAgICAgIC8vIE92ZXJyaWRlIHBh
c3RlYm9hcmRzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgc2luZ2xlIHBhc3RlYm9hcmQgaXRlbXMu
CisgICAgICAgIHJldHVybiAxOworICAgIH0KKwogICAgIHVpbnQ2NF90IGl0ZW1zQ291bnQgeyAw
IH07CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZEl0
ZW1zQ291bnQocGFzdGVib2FyZE5hbWUsIHBhZ2VJZGVudGlmaWVyKGNvbnRleHQpKSwgTWVzc2Fn
ZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZEl0ZW1zQ291bnQ6OlJlcGx5KGl0
ZW1zQ291bnQpLCAwKTsKICAgICByZXR1cm4gaXRlbXNDb3VudDsKQEAgLTM5NCw2ICszOTksOSBA
QCBpbnQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLAogCiBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQYXN0ZWJv
YXJkSXRlbUluZm8+PiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFsbFBhc3RlYm9hcmRJdGVtSW5m
byhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBjb25z
dCBQYXN0ZWJvYXJkQ29udGV4dCogY29udGV4dCkKIHsKKyAgICBpZiAoYXV0byBpbmZvID0gV2Vi
UGFzdGVib2FyZE92ZXJyaWRlczo6c2hhcmVkUGFzdGVib2FyZE92ZXJyaWRlcygpLm92ZXJyaWRk
ZW5JbmZvKHBhc3RlYm9hcmROYW1lKSkKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppbmZv
KSB9IH07CisKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQYXN0ZWJvYXJkSXRlbUluZm8+PiBh
bGxJbmZvOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkFsbFBhc3RlYm9h
cmRJdGVtSW5mbyhwYXN0ZWJvYXJkTmFtZSwgY2hhbmdlQ291bnQsIHBhZ2VJZGVudGlmaWVyKGNv
bnRleHQpKSwgTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6QWxsUGFzdGVib2FyZEl0ZW1J
bmZvOjpSZXBseShhbGxJbmZvKSwgMCk7CiAgICAgcmV0dXJuIGFsbEluZm87CkBAIC00MDEsNiAr
NDA5LDkgQEAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPj4gV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjphbGxQYXN0ZWJvYXJkSXQKIAogc3RkOjpvcHRpb25hbDxQYXN0ZWJv
YXJkSXRlbUluZm8+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJ
bmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3Qg
Y2hhbmdlQ291bnQsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KiBjb250ZXh0KQogeworICAgIGlm
IChhdXRvIGluZm8gPSBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3Zl
cnJpZGVzKCkub3ZlcnJpZGRlbkluZm8ocGFzdGVib2FyZE5hbWUpKQorICAgICAgICByZXR1cm4g
aW5mbzsKKwogICAgIHN0ZDo6b3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBpbmZvOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkluZm9ybWF0aW9uRm9ySXRlbUF0SW5k
ZXgoaW5kZXgsIHBhc3RlYm9hcmROYW1lLCBjaGFuZ2VDb3VudCwgcGFnZUlkZW50aWZpZXIoY29u
dGV4dCkpLCBNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpJbmZvcm1hdGlvbkZvckl0ZW1B
dEluZGV4OjpSZXBseShpbmZvKSwgMCk7CiAgICAgcmV0dXJuIGluZm87CkBAIC00MDgsNiArNDE5
LDEwIEBAIHN0ZDo6b3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kCiAKIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRC
dWZmZXI+IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHN0
ZDo6b3B0aW9uYWw8c2l6ZV90PiBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqIGNv
bnRleHQpCiB7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG92ZXJyaWRlQnVmZmVyOworICAgIGlmIChX
ZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkuZ2V0RGF0
YUZvck92ZXJyaWRlKHBhc3RlYm9hcmROYW1lLCBwYXN0ZWJvYXJkVHlwZSwgb3ZlcnJpZGVCdWZm
ZXIpKQorICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92ZShvdmVycmlk
ZUJ1ZmZlcikpOworCiAgICAgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFzdGVib2Fy
ZChpbmRleCwgcGFzdGVib2FyZFR5cGUsIHBhc3RlYm9hcmROYW1lLCBwYWdlSWRlbnRpZmllcihj
b250ZXh0KSksIE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFz
dGVib2FyZDo6UmVwbHkoaXBjSGFuZGxlKSwgMCk7CiAgICAgaWYgKGlwY0hhbmRsZS5oYW5kbGUu
aXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJQYWdlQ29jb2EubW0KaW5kZXggMDRhYzMxYjdjYzUyYTBmN2JjZDJiNjNhNTE2N2E5
ZjAxMWUzYTFjZi4uNTkyMDM2NTkzNmYxMjA2N2Q5YjU2Y2U5M2JkYWVmZGFmYjU3MTg1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBh
Z2VDb2NvYS5tbQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCAiVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXIuaCIKICNpbXBvcnQgIldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgiCiAj
aW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCAiV2ViUGFzdGVib2FyZE92
ZXJyaWRlcy5oIgogI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW1wb3J0ICJX
ZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hT
ZXJ2aWNlc1NQSS5oPgpAQCAtNDUwLDYgKzQ1MSwzMiBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNs
aWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChjb25zdCBEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYg
aQogCiAjZW5kaWYKIAorc3RhdGljIFN0cmluZyYgcmVwbGFjZVNlbGVjdGlvblBhc3RlYm9hcmRO
YW1lKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzdHJpbmcoIlJlcGxh
Y2VTZWxlY3Rpb25QYXN0ZWJvYXJkIik7CisgICAgcmV0dXJuIHN0cmluZzsKK30KKwordm9pZCBX
ZWJQYWdlOjpyZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiB0eXBlcywgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQoreworICAgIGZv
ciAoYXV0byYgdHlwZSA6IHR5cGVzKQorICAgICAgICBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzOjpz
aGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkuYWRkT3ZlcnJpZGUocmVwbGFjZVNlbGVjdGlvblBh
c3RlYm9hcmROYW1lKCksIHR5cGUsIHsgZGF0YSB9KTsKKworICAgIHJlYWRTZWxlY3Rpb25Gcm9t
UGFzdGVib2FyZChyZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUoKSwgW10oYm9vbCkgeyB9
KTsKKworICAgIGZvciAoYXV0byYgdHlwZSA6IHR5cGVzKQorICAgICAgICBXZWJQYXN0ZWJvYXJk
T3ZlcnJpZGVzOjpzaGFyZWRQYXN0ZWJvYXJkT3ZlcnJpZGVzKCkucmVtb3ZlT3ZlcnJpZGUocmVw
bGFjZVNlbGVjdGlvblBhc3RlYm9hcmROYW1lKCksIHR5cGUpOworfQorCit2b2lkIFdlYlBhZ2U6
OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgYXV0byYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1h
aW5GcmFtZSgpOworICAgIGlmIChmcmFtZS5zZWxlY3Rpb24oKS5pc05vbmUoKSkKKyAgICAgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICBmcmFtZS5lZGl0b3IoKS5yZWFk
U2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpOworICAgIGNvbXBsZXRpb25I
YW5kbGVyKHRydWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBM
QVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IDdlYzZmNGFlMzYzZmJhODExMWFhM2Q1N2I4OTAzMTJmODdkYmFlOTEuLmU2ZmJiMGEy
NmVkZmRjNTc2MmEwNmNjOTMzMTZkY2I1NzIwNmU0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk2Miw3ICs5NjIsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXF1ZXN0QWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJL
aXQ6OldlYk1vdXNlRXZlbnQmKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgcmVw
bGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlw
ZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDEx
OTE4MzdjMzUxZWEyNzk1ZGY5YjFhNWJmMmE0NjQzNjU4ZTBkNGUuLjdkNjZmYmFmY2E0Njk1MTk2
NzI1OGNkYWU2YzU2MWU0YmZkYmYzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDU0LDEwICs0NTQsNyBAQCBH
ZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRo
ZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIEdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9h
cmQoKSAtPiAoU3RyaW5nIHN0cmluZ1ZhbHVlKSBTeW5jaHJvbm91cwogICAgIEdldERhdGFTZWxl
Y3Rpb25Gb3JQYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdlYktpdDo6U2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlKSBTeW5jaHJvbm91cwogICAgIFJlYWRTZWxl
Y3Rpb25Gcm9tUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChib29sIHJlc3Vs
dCkgU3luY2hyb25vdXMKLQotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIFJlcGxh
Y2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoVmVjdG9yPFN0cmluZz4gdHlwZXMsIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhKQotI2VuZGlmCiAKICAgICBTaG91bGREZWxheVdpbmRvd09yZGVy
aW5nRXZlbnQoV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KSAtPiAoYm9vbCByZXN1bHQpIFN5
bmNocm9ub3VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KaW5kZXggZGRhMGYyMGExZjIyN2FjNTA3YzllODZkZGU3MmI2ZmU1Zjkz
MDA3Ny4uM2RkYzI2NzE3NDY5ZDZhZGJhMTI0MjExMzhhNjAxY2Y1YmMxYzdlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAg
LTU5NywxMiArNTk3LDYgQEAgdm9pZCBXZWJQYWdlOjpyZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2li
aWxpdHlUb2tlbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBlbGUKICAgICBbbV9tb2NrQWNj
ZXNzaWJpbGl0eUVsZW1lbnQgc2V0UmVtb3RlVG9rZW5EYXRhOmVsZW1lbnRUb2tlbkRhdGFdOwog
fQogCi12b2lkIFdlYlBhZ2U6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJp
bmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Ci17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
Ci19Ci0KIHZvaWQgV2ViUGFnZTo6Z2V0U3RyaW5nU2VsZWN0aW9uRm9yUGFzdGVib2FyZChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA3MzAwZjdjNjQ3ZGU0YjAxOTgzMGM5M2UyZTc2
MmYwNTc3ZTYyODFjLi42YzA5OTNjY2QzNmQwYTYzNmM2NDBiMmJiZmI3MDM0ZjhiZDNhM2E1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQpAQCAtNDU4LDI1ICs0NTgsNiBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5n
QmVoYXZpb3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBLZXlibwogICAgIHJl
dHVybiBkaWRQZXJmb3JtQWN0aW9uOwogfQogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
Ci1zdGF0aWMgU3RyaW5nJiByZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUoKQotewotICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHN0cmluZygiUmVwbGFjZVNlbGVjdGlvblBh
c3RlYm9hcmQiKTsKLSAgICByZXR1cm4gc3RyaW5nOwotfQotCi12b2lkIFdlYlBhZ2U6OnJlcGxh
Y2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVz
LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCi17Ci0gICAgZm9yIChhdXRvJiB0eXBl
IDogdHlwZXMpCi0gICAgICAgIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNoYXJlZFBhc3RlYm9h
cmRPdmVycmlkZXMoKS5hZGRPdmVycmlkZShyZXBsYWNlU2VsZWN0aW9uUGFzdGVib2FyZE5hbWUo
KSwgdHlwZSwgeyBkYXRhIH0pOwotCi0gICAgcmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKHJl
cGxhY2VTZWxlY3Rpb25QYXN0ZWJvYXJkTmFtZSgpLCBbXShib29sKSB7IH0pOwotCi0gICAgZm9y
IChhdXRvJiB0eXBlIDogdHlwZXMpCi0gICAgICAgIFdlYlBhc3RlYm9hcmRPdmVycmlkZXM6OnNo
YXJlZFBhc3RlYm9hcmRPdmVycmlkZXMoKS5yZW1vdmVPdmVycmlkZShyZXBsYWNlU2VsZWN0aW9u
UGFzdGVib2FyZE5hbWUoKSwgdHlwZSk7Ci19Ci0jZW5kaWYKLQogYm9vbCBXZWJQYWdlOjpwZXJm
b3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpCiB7
CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDk0LDE1ICs0NzUsNiBAQCB2b2lkIFdlYlBhZ2U6OnJl
Z2lzdGVyVUlQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2Vucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIGVsZQogICAgIFthY2Nlc3NpYmlsaXR5UmVtb3RlT2JqZWN0KCkgc2V0UmVtb3RlUGFyZW50
OnJlbW90ZUVsZW1lbnQuZ2V0KCldOwogfQogCi12b2lkIFdlYlBhZ2U6OnJlYWRTZWxlY3Rpb25G
cm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgYXV0byYgZnJh
bWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOwotICAg
IGlmIChmcmFtZS5zZWxlY3Rpb24oKS5pc05vbmUoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKGZhbHNlKTsKLSAgICBmcmFtZS5lZGl0b3IoKS5yZWFkU2VsZWN0aW9uRnJvbVBh
c3RlYm9hcmQocGFzdGVib2FyZE5hbWUpOwotICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwot
fQotCiB2b2lkIFdlYlBhZ2U6OmdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
RnJhbWUmIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJh
bWUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>