<?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>229356</bug_id>
          
          <creation_ts>2021-08-20 16:30:05 -0700</creation_ts>
          <short_desc>Use the strongly typed PageGroupIdentifier in place of uint64_t</short_desc>
          <delta_ts>2021-08-22 08:36:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>achristensen</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786041</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-08-20 16:30:05 -0700</bug_when>
    <thetext>Use the strongly typed PageGroupIdentifier in place of uint64_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786042</commentid>
    <comment_count>1</comment_count>
      <attachid>436041</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-08-20 16:31:40 -0700</bug_when>
    <thetext>Created attachment 436041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786043</commentid>
    <comment_count>2</comment_count>
      <attachid>436041</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-20 16:34:45 -0700</bug_when>
    <thetext>Comment on attachment 436041
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPageGroupProxy.h:48
&gt; +    // Namespace IDs for local storage namespaces are equivalent to web page group IDs.

I would update this to &quot;currently equivalent&quot; because I think we intend to change this once we completely remove WebPageGroup/WebPageGroupProxy.

&gt; Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h:56
&gt; +    // Namespace IDs for local storage namespaces are equivalent to web page group IDs.

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786044</commentid>
    <comment_count>3</comment_count>
      <attachid>436042</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-08-20 16:38:35 -0700</bug_when>
    <thetext>Created attachment 436042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786245</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-22 08:36:00 -0700</bug_when>
    <thetext>Committed r281398 (240806@main): &lt;https://commits.webkit.org/240806@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436042.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786246</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-22 08:36:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/82218164&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436041</attachid>
            <date>2021-08-20 16:31:40 -0700</date>
            <delta_ts>2021-08-20 23:36:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229356-20210820163139.patch</filename>
            <type>text/plain</type>
            <size>22117</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5MDg5OWY2NWJmYmJlOTI0
ZmY0ZmM3YzFhNTczMzM1Mjc1MjgwZjUuLjYyOTg4N2U2ZWViZGNjMmY1YjBkYzZjNTc5ZDUzMDNm
ZDUzODdjMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDgtMjAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHRoZSBzdHJvbmds
eSB0eXBlZCBQYWdlR3JvdXBJZGVudGlmaWVyIGluIHBsYWNlIG9mIHVpbnQ2NF90CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzNTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIHVzZXMgb2Yg
dWludDY0X3QgZm9yIHBhZ2UgZ3JvdXAgaWRlbnRpZmllcnMgd2l0aCBQYWdlR3JvdXBJZGVudGlm
aWVyLgorCisgICAgICAgIFRoZXJlIGFyZSB0d28gcGxhY2VzIHdoZXJlIHdlIGNvbnZlcnQgYmV0
d2VlbiBTdG9yYWdlTmFtZXNwYWNlSWRlbnRpZmllciBhbmQKKyAgICAgICAgUGFnZUdyb3VwSWRl
bnRpZmllciBiZWNhdXNlLCBhcyB0aGUgY29tbWVudHMgc3RhdGUsIHRob3NlIGFyZSBlcXVpdmFs
ZW50LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICh0
eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKToKKyAgICAgICAgKGhlYWRlcnNf
Zm9yX3R5cGUpOgorICAgICAgICAqIFNoYXJlZC9JZGVudGlmaWVyVHlwZXMuaDoKKyAgICAgICAg
KiBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VH
cm91cERhdGE6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VHcm91cERhdGEuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZUdyb3VwOjpnZXQpOgorICAgICAgICAoV2ViS2l0OjpwYWdlR3JvdXBEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6Z2VuZXJhdGVQYWdlR3JvdXBJRCk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlR3JvdXA6
OnBhZ2VHcm91cElEIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJE
YXRhYmFzZVByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VQcm92aWRl
cjo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZVByb3ZpZGVyOjpX
ZWJEYXRhYmFzZVByb3ZpZGVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJE
YXRhYmFzZVByb3ZpZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb246OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6OnBhZ2VHcm91cElEIGNvbnN0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6OmxvY2FsU3RvcmFnZU5hbWVzcGFjZUlkZW50
aWZpZXIgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OndlYlBhZ2VHcm91cCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
U3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VOYW1lc3BhY2VJbXBsOjpwYWdlR3JvdXBJRCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmg6CisKIDIwMjEtMDgtMjAgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIHRoZSBt
eXN0ZXJpb3VzIHVpbnQ2NF90IGFyZ3VtZW50IHRvIGRldGVjdERhdGFJbkFsbEZyYW1lcygpIHRv
IE9wdGlvblNldDxXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggNzc0MzY4ZTc1NjEwYzY5MTQ5MjA0MTUyM2Q2NjU1
Njk4MWE0YmIwNS4uOGVkZWQ2YmEwM2NlYWU1MmZkMWJiNGM2ODI1ZTQzMDZiOWU1MjQzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0zMjEsNiArMzIxLDcg
QEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAg
J1dlYktpdDo6TUROU1JlZ2lzdGVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6Ok1lZGlh
UmVjb3JkZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UERGUGx1Z2luSWRlbnRpZmll
cicsCisgICAgICAgICdXZWJLaXQ6OlBhZ2VHcm91cElkZW50aWZpZXInLAogICAgICAgICAnV2Vi
S2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6
OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVt
b3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllcicsCkBAIC03NzUsNiArNzc2LDcgQEAg
ZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJLaXQ6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkJzogWyciQXBwUHJpdmFjeVJlcG9ydC5oIiddLAogICAgICAgICAn
V2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQnOiBbJyJMYXllckhvc3RpbmdDb250ZXh0Lmgi
J10sCiAgICAgICAgICdXZWJLaXQ6OkxheWVySG9zdGluZ01vZGUnOiBbJyJMYXllclRyZWVDb250
ZXh0LmgiJ10sCisgICAgICAgICdXZWJLaXQ6OlBhZ2VHcm91cElkZW50aWZpZXInOiBbJyJJZGVu
dGlmaWVyVHlwZXMuaCInXSwKICAgICAgICAgJ1dlYktpdDo6UGFnZVN0YXRlJzogWyciU2Vzc2lv
blN0YXRlLmgiJ10sCiAgICAgICAgICdXZWJLaXQ6OlBheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24n
OiBbJyJQYXltZW50U2V0dXBDb25maWd1cmF0aW9uV2ViS2l0LmgiJ10sCiAgICAgICAgICdXZWJL
aXQ6OlBheW1lbnRTZXR1cEZlYXR1cmVzJzogWyciQXBwbGVQYXlQYXltZW50U2V0dXBGZWF0dXJl
c1dlYktpdC5oIiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvSWRlbnRpZmll
clR5cGVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9JZGVudGlmaWVyVHlwZXMuaAppbmRleCA2
NDRhOWI5ODA3YmQ3NTQ5Nzk0NTAzN2QwOGNhMTRjZmI2MjA2NzIxLi41NWYyM2UyOGU4N2I5OTRm
NDQ3OWM3ZjMzNzE5Zjk2NmNlZjVjMDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9JZGVudGlmaWVyVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9JZGVudGlmaWVy
VHlwZXMuaApAQCAtMjksNiArMjksOSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorZW51bSBQ
YWdlR3JvdXBJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBQYWdlR3JvdXBJZGVudGlmaWVyID0g
T2JqZWN0SWRlbnRpZmllcjxQYWdlR3JvdXBJZGVudGlmaWVyVHlwZT47CisKIGVudW0gVGFwSWRl
bnRpZmllclR5cGUgeyB9OwogdXNpbmcgVGFwSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8
VGFwSWRlbnRpZmllclR5cGU+OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQYWdlR3JvdXBEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VHcm91cERh
dGEuY3BwCmluZGV4IDY0OGQwMjMwY2Y5ZDUxY2JhOTZmNmQ2MjNiMDNhMzg4ZDgyNGI3ODkuLmNh
NGM4NThkY2YzM2U2NjUzNWNhMDQ0MTliYzBiN2FjNzM0ZmZiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VHcm91cERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlBhZ2VHcm91cERhdGEuY3BwCkBAIC00Myw3ICs0Myw3IEBAIHN0ZDo6b3B0aW9u
YWw8V2ViUGFnZUdyb3VwRGF0YT4gV2ViUGFnZUdyb3VwRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2Rl
ciYgZGVjb2RlcikKICAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAgICAgCi0gICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcGFnZUdyb3VwSUQ7Cisg
ICAgc3RkOjpvcHRpb25hbDxQYWdlR3JvdXBJZGVudGlmaWVyPiBwYWdlR3JvdXBJRDsKICAgICBk
ZWNvZGVyID4+IHBhZ2VHcm91cElEOwogICAgIGlmICghcGFnZUdyb3VwSUQpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
YWdlR3JvdXBEYXRhLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlR3JvdXBEYXRhLmgK
aW5kZXggOGNmODViMzQwYzExMzQ3ZmE4Mzg1MDUyNzM2ZmI0OWJmMzAwMGZhMS4uMGY1MzVkMDZk
YWQ1Y2MxMmYxYTUzZjJiM2Q2NDNmNzVjY2U2M2QyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VHcm91cERhdGEuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgIlVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJJZGVu
dGlmaWVyVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIElQQyB7CkBAIC00MCw3ICs0MCw3IEBAIHN0cnVjdCBXZWJQYWdlR3JvdXBEYXRhIHsKICAg
ICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJQYWdlR3JvdXBEYXRhPiBkZWNvZGUoSVBDOjpEZWNv
ZGVyJik7CiAKICAgICBTdHJpbmcgaWRlbnRpZmllcjsKLSAgICB1aW50NjRfdCBwYWdlR3JvdXBJ
RDsKKyAgICBQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElEOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
R3JvdXAuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZUdyb3VwLmNwcAppbmRl
eCAxMmI5ODRiMzk1Y2QwMzU5ZTBmM2E5ZGU3OWI1MGNkNzc5MTRmMTc3Li5mMWI5MGQzZmI2YjQ1
MDhkNmEzZmZjZGQ2NzkxYjg5YmE3ZTA0Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VHcm91cC5jcHAKQEAgLTQwLDEzICs0MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQYWdlR3JvdXBJRCgpCi17Ci0gICAgc3RhdGljIHVp
bnQ2NF90IHVuaXF1ZVBhZ2VHcm91cElEID0gMTsKLSAgICByZXR1cm4gdW5pcXVlUGFnZUdyb3Vw
SUQrKzsKLX0KLQotdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90LCBXZWJQYWdlR3JvdXAqPiBXZWJQ
YWdlR3JvdXBNYXA7Cit0eXBlZGVmIEhhc2hNYXA8UGFnZUdyb3VwSWRlbnRpZmllciwgV2ViUGFn
ZUdyb3VwKj4gV2ViUGFnZUdyb3VwTWFwOwogCiBzdGF0aWMgV2ViUGFnZUdyb3VwTWFwJiB3ZWJQ
YWdlR3JvdXBNYXAoKQogewpAQCAtNTksNyArNTMsNyBAQCBSZWY8V2ViUGFnZUdyb3VwPiBXZWJQ
YWdlR3JvdXA6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpCiAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgV2ViUGFnZUdyb3VwKGlkZW50aWZpZXIpKTsKIH0KIAotV2ViUGFnZUdyb3Vw
KiBXZWJQYWdlR3JvdXA6OmdldCh1aW50NjRfdCBwYWdlR3JvdXBJRCkKK1dlYlBhZ2VHcm91cCog
V2ViUGFnZUdyb3VwOjpnZXQoUGFnZUdyb3VwSWRlbnRpZmllciBwYWdlR3JvdXBJRCkKIHsKICAg
ICByZXR1cm4gd2ViUGFnZUdyb3VwTWFwKCkuZ2V0KHBhZ2VHcm91cElEKTsKIH0KQEAgLTc3LDE4
ICs3MSwxOCBAQCBzdGF0aWMgV2ViUGFnZUdyb3VwRGF0YSBwYWdlR3JvdXBEYXRhKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcikKIHsKICAgICBXZWJQYWdlR3JvdXBEYXRhIGRhdGE7CiAKLSAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90Pj4gbWFwOwotICAg
IGlmIChIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+Ojppc1ZhbGlkS2V5KGlkZW50aWZpZXIpKSB7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBQYWdlR3JvdXBJZGVu
dGlmaWVyPj4gbWFwOworICAgIGlmIChIYXNoTWFwPFN0cmluZywgUGFnZUdyb3VwSWRlbnRpZmll
cj46OmlzVmFsaWRLZXkoaWRlbnRpZmllcikpIHsKICAgICAgICAgZGF0YS5wYWdlR3JvdXBJRCA9
IG1hcC5nZXQoKS5lbnN1cmUoaWRlbnRpZmllciwgW10gewotICAgICAgICAgICAgcmV0dXJuIGdl
bmVyYXRlUGFnZUdyb3VwSUQoKTsKKyAgICAgICAgICAgIHJldHVybiBQYWdlR3JvdXBJZGVudGlm
aWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAgICAgfSBlbHNl
Ci0gICAgICAgIGRhdGEucGFnZUdyb3VwSUQgPSBnZW5lcmF0ZVBhZ2VHcm91cElEKCk7CisgICAg
ICAgIGRhdGEucGFnZUdyb3VwSUQgPSBQYWdlR3JvdXBJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwog
CiAgICAgaWYgKCFpZGVudGlmaWVyLmlzRW1wdHkoKSkKICAgICAgICAgZGF0YS5pZGVudGlmaWVy
ID0gaWRlbnRpZmllcjsKICAgICBlbHNlCi0gICAgICAgIGRhdGEuaWRlbnRpZmllciA9IG1ha2VT
dHJpbmcoIl9fdW5pcXVlUGFnZUdyb3VwSUQtIiwgZGF0YS5wYWdlR3JvdXBJRCk7CisgICAgICAg
IGRhdGEuaWRlbnRpZmllciA9IG1ha2VTdHJpbmcoIl9fdW5pcXVlUGFnZUdyb3VwSUQtIiwgZGF0
YS5wYWdlR3JvdXBJRC50b1VJbnQ2NCgpKTsKIAogICAgIHJldHVybiBkYXRhOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZUdyb3VwLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuaAppbmRleCA2MTE5OTg3YjhhOGNjYTQ4NTViMjYw
YmM0MTU3Y2U2ODQ2NDJjODBhLi41ZmY2OWVjOTNmOWQyYmNjNzdiMTZmNTdiYzQzM2RkZDE0Njg2
YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuaApAQCAtMjYsNiArMjYs
NyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJJ
ZGVudGlmaWVyVHlwZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXBEYXRhLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldFR5
cGVzLmg+CkBAIC00Myw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyID0geyB9KTsKICAgICBzdGF0aWMgUmVmPFdlYlBh
Z2VHcm91cD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciA9IHsgfSk7CiAKLSAgICBz
dGF0aWMgV2ViUGFnZUdyb3VwKiBnZXQodWludDY0X3QgcGFnZUdyb3VwSUQpOworICAgIHN0YXRp
YyBXZWJQYWdlR3JvdXAqIGdldChQYWdlR3JvdXBJZGVudGlmaWVyKTsKICAgICBzdGF0aWMgdm9p
ZCBmb3JFYWNoKEZ1bmN0aW9uPHZvaWQoV2ViUGFnZUdyb3VwJik+JiYpOwogCiAgICAgdmlydHVh
bCB+V2ViUGFnZUdyb3VwKCk7CkBAIC01MSw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFk
ZFBhZ2UoV2ViUGFnZVByb3h5Jik7CiAgICAgdm9pZCByZW1vdmVQYWdlKFdlYlBhZ2VQcm94eSYp
OwogCi0gICAgdWludDY0X3QgcGFnZUdyb3VwSUQoKSBjb25zdCB7IHJldHVybiBtX2RhdGEucGFn
ZUdyb3VwSUQ7IH0KKyAgICBQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElEKCkgY29uc3Qg
eyByZXR1cm4gbV9kYXRhLnBhZ2VHcm91cElEOyB9CiAKICAgICBjb25zdCBXZWJQYWdlR3JvdXBE
YXRhJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3Bw
CmluZGV4IDQ1ZjJhZDc5ODFlZDFjNjkxNmJhZGY1ZDQzZGJkZjdhMGZjZDhmNWIuLmM1YWU3ODdj
N2ExZWQwMzkzODYxNjVlOWIxMTdmOTQ3MjU4ZTZiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcApA
QCAtMzUsMTQgKzM1LDE0IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi1zdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgV2ViRGF0YWJhc2VQcm92aWRlcio+
JiBkYXRhYmFzZVByb3ZpZGVycygpCitzdGF0aWMgSGFzaE1hcDxQYWdlR3JvdXBJZGVudGlmaWVy
LCBXZWJEYXRhYmFzZVByb3ZpZGVyKj4mIGRhdGFiYXNlUHJvdmlkZXJzKCkKIHsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgV2ViRGF0YWJhc2VQcm92aWRlcio+
PiBkYXRhYmFzZVByb3ZpZGVyczsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxQ
YWdlR3JvdXBJZGVudGlmaWVyLCBXZWJEYXRhYmFzZVByb3ZpZGVyKj4+IGRhdGFiYXNlUHJvdmlk
ZXJzOwogCiAgICAgcmV0dXJuIGRhdGFiYXNlUHJvdmlkZXJzOwogfQogCi1SZWY8V2ViRGF0YWJh
c2VQcm92aWRlcj4gV2ViRGF0YWJhc2VQcm92aWRlcjo6Z2V0T3JDcmVhdGUodWludDY0X3QgaWRl
bnRpZmllcikKK1JlZjxXZWJEYXRhYmFzZVByb3ZpZGVyPiBXZWJEYXRhYmFzZVByb3ZpZGVyOjpn
ZXRPckNyZWF0ZShQYWdlR3JvdXBJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgYXV0byYg
c2xvdCA9IGRhdGFiYXNlUHJvdmlkZXJzKCkuYWRkKGlkZW50aWZpZXIsIG51bGxwdHIpLml0ZXJh
dG9yLT52YWx1ZTsKICAgICBpZiAoc2xvdCkKQEAgLTU0LDcgKzU0LDcgQEAgUmVmPFdlYkRhdGFi
YXNlUHJvdmlkZXI+IFdlYkRhdGFiYXNlUHJvdmlkZXI6OmdldE9yQ3JlYXRlKHVpbnQ2NF90IGlk
ZW50aWZpZXIpCiAgICAgcmV0dXJuIGRhdGFiYXNlUHJvdmlkZXI7CiB9CiAKLVdlYkRhdGFiYXNl
UHJvdmlkZXI6OldlYkRhdGFiYXNlUHJvdmlkZXIodWludDY0X3QgaWRlbnRpZmllcikKK1dlYkRh
dGFiYXNlUHJvdmlkZXI6OldlYkRhdGFiYXNlUHJvdmlkZXIoUGFnZUdyb3VwSWRlbnRpZmllciBp
ZGVudGlmaWVyKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlk
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92
aWRlci5oCmluZGV4IGE4NGFhZGUxMjBlOWQzMDQyYzZmYzM0MjAyYjJkNjI4MzE0ZjAwZmYuLjY4
YmI2NWU4MmEzNDA5NDZjZTBkYTNkYWFlOTIwMThlYWVkY2U0NjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5o
CkBAIC0yMyw5ICsyMyw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2lmbmRlZiBXZWJEYXRhYmFzZVByb3ZpZGVyX2gKLSNkZWZpbmUgV2ViRGF0YWJhc2VQ
cm92aWRlcl9oCisjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIklkZW50aWZpZXJUeXBlcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VQcm92aWRlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAKQEAgLTMzLDE3ICszMywxNSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViRGF0YWJhc2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpEYXRhYmFzZVByb3Zp
ZGVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkRhdGFiYXNlUHJvdmlkZXI+IGdldE9y
Q3JlYXRlKHVpbnQ2NF90IGlkZW50aWZpZXIpOworICAgIHN0YXRpYyBSZWY8V2ViRGF0YWJhc2VQ
cm92aWRlcj4gZ2V0T3JDcmVhdGUoUGFnZUdyb3VwSWRlbnRpZmllcik7CiAgICAgdmlydHVhbCB+
V2ViRGF0YWJhc2VQcm92aWRlcigpOwogCiAgICAgV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oUEFMOjpTZXNz
aW9uSUQpIGZpbmFsOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkRhdGFiYXNlUHJvdmlk
ZXIodWludDY0X3QgaWRlbnRpZmllcik7CisgICAgZXhwbGljaXQgV2ViRGF0YWJhc2VQcm92aWRl
cihQYWdlR3JvdXBJZGVudGlmaWVyKTsKIAotICAgIGNvbnN0IHVpbnQ2NF90IG1faWRlbnRpZmll
cjsKKyAgICBjb25zdCBQYWdlR3JvdXBJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIH07CiAKIH0K
LQotI2VuZGlmIC8vIFdlYkRhdGFiYXNlUHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24uY3BwCmluZGV4IGY5OTNlZmMxZWEzYTcyOTUwZjI3YjNjMDljMTYyNWQxMWEyYjY0
ZjguLjRhODM0MDgyZDYxMDU2ZmI2NDc0Yzk5NjQ0NGFhNDE0YjRkOTY1NWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTk5LDcgKzk5LDcgQEAgUmVmPERvY3VtZW50
TG9hZGVyPiBTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZURvY3VtZW50TG9h
ZGVyKGNvbnN0IFIKICAgICByZXR1cm4gV2ViRG9jdW1lbnRMb2FkZXI6OmNyZWF0ZShyZXF1ZXN0
LCBzdWJzdGl0dXRlRGF0YSk7CiB9CiAKLVdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpX
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbihSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24sIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIHVp
bnQ2NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlE
LCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3Jl
LCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQor
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uKFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgUGFnZUdyb3VwSWRlbnRpZmllciBwYWdlR3Jv
dXBJRCwgV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgUGFnZUlkZW50aWZp
ZXIgcGFnZUlELCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSwgU2VydmljZVdvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKICAgICA6IG1fY29ubmVj
dGlvblRvTmV0d29ya1Byb2Nlc3MoV1RGTW92ZShjb25uZWN0aW9uKSkKICAgICAsIG1fcmVnaXN0
cmFibGVEb21haW4oV1RGTW92ZShyZWdpc3RyYWJsZURvbWFpbikpCiAgICAgLCBtX3BhZ2VHcm91
cElEKHBhZ2VHcm91cElEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggZTAy
MDU3ZTgxMWMxZTg2ZDJmNWVlZDI3NGUzMjBhY2Q1YmZmNzMyYS4uOGJjZmQyYzRiZGM2YmI5ZGU4
YmRiZDNkMzY5MGVjYWViOWUwNzdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5o
CkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVk
ZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIklkZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKQEAgLTU5LDcgKzYwLDcgQEAgY2xh
c3MgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyOwogCiBjbGFzcyBXZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbiBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpTV0NvbnRleHRNYW5hZ2VyOjpDb25u
ZWN0aW9uLCBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgotICAgIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uKFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYsIFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluJiYsIHVpbnQ2NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYsIFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CisgICAgV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24oUmVmPElQQzo6Q29ubmVjdGlvbj4mJiwgV2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4mJiwgUGFnZUdyb3VwSWRlbnRpZmllciwgV2ViUGFnZVByb3h5SWRlbnRp
ZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUm
LCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIH5XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbigpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKQEAgLTEwNSw3ICsxMDYsNyBAQCBwcml2
YXRlOgogCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uVG9OZXR3b3JrUHJv
Y2VzczsKICAgICBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBtX3JlZ2lzdHJhYmxlRG9tYWlu
OwotICAgIHVpbnQ2NF90IG1fcGFnZUdyb3VwSUQ7CisgICAgUGFnZUdyb3VwSWRlbnRpZmllciBt
X3BhZ2VHcm91cElEOwogICAgIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJ
RDsKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3BhZ2VJRDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKaW5kZXgg
MDZiNWIxOWE4OGQ5MGFhYTg2OWRmZTU3NTJlYmNjNWI2MWU3ZDBiZC4uMDg0NWY2OTg4ZjAzMzkw
YzQ0YTNiZjMzMDAxZDhjYTQwMzEyZjJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCkBAIC00NCw4ICs0NCw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJQYWdlR3JvdXBQcm94eSgpOwogCiAgICAgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmlkZW50aWZpZXI7IH0KLSAg
ICB1aW50NjRfdCBwYWdlR3JvdXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5wYWdlR3JvdXBJ
RDsgfQotICAgIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyIGxvY2FsU3RvcmFnZU5hbWVzcGFj
ZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtYWtlT2JqZWN0SWRlbnRpZmllcjxTdG9yYWdl
TmFtZXNwYWNlSWRlbnRpZmllclR5cGU+KHBhZ2VHcm91cElEKCkpOyB9CisgICAgUGFnZUdyb3Vw
SWRlbnRpZmllciBwYWdlR3JvdXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5wYWdlR3JvdXBJ
RDsgfQorICAgIC8vIE5hbWVzcGFjZSBJRHMgZm9yIGxvY2FsIHN0b3JhZ2UgbmFtZXNwYWNlcyBh
cmUgZXF1aXZhbGVudCB0byB3ZWIgcGFnZSBncm91cCBJRHMuCisgICAgU3RvcmFnZU5hbWVzcGFj
ZUlkZW50aWZpZXIgbG9jYWxTdG9yYWdlTmFtZXNwYWNlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1ha2VPYmplY3RJZGVudGlmaWVyPFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyVHlwZT4o
cGFnZUdyb3VwSUQoKS50b1VJbnQ2NCgpKTsgfQogICAgIFdlYkNvcmU6OlBhZ2VHcm91cCogY29y
ZVBhZ2VHcm91cCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUdyb3VwOyB9CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDMyYmRjY2RjMzA2YzU3
OGExNGVkYjZjZDFkMGJlNGRhZWQzMzQ5Ny4uMjcyYjU0N2ZlZDM1OWZjZDI3ZTZiYmRmNzY1OTE0
YzNhYjkzYmI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAt
OTI0LDcgKzkyNCw3IEBAIFdlYlBhZ2VHcm91cFByb3h5KiBXZWJQcm9jZXNzOjp3ZWJQYWdlR3Jv
dXAoUGFnZUdyb3VwKiBwYWdlR3JvdXApCiAgICAgcmV0dXJuIDA7CiB9CiAKLVdlYlBhZ2VHcm91
cFByb3h5KiBXZWJQcm9jZXNzOjp3ZWJQYWdlR3JvdXAodWludDY0X3QgcGFnZUdyb3VwSUQpCitX
ZWJQYWdlR3JvdXBQcm94eSogV2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKFBhZ2VHcm91cElkZW50
aWZpZXIgcGFnZUdyb3VwSUQpCiB7CiAgICAgcmV0dXJuIG1fcGFnZUdyb3VwTWFwLmdldChwYWdl
R3JvdXBJRCk7CiB9CkBAIC0xODg4LDcgKzE4ODgsNyBAQCBMaWJXZWJSVENOZXR3b3JrJiBXZWJQ
cm9jZXNzOjpsaWJXZWJSVENOZXR3b3JrKCkKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKLXZvaWQgV2ViUHJvY2Vzczo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05l
dHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVy
IHdlYlBhZ2VQcm94eUlELCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVu
Y2VzU3RvcmUmIHN0b3JlLCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBT
ZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlByb2Nl
c3M6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhQYWdl
R3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBh
Z2VQcm94eUlELCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmIHN0b3JlLCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBTZXJ2aWNl
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgLy8gV2UgYXJlIGlu
IHRoZSBTZXJ2aWNlIFdvcmtlciBjb250ZXh0IHByb2Nlc3MgYW5kIHRoZSBjYWxsIGJlbG93IGVz
dGFibGlzaGVzIG91ciBjb25uZWN0aW9uIHRvIHRoZSBOZXR3b3JrIFByb2Nlc3MKICAgICAvLyBi
eSBjYWxsaW5nIGVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi4gU1dDb250ZXh0TWFuYWdl
ciBuZWVkcyB0byB1c2UgdGhlIHNhbWUgdW5kZXJseWluZyBJUEM6OkNvbm5lY3Rpb24gYXMgdGhl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA1MGI4NzAzY2I2YjU3Yzll
NWI2ZGIzZGQ4ZGFhYTI2NzZmMjU4ODczLi40NWEwMTczYjUyZDMyOGE5NzRlZjhhZTg3N2RmN2Ji
OWI3M2QzMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCIKICNpbmNsdWRl
ICJBdXhpbGlhcnlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgorI2luY2x1ZGUg
IklkZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJTdG9yYWdl
QXJlYUlkZW50aWZpZXIuaCIKQEAgLTIyNCw3ICsyMjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
ZW1vdmVXZWJGcmFtZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIpOwogCiAgICAgV2ViUGFnZUdy
b3VwUHJveHkqIHdlYlBhZ2VHcm91cChXZWJDb3JlOjpQYWdlR3JvdXAqKTsKLSAgICBXZWJQYWdl
R3JvdXBQcm94eSogd2ViUGFnZUdyb3VwKHVpbnQ2NF90IHBhZ2VHcm91cElEKTsKKyAgICBXZWJQ
YWdlR3JvdXBQcm94eSogd2ViUGFnZUdyb3VwKFBhZ2VHcm91cElkZW50aWZpZXIpOwogICAgIFdl
YlBhZ2VHcm91cFByb3h5KiB3ZWJQYWdlR3JvdXAoY29uc3QgV2ViUGFnZUdyb3VwRGF0YSYpOwog
CiAgICAgdWludDY0X3QgdXNlckdlc3R1cmVUb2tlbklkZW50aWZpZXIoUmVmUHRyPFdlYkNvcmU6
OlVzZXJHZXN0dXJlVG9rZW4+KTsKQEAgLTQ2Niw3ICs0NjcsNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJD
b250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3VwSUQsIFdl
YlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJQ
cmVmZXJlbmNlc1N0b3JlJiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgU2VydmljZVdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwor
ICAgIHZvaWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNz
KFBhZ2VHcm91cElkZW50aWZpZXIsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyLCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiwgV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4mJiwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCiAKICAgICB2b2lkIGZldGNoV2Vic2l0ZURh
dGEoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
c2l0ZURhdGEmJik+JiYpOwpAQCAtNjA3LDcgKzYwOCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gbV93ZWJDb25uZWN0aW9uOwogCiAgICAgSGFzaE1h
cDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgUmVmUHRyPFdlYlBhZ2U+PiBtX3BhZ2VNYXA7Ci0g
ICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2VHcm91cFByb3h5Pj4gbV9wYWdlR3Jv
dXBNYXA7CisgICAgSGFzaE1hcDxQYWdlR3JvdXBJZGVudGlmaWVyLCBSZWZQdHI8V2ViUGFnZUdy
b3VwUHJveHk+PiBtX3BhZ2VHcm91cE1hcDsKICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGU+IG1f
aW5qZWN0ZWRCdW5kbGU7CiAKICAgICBSZWY8RXZlbnREaXNwYXRjaGVyPiBtX2V2ZW50RGlzcGF0
Y2hlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KaW5kZXggNTQyY2Y5YjA4MDJhYmM5ODIyY2NmMDE5OWJhZmJiNzgwNDNjMWZhMS4uZmM1MTg5
OTMyMDU2YjMzMWJjNGU0ZDY2MGE5NjliMDUxZWIyMTkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEwMSw3ICsxMDEsNyBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgRXN0YWJsaXNoV29ya2VyQ29u
dGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VHcm91cElELCBXZWJL
aXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9y
ZSwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluLCBzdHJ1Y3QgV2ViS2l0OjpTZXJ2
aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSkgLT4gKCkgQXN5
bmMKKyAgICBFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Mo
V2ViS2l0OjpQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElELCBXZWJLaXQ6OldlYlBhZ2VQ
cm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBh
Z2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9yZSwgV2ViQ29yZTo6
UmVnaXN0cmFibGVEb21haW4gZG9tYWluLCBzdHJ1Y3QgV2ViS2l0OjpTZXJ2aWNlV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSkgLT4gKCkgQXN5bmMKICNlbmRpZgog
CiAgICAgU2V0SGFzU3VzcGVuZGVkUGFnZVByb3h5KGJvb2wgaGFzU3VzcGVuZGVkUGFnZVByb3h5
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAppbmRleCAwMTkwMWVhN2ZhODdlZjg2OGIwNjk4ZmI1
ZWMyMjFhMzM1MTI5MjY3Li4zYjMyZTY1ZjU0MTBiZmU5OTQzODBjNzc0Mzg4MjIwODU1NTQyZmNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdl
TmFtZXNwYWNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN0b3Jh
Z2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwCkBAIC0xMzAsMTAgKzEzMCwxMSBAQCBQYWdlSWRl
bnRpZmllciBTdG9yYWdlTmFtZXNwYWNlSW1wbDo6c2Vzc2lvblN0b3JhZ2VQYWdlSUQoKSBjb25z
dAogICAgIHJldHVybiAqbV9zZXNzaW9uUGFnZUlEOwogfQogCi11aW50NjRfdCBTdG9yYWdlTmFt
ZXNwYWNlSW1wbDo6cGFnZUdyb3VwSUQoKSBjb25zdAorUGFnZUdyb3VwSWRlbnRpZmllciBTdG9y
YWdlTmFtZXNwYWNlSW1wbDo6cGFnZUdyb3VwSUQoKSBjb25zdAogewogICAgIEFTU0VSVChtX3N0
b3JhZ2VUeXBlID09IFN0b3JhZ2VUeXBlOjpMb2NhbCB8fCBtX3N0b3JhZ2VUeXBlID09IFN0b3Jh
Z2VUeXBlOjpUcmFuc2llbnRMb2NhbCk7Ci0gICAgcmV0dXJuIG1fc3RvcmFnZU5hbWVzcGFjZUlE
LnRvVUludDY0KCk7CisgICAgLy8gTmFtZXNwYWNlIElEcyBmb3IgbG9jYWwgc3RvcmFnZSBuYW1l
c3BhY2VzIGFyZSBlcXVpdmFsZW50IHRvIHdlYiBwYWdlIGdyb3VwIElEcy4KKyAgICByZXR1cm4g
bWFrZU9iamVjdElkZW50aWZpZXI8UGFnZUdyb3VwSWRlbnRpZmllclR5cGU+KG1fc3RvcmFnZU5h
bWVzcGFjZUlELnRvVUludDY0KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3Bh
Y2VJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlSW1wbC5oCmluZGV4IGIwYWI5ZTczMGIzMTcyYzc3ZmIyMjRjNjM4MTI4YzU3MDAwODM2
OTkuLmE4Mjk0MmM2NzAyNDVlZmZmZmRjOTgxNjljYTA2N2I1MTVhYTkzMzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVz
cGFjZUltcGwuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IklkZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CkBAIC01Miw4ICs1Myw5IEBAIHB1YmxpYzoKIAogICAg
IFdlYkNvcmU6OlN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9zdG9y
YWdlVHlwZTsgfQogICAgIElkZW50aWZpZXIgc3RvcmFnZU5hbWVzcGFjZUlEKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlSUQ7IH0KKyAgICAvLyBOYW1lc3BhY2UgSURzIGZvciBs
b2NhbCBzdG9yYWdlIG5hbWVzcGFjZXMgYXJlIGVxdWl2YWxlbnQgdG8gd2ViIHBhZ2UgZ3JvdXAg
SURzLgogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHNlc3Npb25TdG9yYWdlUGFnZUlEKCkg
Y29uc3Q7Ci0gICAgdWludDY0X3QgcGFnZUdyb3VwSUQoKSBjb25zdDsKKyAgICBQYWdlR3JvdXBJ
ZGVudGlmaWVyIHBhZ2VHcm91cElEKCkgY29uc3Q7CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4qIHRvcExldmVsT3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV90b3BMZXZlbE9yaWdpbi5nZXQo
KTsgfQogICAgIHVuc2lnbmVkIHF1b3RhSW5CeXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fcXVvdGFJ
bkJ5dGVzOyB9CiAgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7
Cg==
</data>
<flag name="review"
          id="458983"
          type_id="1"
          status="+"
          setter="achristensen"
    />
    <flag name="commit-queue"
          id="459014"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436042</attachid>
            <date>2021-08-20 16:38:35 -0700</date>
            <delta_ts>2021-08-22 08:36:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229356-20210820163834.patch</filename>
            <type>text/plain</type>
            <size>22989</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5MDg5OWY2NWJmYmJlOTI0
ZmY0ZmM3YzFhNTczMzM1Mjc1MjgwZjUuLjQwMDVkMDBkZjc3MmZmNjU1ODIzYmRhZjAwZDVmNzBk
ZjYwYjdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDgtMjAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHRoZSBzdHJvbmds
eSB0eXBlZCBQYWdlR3JvdXBJZGVudGlmaWVyIGluIHBsYWNlIG9mIHVpbnQ2NF90CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzNTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBv
ZiB1aW50NjRfdCBmb3IgcGFnZSBncm91cCBpZGVudGlmaWVycyB3aXRoIFBhZ2VHcm91cElkZW50
aWZpZXIuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBwbGFjZXMgd2hlcmUgd2UgY29udmVydCBi
ZXR3ZWVuIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyIGFuZAorICAgICAgICBQYWdlR3JvdXBJ
ZGVudGlmaWVyIGJlY2F1c2UsIGFzIHRoZSBjb21tZW50cyBzdGF0ZSwgdGhvc2UgYXJlIGVxdWl2
YWxlbnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAg
KHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQpOgorICAgICAgICAoaGVhZGVy
c19mb3JfdHlwZSk6CisgICAgICAgICogU2hhcmVkL0lkZW50aWZpZXJUeXBlcy5oOgorICAgICAg
ICAqIFNoYXJlZC9XZWJQYWdlR3JvdXBEYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZUdyb3VwRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlR3JvdXA6OmdldCk6CisgICAgICAgIChXZWJLaXQ6OnBhZ2VHcm91cERhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpnZW5lcmF0ZVBhZ2VHcm91cElEKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZUdyb3VwLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VHcm91
cDo6cGFnZUdyb3VwSUQgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL1dl
YkRhdGFiYXNlUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZVByb3Zp
ZGVyOjpnZXRPckNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlUHJvdmlkZXI6
OldlYkRhdGFiYXNlUHJvdmlkZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL1dl
YkRhdGFiYXNlUHJvdmlkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlR3JvdXBQcm94eTo6cGFnZUdyb3VwSUQgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlR3JvdXBQcm94eTo6bG9jYWxTdG9yYWdlTmFtZXNwYWNlSWRl
bnRpZmllciBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZU5hbWVzcGFjZUltcGw6OnBhZ2VHcm91cElEIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuaDoKKwogMjAyMS0wOC0yMCAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgdGhl
IG15c3RlcmlvdXMgdWludDY0X3QgYXJndW1lbnQgdG8gZGV0ZWN0RGF0YUluQWxsRnJhbWVzKCkg
dG8gT3B0aW9uU2V0PFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGU+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA3NzQzNjhlNzU2MTBjNjkxNDkyMDQxNTIzZDY2
NTU2OTgxYTRiYjA1Li44ZWRlZDZiYTAzY2VhZTUyZmQxYmI0YzY4MjVlNDMwNmI5ZTUyNDM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTMyMSw2ICszMjEs
NyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAg
ICAnV2ViS2l0OjpNRE5TUmVnaXN0ZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6TWVk
aWFSZWNvcmRlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpQREZQbHVnaW5JZGVudGlm
aWVyJywKKyAgICAgICAgJ1dlYktpdDo6UGFnZUdyb3VwSWRlbnRpZmllcicsCiAgICAgICAgICdX
ZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktp
dDo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpS
ZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVyJywKQEAgLTc3NSw2ICs3NzYsNyBA
QCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYktpdDo6TGFzdE5hdmln
YXRpb25XYXNBcHBJbml0aWF0ZWQnOiBbJyJBcHBQcml2YWN5UmVwb3J0LmgiJ10sCiAgICAgICAg
ICdXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCc6IFsnIkxheWVySG9zdGluZ0NvbnRleHQu
aCInXSwKICAgICAgICAgJ1dlYktpdDo6TGF5ZXJIb3N0aW5nTW9kZSc6IFsnIkxheWVyVHJlZUNv
bnRleHQuaCInXSwKKyAgICAgICAgJ1dlYktpdDo6UGFnZUdyb3VwSWRlbnRpZmllcic6IFsnIklk
ZW50aWZpZXJUeXBlcy5oIiddLAogICAgICAgICAnV2ViS2l0OjpQYWdlU3RhdGUnOiBbJyJTZXNz
aW9uU3RhdGUuaCInXSwKICAgICAgICAgJ1dlYktpdDo6UGF5bWVudFNldHVwQ29uZmlndXJhdGlv
bic6IFsnIlBheW1lbnRTZXR1cENvbmZpZ3VyYXRpb25XZWJLaXQuaCInXSwKICAgICAgICAgJ1dl
YktpdDo6UGF5bWVudFNldHVwRmVhdHVyZXMnOiBbJyJBcHBsZVBheVBheW1lbnRTZXR1cEZlYXR1
cmVzV2ViS2l0LmgiJ10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9JZGVudGlm
aWVyVHlwZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0lkZW50aWZpZXJUeXBlcy5oCmluZGV4
IDY0NGE5Yjk4MDdiZDc1NDk3OTQ1MDM3ZDA4Y2ExNGNmYjYyMDY3MjEuLjU1ZjIzZTI4ZTg3Yjk5
NGY0NDc5YzdmMzM3MTlmOTY2Y2VmNWMwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0lkZW50aWZpZXJUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0lkZW50aWZp
ZXJUeXBlcy5oCkBAIC0yOSw2ICsyOSw5IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitlbnVt
IFBhZ2VHcm91cElkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFBhZ2VHcm91cElkZW50aWZpZXIg
PSBPYmplY3RJZGVudGlmaWVyPFBhZ2VHcm91cElkZW50aWZpZXJUeXBlPjsKKwogZW51bSBUYXBJ
ZGVudGlmaWVyVHlwZSB7IH07CiB1c2luZyBUYXBJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmll
cjxUYXBJZGVudGlmaWVyVHlwZT47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VHcm91cERhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUdyb3Vw
RGF0YS5jcHAKaW5kZXggNjQ4ZDAyMzBjZjlkNTFjYmE5NmY2ZDYyM2IwM2EzODhkODI0Yjc4OS4u
Y2E0Yzg1OGRjZjMzZTY2NTM1Y2EwNDQxOWJjMGI3YWM3MzRmZmJmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgc3RkOjpvcHRp
b25hbDxXZWJQYWdlR3JvdXBEYXRhPiBXZWJQYWdlR3JvdXBEYXRhOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyKQogICAgIGlmICghaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKICAgICAKLSAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlR3JvdXBJRDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFBhZ2VHcm91cElkZW50aWZpZXI+IHBhZ2VHcm91cElEOwogICAg
IGRlY29kZXIgPj4gcGFnZUdyb3VwSUQ7CiAgICAgaWYgKCFwYWdlR3JvdXBJRCkKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VHcm91cERhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VHcm91cERhdGEu
aAppbmRleCA4Y2Y4NWIzNDBjMTEzNDdmYTgzODUwNTI3MzZmYjQ5YmYzMDAwZmExLi4wZjUzNWQw
NmRhZDVjYzEyZjFhNTNmMmIzZDY0M2Y3NWNjZTYzZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlR3JvdXBEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUdyb3VwRGF0YS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aW5jbHVkZSAiVXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIklk
ZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1l
c3BhY2UgSVBDIHsKQEAgLTQwLDcgKzQwLDcgQEAgc3RydWN0IFdlYlBhZ2VHcm91cERhdGEgewog
ICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VHcm91cERhdGE+IGRlY29kZShJUEM6OkRl
Y29kZXImKTsKIAogICAgIFN0cmluZyBpZGVudGlmaWVyOwotICAgIHVpbnQ2NF90IHBhZ2VHcm91
cElEOworICAgIFBhZ2VHcm91cElkZW50aWZpZXIgcGFnZUdyb3VwSUQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VHcm91cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuY3BwCmlu
ZGV4IDEyYjk4NGIzOTVjZDAzNTllMGYzYTlkZTc5YjUwY2Q3NzkxNGYxNzcuLmYxYjkwZDNmYjZi
NDUwOGQ2YTNmZmNkZDY3OTFiODliYTdlMDRjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZUdyb3VwLmNwcApAQCAtNDAsMTMgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBhZ2VHcm91cElEKCkKLXsKLSAgICBzdGF0aWMg
dWludDY0X3QgdW5pcXVlUGFnZUdyb3VwSUQgPSAxOwotICAgIHJldHVybiB1bmlxdWVQYWdlR3Jv
dXBJRCsrOwotfQotCi10eXBlZGVmIEhhc2hNYXA8dWludDY0X3QsIFdlYlBhZ2VHcm91cCo+IFdl
YlBhZ2VHcm91cE1hcDsKK3R5cGVkZWYgSGFzaE1hcDxQYWdlR3JvdXBJZGVudGlmaWVyLCBXZWJQ
YWdlR3JvdXAqPiBXZWJQYWdlR3JvdXBNYXA7CiAKIHN0YXRpYyBXZWJQYWdlR3JvdXBNYXAmIHdl
YlBhZ2VHcm91cE1hcCgpCiB7CkBAIC01OSw3ICs1Myw3IEBAIFJlZjxXZWJQYWdlR3JvdXA+IFdl
YlBhZ2VHcm91cDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJQYWdlR3JvdXAoaWRlbnRpZmllcikpOwogfQogCi1XZWJQYWdlR3Jv
dXAqIFdlYlBhZ2VHcm91cDo6Z2V0KHVpbnQ2NF90IHBhZ2VHcm91cElEKQorV2ViUGFnZUdyb3Vw
KiBXZWJQYWdlR3JvdXA6OmdldChQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElEKQogewog
ICAgIHJldHVybiB3ZWJQYWdlR3JvdXBNYXAoKS5nZXQocGFnZUdyb3VwSUQpOwogfQpAQCAtNzcs
MTggKzcxLDE4IEBAIHN0YXRpYyBXZWJQYWdlR3JvdXBEYXRhIHBhZ2VHcm91cERhdGEoY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyKQogewogICAgIFdlYlBhZ2VHcm91cERhdGEgZGF0YTsKIAotICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+PiBtYXA7Ci0g
ICAgaWYgKEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD46OmlzVmFsaWRLZXkoaWRlbnRpZmllcikp
IHsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFBhZ2VHcm91cElk
ZW50aWZpZXI+PiBtYXA7CisgICAgaWYgKEhhc2hNYXA8U3RyaW5nLCBQYWdlR3JvdXBJZGVudGlm
aWVyPjo6aXNWYWxpZEtleShpZGVudGlmaWVyKSkgewogICAgICAgICBkYXRhLnBhZ2VHcm91cElE
ID0gbWFwLmdldCgpLmVuc3VyZShpZGVudGlmaWVyLCBbXSB7Ci0gICAgICAgICAgICByZXR1cm4g
Z2VuZXJhdGVQYWdlR3JvdXBJRCgpOworICAgICAgICAgICAgcmV0dXJuIFBhZ2VHcm91cElkZW50
aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKICAgICB9IGVs
c2UKLSAgICAgICAgZGF0YS5wYWdlR3JvdXBJRCA9IGdlbmVyYXRlUGFnZUdyb3VwSUQoKTsKKyAg
ICAgICAgZGF0YS5wYWdlR3JvdXBJRCA9IFBhZ2VHcm91cElkZW50aWZpZXI6OmdlbmVyYXRlKCk7
CiAKICAgICBpZiAoIWlkZW50aWZpZXIuaXNFbXB0eSgpKQogICAgICAgICBkYXRhLmlkZW50aWZp
ZXIgPSBpZGVudGlmaWVyOwogICAgIGVsc2UKLSAgICAgICAgZGF0YS5pZGVudGlmaWVyID0gbWFr
ZVN0cmluZygiX191bmlxdWVQYWdlR3JvdXBJRC0iLCBkYXRhLnBhZ2VHcm91cElEKTsKKyAgICAg
ICAgZGF0YS5pZGVudGlmaWVyID0gbWFrZVN0cmluZygiX191bmlxdWVQYWdlR3JvdXBJRC0iLCBk
YXRhLnBhZ2VHcm91cElELnRvVUludDY0KCkpOwogCiAgICAgcmV0dXJuIGRhdGE7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlR3JvdXAuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5oCmluZGV4IDYxMTk5ODdiOGE4Y2NhNDg1NWIy
NjBiYzQxNTdjZTY4NDY0MmM4MGEuLjVmZjY5ZWM5M2Y5ZDJiY2M3N2IxNmY1N2JjNDMzZGRkMTQ2
ODZhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUg
IklkZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2VHcm91cERhdGEuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTdHlsZVNoZWV0
VHlwZXMuaD4KQEAgLTQzLDcgKzQ0LDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IFdlYlBhZ2VH
cm91cChjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIgPSB7IH0pOwogICAgIHN0YXRpYyBSZWY8V2Vi
UGFnZUdyb3VwPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyID0geyB9KTsKIAotICAg
IHN0YXRpYyBXZWJQYWdlR3JvdXAqIGdldCh1aW50NjRfdCBwYWdlR3JvdXBJRCk7CisgICAgc3Rh
dGljIFdlYlBhZ2VHcm91cCogZ2V0KFBhZ2VHcm91cElkZW50aWZpZXIpOwogICAgIHN0YXRpYyB2
b2lkIGZvckVhY2goRnVuY3Rpb248dm9pZChXZWJQYWdlR3JvdXAmKT4mJik7CiAKICAgICB2aXJ0
dWFsIH5XZWJQYWdlR3JvdXAoKTsKQEAgLTUxLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQg
YWRkUGFnZShXZWJQYWdlUHJveHkmKTsKICAgICB2b2lkIHJlbW92ZVBhZ2UoV2ViUGFnZVByb3h5
Jik7CiAKLSAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5w
YWdlR3JvdXBJRDsgfQorICAgIFBhZ2VHcm91cElkZW50aWZpZXIgcGFnZUdyb3VwSUQoKSBjb25z
dCB7IHJldHVybiBtX2RhdGEucGFnZUdyb3VwSUQ7IH0KIAogICAgIGNvbnN0IFdlYlBhZ2VHcm91
cERhdGEmIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5j
cHAKaW5kZXggNDVmMmFkNzk4MWVkMWM2OTE2YmFkZjVkNDNkYmRmN2EwZmNkOGY1Yi4uYzVhZTc4
N2M3YTFlZDAzOTM4NjE2NWU5YjExN2Y5NDcyNThlNmJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3Bw
CkBAIC0zNSwxNCArMzUsMTQgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLXN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBXZWJEYXRhYmFzZVByb3ZpZGVy
Kj4mIGRhdGFiYXNlUHJvdmlkZXJzKCkKK3N0YXRpYyBIYXNoTWFwPFBhZ2VHcm91cElkZW50aWZp
ZXIsIFdlYkRhdGFiYXNlUHJvdmlkZXIqPiYgZGF0YWJhc2VQcm92aWRlcnMoKQogewotICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPHVpbnQ2NF90LCBXZWJEYXRhYmFzZVByb3ZpZGVy
Kj4+IGRhdGFiYXNlUHJvdmlkZXJzOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFw
PFBhZ2VHcm91cElkZW50aWZpZXIsIFdlYkRhdGFiYXNlUHJvdmlkZXIqPj4gZGF0YWJhc2VQcm92
aWRlcnM7CiAKICAgICByZXR1cm4gZGF0YWJhc2VQcm92aWRlcnM7CiB9CiAKLVJlZjxXZWJEYXRh
YmFzZVByb3ZpZGVyPiBXZWJEYXRhYmFzZVByb3ZpZGVyOjpnZXRPckNyZWF0ZSh1aW50NjRfdCBp
ZGVudGlmaWVyKQorUmVmPFdlYkRhdGFiYXNlUHJvdmlkZXI+IFdlYkRhdGFiYXNlUHJvdmlkZXI6
OmdldE9yQ3JlYXRlKFBhZ2VHcm91cElkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKICAgICBhdXRv
JiBzbG90ID0gZGF0YWJhc2VQcm92aWRlcnMoKS5hZGQoaWRlbnRpZmllciwgbnVsbHB0cikuaXRl
cmF0b3ItPnZhbHVlOwogICAgIGlmIChzbG90KQpAQCAtNTQsNyArNTQsNyBAQCBSZWY8V2ViRGF0
YWJhc2VQcm92aWRlcj4gV2ViRGF0YWJhc2VQcm92aWRlcjo6Z2V0T3JDcmVhdGUodWludDY0X3Qg
aWRlbnRpZmllcikKICAgICByZXR1cm4gZGF0YWJhc2VQcm92aWRlcjsKIH0KIAotV2ViRGF0YWJh
c2VQcm92aWRlcjo6V2ViRGF0YWJhc2VQcm92aWRlcih1aW50NjRfdCBpZGVudGlmaWVyKQorV2Vi
RGF0YWJhc2VQcm92aWRlcjo6V2ViRGF0YWJhc2VQcm92aWRlcihQYWdlR3JvdXBJZGVudGlmaWVy
IGlkZW50aWZpZXIpCiAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKIHsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92
aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVBy
b3ZpZGVyLmgKaW5kZXggYTg0YWFkZTEyMGU5ZDMwNDJjNmZjMzQyMDJiMmQ2MjgzMTRmMDBmZi4u
NjhiYjY1ZTgyYTM0MDk0NmNlMGRhM2RhYWU5MjAxOGVhZWRjZTQ2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVy
LmgKQEAgLTIzLDkgKzIzLDkgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaWZuZGVmIFdlYkRhdGFiYXNlUHJvdmlkZXJfaAotI2RlZmluZSBXZWJEYXRhYmFz
ZVByb3ZpZGVyX2gKKyNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiSWRlbnRpZmllclR5cGVzLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KIApAQCAtMzMsMTcgKzMzLDE1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBXZWJEYXRhYmFzZVByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkRhdGFiYXNlUHJv
dmlkZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViRGF0YWJhc2VQcm92aWRlcj4gZ2V0
T3JDcmVhdGUodWludDY0X3QgaWRlbnRpZmllcik7CisgICAgc3RhdGljIFJlZjxXZWJEYXRhYmFz
ZVByb3ZpZGVyPiBnZXRPckNyZWF0ZShQYWdlR3JvdXBJZGVudGlmaWVyKTsKICAgICB2aXJ0dWFs
IH5XZWJEYXRhYmFzZVByb3ZpZGVyKCk7CiAKICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihQQUw6OlNl
c3Npb25JRCkgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViRGF0YWJhc2VQcm92
aWRlcih1aW50NjRfdCBpZGVudGlmaWVyKTsKKyAgICBleHBsaWNpdCBXZWJEYXRhYmFzZVByb3Zp
ZGVyKFBhZ2VHcm91cElkZW50aWZpZXIpOwogCi0gICAgY29uc3QgdWludDY0X3QgbV9pZGVudGlm
aWVyOworICAgIGNvbnN0IFBhZ2VHcm91cElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogfTsKIAog
fQotCi0jZW5kaWYgLy8gV2ViRGF0YWJhc2VQcm92aWRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5jcHAKaW5kZXggZjk5M2VmYzFlYTNhNzI5NTBmMjdiM2MwOWMxNjI1ZDExYTJi
NjRmOC4uNGE4MzQwODJkNjEwNTZmYjY0NzRjOTk2NDQ0YWE0MTRiNGQ5NjU1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtOTksNyArOTksNyBAQCBSZWY8RG9jdW1l
bnRMb2FkZXI+IFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRM
b2FkZXIoY29uc3QgUgogICAgIHJldHVybiBXZWJEb2N1bWVudExvYWRlcjo6Y3JlYXRlKHJlcXVl
c3QsIHN1YnN0aXR1dGVEYXRhKTsKIH0KIAotV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uKFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29u
bmVjdGlvbiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwg
dWludDY0X3QgcGFnZUdyb3VwSUQsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5
SUQsIFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3Rv
cmUsIFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEp
CitXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24oUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBXZWJDb3JlOjpSZWdpc3Ry
YWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VH
cm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBQYWdlSWRlbnRp
ZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBTZXJ2aWNlV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogICAgIDogbV9jb25u
ZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhXVEZNb3ZlKGNvbm5lY3Rpb24pKQogICAgICwgbV9yZWdp
c3RyYWJsZURvbWFpbihXVEZNb3ZlKHJlZ2lzdHJhYmxlRG9tYWluKSkKICAgICAsIG1fcGFnZUdy
b3VwSUQocGFnZUdyb3VwSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRleCBl
MDIwNTdlODExYzFlODZkMmY1ZWVkMjc0ZTMyMGFjZDViZmY3MzJhLi44YmNmZDJjNGJkYzZiYjlk
ZThiZGJkM2QzNjkwZWNhZWI5ZTA3N2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKICNpbmNs
dWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiSWRlbnRpZmllclR5cGVzLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4uaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5oIgpAQCAtNTksNyArNjAsNyBAQCBj
bGFzcyBXZWJVc2VyQ29udGVudENvbnRyb2xsZXI7CiAKIGNsYXNzIFdlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlNXQ29udGV4dE1hbmFnZXI6OkNv
bm5lY3Rpb24sIHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6Ci0gICAgV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24oUmVmPElQQzo6Q29ubmVjdGlvbj4mJiwgV2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4mJiwgdWludDY0X3QgcGFnZUdyb3VwSUQsIFdlYlBhZ2VQcm94
eUlkZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJQcmVmZXJlbmNl
c1N0b3JlJiwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKTsKKyAgICBXZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbihSZWY8SVBDOjpDb25uZWN0aW9uPiYmLCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYmLCBQYWdlR3JvdXBJZGVudGlmaWVyLCBXZWJQYWdlUHJveHlJZGVu
dGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9y
ZSYsIFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgfldlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uKCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwpAQCAtMTA1LDcgKzEwNiw3IEBAIHBy
aXZhdGU6CiAKICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb25Ub05ldHdvcmtQ
cm9jZXNzOwogICAgIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIG1fcmVnaXN0cmFibGVEb21h
aW47Ci0gICAgdWludDY0X3QgbV9wYWdlR3JvdXBJRDsKKyAgICBQYWdlR3JvdXBJZGVudGlmaWVy
IG1fcGFnZUdyb3VwSUQ7CiAgICAgV2ViUGFnZVByb3h5SWRlbnRpZmllciBtX3dlYlBhZ2VQcm94
eUlEOwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1fcGFnZUlEOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAppbmRl
eCAwNmI1YjE5YTg4ZDkwYWFhODY5ZGZlNTc1MmViY2M1YjYxZTdkMGJkLi40NGRiNTU5YzA4NTI3
MTJiMDRiYjM5Y2VmNGIxMGRiZWIzZTdhMzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKQEAgLTQ0LDggKzQ0LDkgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfldlYlBhZ2VHcm91cFByb3h5KCk7CiAKICAgICBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuaWRlbnRpZmllcjsgfQot
ICAgIHVpbnQ2NF90IHBhZ2VHcm91cElEKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnBhZ2VHcm91
cElEOyB9Ci0gICAgU3RvcmFnZU5hbWVzcGFjZUlkZW50aWZpZXIgbG9jYWxTdG9yYWdlTmFtZXNw
YWNlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1ha2VPYmplY3RJZGVudGlmaWVyPFN0b3Jh
Z2VOYW1lc3BhY2VJZGVudGlmaWVyVHlwZT4ocGFnZUdyb3VwSUQoKSk7IH0KKyAgICBQYWdlR3Jv
dXBJZGVudGlmaWVyIHBhZ2VHcm91cElEKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnBhZ2VHcm91
cElEOyB9CisgICAgLy8gTmFtZXNwYWNlIElEcyBmb3IgbG9jYWwgc3RvcmFnZSBuYW1lc3BhY2Vz
IGFyZSBjdXJyZW50bHkgZXF1aXZhbGVudCB0byB3ZWIgcGFnZSBncm91cCBJRHMuCisgICAgU3Rv
cmFnZU5hbWVzcGFjZUlkZW50aWZpZXIgbG9jYWxTdG9yYWdlTmFtZXNwYWNlSWRlbnRpZmllcigp
IGNvbnN0IHsgcmV0dXJuIG1ha2VPYmplY3RJZGVudGlmaWVyPFN0b3JhZ2VOYW1lc3BhY2VJZGVu
dGlmaWVyVHlwZT4ocGFnZUdyb3VwSUQoKS50b1VJbnQ2NCgpKTsgfQogICAgIFdlYkNvcmU6OlBh
Z2VHcm91cCogY29yZVBhZ2VHcm91cCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUdyb3VwOyB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDMy
YmRjY2RjMzA2YzU3OGExNGVkYjZjZDFkMGJlNGRhZWQzMzQ5Ny4uMjcyYjU0N2ZlZDM1OWZjZDI3
ZTZiYmRmNzY1OTE0YzNhYjkzYmI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtOTI0LDcgKzkyNCw3IEBAIFdlYlBhZ2VHcm91cFByb3h5KiBXZWJQcm9jZXNz
Ojp3ZWJQYWdlR3JvdXAoUGFnZUdyb3VwKiBwYWdlR3JvdXApCiAgICAgcmV0dXJuIDA7CiB9CiAK
LVdlYlBhZ2VHcm91cFByb3h5KiBXZWJQcm9jZXNzOjp3ZWJQYWdlR3JvdXAodWludDY0X3QgcGFn
ZUdyb3VwSUQpCitXZWJQYWdlR3JvdXBQcm94eSogV2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKFBh
Z2VHcm91cElkZW50aWZpZXIgcGFnZUdyb3VwSUQpCiB7CiAgICAgcmV0dXJuIG1fcGFnZUdyb3Vw
TWFwLmdldChwYWdlR3JvdXBJRCk7CiB9CkBAIC0xODg4LDcgKzE4ODgsNyBAQCBMaWJXZWJSVENO
ZXR3b3JrJiBXZWJQcm9jZXNzOjpsaWJXZWJSVENOZXR3b3JrKCkKIH0KIAogI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKLXZvaWQgV2ViUHJvY2Vzczo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENv
bm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJv
eHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0
IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJh
YmxlRG9tYWluLCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2
b2lkIFdlYlByb2Nlc3M6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2VzcyhQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVu
dGlmaWVyIHdlYlBhZ2VQcm94eUlELCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9t
YWluLCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRh
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
Ly8gV2UgYXJlIGluIHRoZSBTZXJ2aWNlIFdvcmtlciBjb250ZXh0IHByb2Nlc3MgYW5kIHRoZSBj
YWxsIGJlbG93IGVzdGFibGlzaGVzIG91ciBjb25uZWN0aW9uIHRvIHRoZSBOZXR3b3JrIFByb2Nl
c3MKICAgICAvLyBieSBjYWxsaW5nIGVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi4gU1dD
b250ZXh0TWFuYWdlciBuZWVkcyB0byB1c2UgdGhlIHNhbWUgdW5kZXJseWluZyBJUEM6OkNvbm5l
Y3Rpb24gYXMgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA1MGI4
NzAzY2I2YjU3YzllNWI2ZGIzZGQ4ZGFhYTI2NzZmMjU4ODczLi40NWEwMTczYjUyZDMyOGE5NzRl
ZjhhZTg3N2RmN2JiOWI3M2QzMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMu
aCIKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5o
IgorI2luY2x1ZGUgIklkZW50aWZpZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNs
dWRlICJTdG9yYWdlQXJlYUlkZW50aWZpZXIuaCIKQEAgLTIyNCw3ICsyMjUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZW1vdmVXZWJGcmFtZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIpOwogCiAg
ICAgV2ViUGFnZUdyb3VwUHJveHkqIHdlYlBhZ2VHcm91cChXZWJDb3JlOjpQYWdlR3JvdXAqKTsK
LSAgICBXZWJQYWdlR3JvdXBQcm94eSogd2ViUGFnZUdyb3VwKHVpbnQ2NF90IHBhZ2VHcm91cElE
KTsKKyAgICBXZWJQYWdlR3JvdXBQcm94eSogd2ViUGFnZUdyb3VwKFBhZ2VHcm91cElkZW50aWZp
ZXIpOwogICAgIFdlYlBhZ2VHcm91cFByb3h5KiB3ZWJQYWdlR3JvdXAoY29uc3QgV2ViUGFnZUdy
b3VwRGF0YSYpOwogCiAgICAgdWludDY0X3QgdXNlckdlc3R1cmVUb2tlbklkZW50aWZpZXIoUmVm
UHRyPFdlYkNvcmU6OlVzZXJHZXN0dXJlVG9rZW4+KTsKQEAgLTQ2Niw3ICs0NjcsNyBAQCBwcml2
YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgdm9pZCBlc3Rh
Ymxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3ModWludDY0X3QgcGFn
ZUdyb3VwSUQsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
LCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4m
JiwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOworICAgIHZvaWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05l
dHdvcmtQcm9jZXNzKFBhZ2VHcm91cElkZW50aWZpZXIsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIs
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiwgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCiAKICAgICB2b2lkIGZl
dGNoV2Vic2l0ZURhdGEoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+JiYpOwpAQCAtNjA3LDcgKzYwOCw3IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gbV93ZWJDb25uZWN0aW9uOwog
CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgUmVmUHRyPFdlYlBhZ2U+PiBt
X3BhZ2VNYXA7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2VHcm91cFByb3h5
Pj4gbV9wYWdlR3JvdXBNYXA7CisgICAgSGFzaE1hcDxQYWdlR3JvdXBJZGVudGlmaWVyLCBSZWZQ
dHI8V2ViUGFnZUdyb3VwUHJveHk+PiBtX3BhZ2VHcm91cE1hcDsKICAgICBSZWZQdHI8SW5qZWN0
ZWRCdW5kbGU+IG1faW5qZWN0ZWRCdW5kbGU7CiAKICAgICBSZWY8RXZlbnREaXNwYXRjaGVyPiBt
X2V2ZW50RGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KaW5kZXggNTQyY2Y5YjA4MDJhYmM5ODIyY2NmMDE5OWJhZmJiNzgwNDNj
MWZhMS4uZmM1MTg5OTMyMDU2YjMzMWJjNGU0ZDY2MGE5NjliMDUxZWIyMTkxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEwMSw3
ICsxMDEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNv
dW50ZWQgewogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgRXN0YWJs
aXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VH
cm91cElELCBXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZSBzdG9yZSwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluLCBzdHJ1Y3Qg
V2ViS2l0OjpTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0
YSkgLT4gKCkgQXN5bmMKKyAgICBFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0
d29ya1Byb2Nlc3MoV2ViS2l0OjpQYWdlR3JvdXBJZGVudGlmaWVyIHBhZ2VHcm91cElELCBXZWJL
aXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9y
ZSwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluLCBzdHJ1Y3QgV2ViS2l0OjpTZXJ2
aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSkgLT4gKCkgQXN5
bmMKICNlbmRpZgogCiAgICAgU2V0SGFzU3VzcGVuZGVkUGFnZVByb3h5KGJvb2wgaGFzU3VzcGVu
ZGVkUGFnZVByb3h5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJT
dG9yYWdlL1N0b3JhZ2VBcmVhTWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJT
dG9yYWdlL1N0b3JhZ2VBcmVhTWFwLmNwcAppbmRleCA5NzNkNjg5ZjM5NDg2NDZlNTZmM2I5Zjcz
NTYyMjAxYzI4YmQyYjgyLi4wZmE2YWMxOGZkOTQ3MDU5MGNmMTA3ZDZhNDQwNjZkOTJkOWE0MzZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdl
QXJlYU1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3Rv
cmFnZUFyZWFNYXAuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgdm9pZCBTdG9yYWdlQXJlYU1hcDo6
ZGlzcGF0Y2hMb2NhbFN0b3JhZ2VFdmVudChjb25zdCBzdGQ6Om9wdGlvbmFsPFN0b3JhZ2VBcmVh
SW0KIAogICAgIFZlY3RvcjxSZWZQdHI8RnJhbWU+PiBmcmFtZXM7CiAKLSAgICAvLyBOYW1lc3Bh
Y2UgSURzIGZvciBsb2NhbCBzdG9yYWdlIG5hbWVzcGFjZXMgYXJlIGVxdWl2YWxlbnQgdG8gd2Vi
IHBhZ2UgZ3JvdXAgSURzLgorICAgIC8vIE5hbWVzcGFjZSBJRHMgZm9yIGxvY2FsIHN0b3JhZ2Ug
bmFtZXNwYWNlcyBhcmUgY3VycmVudGx5IGVxdWl2YWxlbnQgdG8gd2ViIHBhZ2UgZ3JvdXAgSURz
LgogICAgIGF1dG8mIHBhZ2VHcm91cCA9ICpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdl
R3JvdXAobV9uYW1lc3BhY2UucGFnZUdyb3VwSUQoKSktPmNvcmVQYWdlR3JvdXAoKTsKICAgICBm
b3IgKGF1dG8mIHBhZ2UgOiBwYWdlR3JvdXAucGFnZXMoKSkKICAgICAgICAgZnJhbWVzLmFwcGVu
ZFZlY3RvcihmcmFtZXNGb3JFdmVudERpc3BhdGNoaW5nKHBhZ2UsIG1fc2VjdXJpdHlPcmlnaW4s
IFN0b3JhZ2VUeXBlOjpMb2NhbCwgc3RvcmFnZUFyZWFJbXBsSUQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmNwcAppbmRleCAwMTkwMWVhN2ZhODdlZjg2OGIwNjk4ZmI1ZWMyMjFhMzM1MTI5MjY3Li5m
ODRkMDJmYzZmN2UzYmIxZTMxNDMzYzVmMDBlNjFlMGZkZWJmOTMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZUltcGwuY3BwCkBAIC0xMzAsMTAgKzEzMCwxMCBAQCBQYWdlSWRlbnRpZmllciBTdG9yYWdlTmFt
ZXNwYWNlSW1wbDo6c2Vzc2lvblN0b3JhZ2VQYWdlSUQoKSBjb25zdAogICAgIHJldHVybiAqbV9z
ZXNzaW9uUGFnZUlEOwogfQogCi11aW50NjRfdCBTdG9yYWdlTmFtZXNwYWNlSW1wbDo6cGFnZUdy
b3VwSUQoKSBjb25zdAorUGFnZUdyb3VwSWRlbnRpZmllciBTdG9yYWdlTmFtZXNwYWNlSW1wbDo6
cGFnZUdyb3VwSUQoKSBjb25zdAogewogICAgIEFTU0VSVChtX3N0b3JhZ2VUeXBlID09IFN0b3Jh
Z2VUeXBlOjpMb2NhbCB8fCBtX3N0b3JhZ2VUeXBlID09IFN0b3JhZ2VUeXBlOjpUcmFuc2llbnRM
b2NhbCk7Ci0gICAgcmV0dXJuIG1fc3RvcmFnZU5hbWVzcGFjZUlELnRvVUludDY0KCk7CisgICAg
cmV0dXJuIG1ha2VPYmplY3RJZGVudGlmaWVyPFBhZ2VHcm91cElkZW50aWZpZXJUeXBlPihtX3N0
b3JhZ2VOYW1lc3BhY2VJRC50b1VJbnQ2NCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdl
TmFtZXNwYWNlSW1wbC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3Rv
cmFnZU5hbWVzcGFjZUltcGwuaAppbmRleCBiMGFiOWU3MzBiMzE3MmM3N2ZiMjI0YzYzODEyOGM1
NzAwMDgzNjk5Li45NWExMmMzMGJjOWQwYzY0MzcyNmUwYjEwMGJhZWY5NzZhMDliZTY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTmFtZXNw
YWNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJJZGVudGlmaWVyVHlwZXMuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlSWRl
bnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUlkZW50aWZpZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luRGF0YS5oPgpAQCAtNTIsOCArNTMsOSBAQCBwdWJsaWM6
CiAKICAgICBXZWJDb3JlOjpTdG9yYWdlVHlwZSBzdG9yYWdlVHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RvcmFnZVR5cGU7IH0KICAgICBJZGVudGlmaWVyIHN0b3JhZ2VOYW1lc3BhY2VJRCgpIGNv
bnN0IHsgcmV0dXJuIG1fc3RvcmFnZU5hbWVzcGFjZUlEOyB9CisgICAgLy8gTmFtZXNwYWNlIElE
cyBmb3IgbG9jYWwgc3RvcmFnZSBuYW1lc3BhY2VzIGFyZSBjdXJyZW50bHkgZXF1aXZhbGVudCB0
byB3ZWIgcGFnZSBncm91cCBJRHMuCiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgc2Vzc2lv
blN0b3JhZ2VQYWdlSUQoKSBjb25zdDsKLSAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCgpIGNvbnN0
OworICAgIFBhZ2VHcm91cElkZW50aWZpZXIgcGFnZUdyb3VwSUQoKSBjb25zdDsKICAgICBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiogdG9wTGV2ZWxPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Rv
cExldmVsT3JpZ2luLmdldCgpOyB9CiAgICAgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9xdW90YUluQnl0ZXM7IH0KICAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQo
KSBjb25zdCBvdmVycmlkZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>