<?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>219856</bug_id>
          
          <creation_ts>2020-12-14 09:09:28 -0800</creation_ts>
          <short_desc>Make CachePolicy an enum class</short_desc>
          <delta_ts>2020-12-14 13:34:03 -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>Page Loading</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1714457</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-14 09:09:28 -0800</bug_when>
    <thetext>Make CachePolicy an enum class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714458</commentid>
    <comment_count>1</comment_count>
      <attachid>416164</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-14 09:14:13 -0800</bug_when>
    <thetext>Created attachment 416164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714529</commentid>
    <comment_count>2</comment_count>
      <attachid>416164</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-12-14 11:54:02 -0800</bug_when>
    <thetext>Comment on attachment 416164
Patch

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

&gt; Source/WebCore/loader/cache/CachePolicy.h:30
&gt; +enum class CachePolicy {

: uint8_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714545</commentid>
    <comment_count>3</comment_count>
      <attachid>416184</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-14 12:31:17 -0800</bug_when>
    <thetext>Created attachment 416184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714553</commentid>
    <comment_count>4</comment_count>
      <attachid>416187</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-14 12:46:07 -0800</bug_when>
    <thetext>Created attachment 416187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714571</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-14 13:33:57 -0800</bug_when>
    <thetext>Committed r270803: &lt;https://trac.webkit.org/changeset/270803&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416187.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416164</attachid>
            <date>2020-12-14 09:14:13 -0800</date>
            <delta_ts>2020-12-14 12:31:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219856-20201214181411.patch</filename>
            <type>text/plain</type>
            <size>13377</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNjODk1MDM5YmI4YWRm
OTgyYTY3OWU2OWYyMTYyNTYwYzI5ZGFjZC4uOTEyYWE0NDQ5MWI3OTE4OWQyODc0NzRlMjkzNjdi
ZDc0YWRjOTg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTEyLTE0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBDYWNoZVBvbGljeSBhbiBl
bnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTk4NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNYWtlIENhY2hlUG9saWN5IGFuIGVudW0gY2xhc3MuCisKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1YnJlc291cmNl
Q2FjaGVQb2xpY3kgY29uc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZVBvbGljeS5oOgorICAgICAgICAoKTogRGVsZXRlZC4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6Om1ha2VSZXZhbGlkYXRpb25EZWNpc2lvbiBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVy
OjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhY2hlUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKwogMjAyMC0xMi0xMCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIHJlZHVu
ZGFudCBMaW5lOjpsaW5lTG9naWNhbExlZnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCmluZGV4IGQxOGY1YTc3ZmVlMjQwZWFhYTVmNGI1NDFhOTlkN2E4NWM2NGVkYjguLmU4YTk2
M2JkZjg5YTgwNDdmOWU2Zjg4ZjlhMmIwODViMGJkZmZmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJk
Q2FjaGUuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJC
ZWZvcmVVbmxvYWRFdmVudC5oIgorI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiQ2hyb21lLmgiCkBAIC0yNDA0LDQ1ICsyNDA1LDQ1IEBAIENhY2hlUG9saWN5IEZyYW1lTG9h
ZGVyOjpzdWJyZXNvdXJjZUNhY2hlUG9saWN5KGNvbnN0IFVSTCYgdXJsKSBjb25zdAogewogICAg
IGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCkpIHsKICAgICAgICAgaWYgKHBhZ2UtPmlz
UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWRCeVdlYkluc3BlY3RvcigpKQotICAgICAgICAgICAgcmV0
dXJuIENhY2hlUG9saWN5UmVsb2FkOworICAgICAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpS
ZWxvYWQ7CiAgICAgfQogCiAgICAgaWYgKG1faXNDb21wbGV0ZSkKLSAgICAgICAgcmV0dXJuIENh
Y2hlUG9saWN5VmVyaWZ5OworICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlZlcmlmeTsKIAog
ICAgIGlmIChtX2xvYWRUeXBlID09IEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW4pCi0g
ICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsKKyAgICAgICAgcmV0dXJuIENhY2hlUG9s
aWN5OjpSZWxvYWQ7CiAKICAgICBpZiAoRnJhbWUqIHBhcmVudEZyYW1lID0gbV9mcmFtZS50cmVl
KCkucGFyZW50KCkpIHsKICAgICAgICAgQ2FjaGVQb2xpY3kgcGFyZW50Q2FjaGVQb2xpY3kgPSBw
YXJlbnRGcmFtZS0+bG9hZGVyKCkuc3VicmVzb3VyY2VDYWNoZVBvbGljeSh1cmwpOwotICAgICAg
ICBpZiAocGFyZW50Q2FjaGVQb2xpY3kgIT0gQ2FjaGVQb2xpY3lWZXJpZnkpCisgICAgICAgIGlm
IChwYXJlbnRDYWNoZVBvbGljeSAhPSBDYWNoZVBvbGljeTo6VmVyaWZ5KQogICAgICAgICAgICAg
cmV0dXJuIHBhcmVudENhY2hlUG9saWN5OwogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKG1fbG9h
ZFR5cGUpIHsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZDoKLSAgICAgICAgcmV0dXJu
IENhY2hlUG9saWN5UmV2YWxpZGF0ZTsKKyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZXZh
bGlkYXRlOwogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6QmFjazoKICAgICBjYXNlIEZyYW1lTG9h
ZFR5cGU6OkZvcndhcmQ6CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpJbmRleGVkQmFja0Zvcndh
cmQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeUhpc3RvcnlCdWZmZXI7CisgICAgICAgIHJl
dHVybiBDYWNoZVBvbGljeTo6SGlzdG9yeUJ1ZmZlcjsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6
OlJlbG9hZEZyb21PcmlnaW46CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBBbHJl
YWR5IGhhbmRsZWQgYWJvdmUuCi0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsKKyAg
ICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBl
OjpSZWRpcmVjdFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3Q6CiAgICAgY2FzZSBGcmFtZUxvYWRU
eXBlOjpSZXBsYWNlOgogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6U2FtZToKICAgICBjYXNlIEZy
YW1lTG9hZFR5cGU6OlN0YW5kYXJkOgotICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3lWZXJpZnk7
CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5OwogICAgIGNhc2UgRnJhbWVMb2Fk
VHlwZTo6UmVsb2FkRXhwaXJlZE9ubHk6CiAgICAgICAgIC8vIFdlIGtub3cgYWJvdXQgZXhwaXJh
dGlvbiBmb3IgSFRUUCBhbmQgZGF0YS4gRG8gYSBub3JtYWwgcmVsb2FkIG90aGVyd2lzZS4KICAg
ICAgICAgaWYgKCF1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpICYmICF1cmwucHJvdG9jb2xJ
c0RhdGEoKSkKLSAgICAgICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsKLSAgICAgICAg
cmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5OworICAgICAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5
OjpSZWxvYWQ7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5OwogICAgIH0KIAog
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIENhY2hlUG9saWN5
VmVyaWZ5OworICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5OwogfQogCiB2b2lkIEZyYW1l
TG9hZGVyOjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoRG9jdW1lbnRMb2FkZXImIHBy
b3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCBjMmY2MzlhY2VmOGVjMzQzNjk1NTVhOTMx
N2VkNjkyODI0MmU3YmI2Li5lYjJiMzJmOWI5ZTNlYzZiMDdjMDkxZmZiNDA2YzBiODM0NGIyMzNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJhbWVJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCkBAIC01OCw3ICs1Nyw2IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEFyY2hpdmU7Ci1jbGFzcyBDYWNoZWRGcmFtZTsKIGNsYXNzIENhY2hl
ZEZyYW1lQmFzZTsKIGNsYXNzIENhY2hlZFBhZ2U7CiBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKQEAg
LTc2LDcgKzc0LDYgQEAgY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9u
OwogY2xhc3MgTmV0d29ya2luZ0NvbnRleHQ7CiBjbGFzcyBOb2RlOwotY2xhc3MgUGFnZTsKIGNs
YXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwpAQCAtODQsNiArODEsNyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBTdWJzdGl0dXRlRGF0YTsKIAorZW51bSBjbGFz
cyBDYWNoZVBvbGljeTsKIGVudW0gY2xhc3MgTmV3TG9hZEluUHJvZ3Jlc3MgOiBib29sOwogZW51
bSBjbGFzcyBOYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBT
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgOiBib29sOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVQb2xpY3kuaAppbmRleCBiOGExMDEzYzNhZGFlZjA3MDIwN2YzOWI4NmI1M2Y5
Y2JlMWVhMDJkLi41OGZmNmNlMzg1N2MwM2E3ZDQ2OTI4OTA5NTcyYzFkZmJlNmJmMDE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVQb2xpY3kuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVQb2xpY3kuaApAQCAtMjcsMTEgKzI3LDEx
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBDYWNoZVBvbGljeSB7Ci0gICAgQ2Fj
aGVQb2xpY3lWZXJpZnksCi0gICAgQ2FjaGVQb2xpY3lSZXZhbGlkYXRlLAotICAgIENhY2hlUG9s
aWN5UmVsb2FkLAotICAgIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlcgorZW51bSBjbGFzcyBDYWNo
ZVBvbGljeSB7CisgICAgVmVyaWZ5LAorICAgIFJldmFsaWRhdGUsCisgICAgUmVsb2FkLAorICAg
IEhpc3RvcnlCdWZmZXIKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDc2NWViNjU1ODc2
NDgzYTdjNzUyNWVkZDdiMTdkMmU0YTllNzgyMjEuLjMxYmU1MTBlMjJjZGFmMDkzMzllODk1NzFl
YjQ1MGM2MTJmN2U1NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVBvbGljeS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VD
bGllbnRXYWxrZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgpAQCAtMjY1
LDggKzI2Niw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXImIGNhY2hlZFJlc291cmNlTG9hZGVyKQogICAgICAgICBjb25zdCBTdHJpbmcmIGxhc3RNb2Rp
ZmllZCA9IHJlc291cmNlVG9SZXZhbGlkYXRlLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChI
VFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKICAgICAgICAgY29uc3QgU3RyaW5nJiBlVGFn
ID0gcmVzb3VyY2VUb1JldmFsaWRhdGUtPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpFVGFnKTsKICAgICAgICAgaWYgKCFsYXN0TW9kaWZpZWQuaXNFbXB0eSgpIHx8
ICFlVGFnLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJlc291cmNlTG9h
ZGVyLmNhY2hlUG9saWN5KHR5cGUoKSwgdXJsKCkpICE9IENhY2hlUG9saWN5UmVsb2FkKTsKLSAg
ICAgICAgICAgIGlmIChjYWNoZWRSZXNvdXJjZUxvYWRlci5jYWNoZVBvbGljeSh0eXBlKCksIHVy
bCgpKSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUpCisgICAgICAgICAgICBBU1NFUlQoY2FjaGVk
UmVzb3VyY2VMb2FkZXIuY2FjaGVQb2xpY3kodHlwZSgpLCB1cmwoKSkgIT0gQ2FjaGVQb2xpY3k6
OlJlbG9hZCk7CisgICAgICAgICAgICBpZiAoY2FjaGVkUmVzb3VyY2VMb2FkZXIuY2FjaGVQb2xp
Y3kodHlwZSgpLCB1cmwoKSkgPT0gQ2FjaGVQb2xpY3k6OlJldmFsaWRhdGUpCiAgICAgICAgICAg
ICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpDYWNoZUNvbnRyb2wsIEhUVFBIZWFkZXJWYWx1ZXM6Om1heEFnZTAoKSk7CiAgICAgICAgICAg
ICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgbV9yZXNvdXJj
ZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2lu
Y2UsIGxhc3RNb2RpZmllZCk7CkBAIC04NDQsMTMgKzg0NSwxMyBAQCBib29sIENhY2hlZFJlc291
cmNlOjpjYW5Vc2VDYWNoZVZhbGlkYXRvcigpIGNvbnN0CiBDYWNoZWRSZXNvdXJjZTo6UmV2YWxp
ZGF0aW9uRGVjaXNpb24gQ2FjaGVkUmVzb3VyY2U6Om1ha2VSZXZhbGlkYXRpb25EZWNpc2lvbihD
YWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY29uc3QKIHsgICAgCiAgICAgc3dpdGNoIChjYWNoZVBv
bGljeSkgewotICAgIGNhc2UgQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyOgorICAgIGNhc2UgQ2Fj
aGVQb2xpY3k6Okhpc3RvcnlCdWZmZXI6CiAgICAgICAgIHJldHVybiBSZXZhbGlkYXRpb25EZWNp
c2lvbjo6Tm87CiAKLSAgICBjYXNlIENhY2hlUG9saWN5UmVsb2FkOgorICAgIGNhc2UgQ2FjaGVQ
b2xpY3k6OlJlbG9hZDoKICAgICAgICAgcmV0dXJuIFJldmFsaWRhdGlvbkRlY2lzaW9uOjpZZXNE
dWVUb0NhY2hlUG9saWN5OwogCi0gICAgY2FzZSBDYWNoZVBvbGljeVJldmFsaWRhdGU6CisgICAg
Y2FzZSBDYWNoZVBvbGljeTo6UmV2YWxpZGF0ZToKICAgICAgICAgaWYgKG1fcmVzcG9uc2UuY2Fj
aGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSAmJiBtX3Jlc3BvbnNlLnVybCgpLnByb3RvY29s
SXMoImh0dHBzIikpIHsKICAgICAgICAgICAgIGlmIChpc0V4cGlyZWQoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gUmV2YWxpZGF0aW9uRGVjaXNpb246Olllc0R1ZVRvRXhwaXJlZDsKQEAgLTg1
OCw3ICs4NTksNyBAQCBDYWNoZWRSZXNvdXJjZTo6UmV2YWxpZGF0aW9uRGVjaXNpb24gQ2FjaGVk
UmVzb3VyY2U6Om1ha2VSZXZhbGlkYXRpb25EZWNpc2lvbihDYQogICAgICAgICB9CiAgICAgICAg
IHJldHVybiBSZXZhbGlkYXRpb25EZWNpc2lvbjo6WWVzRHVlVG9DYWNoZVBvbGljeTsKIAotICAg
IGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CisgICAgY2FzZSBDYWNoZVBvbGljeTo6VmVyaWZ5Ogog
ICAgICAgICBpZiAobV9yZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKICAg
ICAgICAgICAgIHJldHVybiBSZXZhbGlkYXRpb25EZWNpc2lvbjo6WWVzRHVlVG9Ob0NhY2hlOwog
ICAgICAgICAvLyBGSVhNRTogQ2FjaGUtQ29udHJvbDpuby1zdG9yZSBzaG91bGQgcHJldmVudCBz
dG9yaW5nLCBub3QgcmV1c2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCmluZGV4IDcxZTg3Yjg0NmRhMDQ5Yjc1MDU4OTJmODY1NGFhOWI4NjM4ZTZlODgu
LjA5MTVhOWFlYzNmNWVmZTk5ZjVkZTlhYzA3NDk5N2RkODBhMDMwZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0yMiw3ICsyMiw2IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJDYWNo
ZVZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VFcnJvci5oIgpAQCAtNTQsNiArNTMsOCBAQCBjbGFzcyBTaGFyZWRCdWZmZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKK2Vu
dW0gY2xhc3MgQ2FjaGVQb2xpY3k7CisKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBoZWxkIGluIHRo
ZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hvdWxkIGRlcml2
ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5jdGlvbiBjYWxs
cyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRoaXMgY2xhc3Mg
YWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2FkZXIgdG8gb2J0
YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDY5NDAxOGYx
N2I4MDU3MDNiZDFlOWUzM2IwODkyMDU4ZTliZWY1My4uZmQxOGE3ZTAyYmVjMjAwZWY2ZTRlZDQ1
NzM1OTI3NWZlMTE5ZmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKIAorI2luY2x1ZGUg
IkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1
ZGUgIkNhY2hlZEZvbnQuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgpAQCAtMTE5NiwxNCAr
MTE5NywxNCBAQCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYQogICAgIGF1dG8gY2FjaGVQb2xpY3kg
PSB0aGlzLT5jYWNoZVBvbGljeSh0eXBlLCByZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIFZhbGlk
YXRlIHRoZSByZWRpcmVjdCBjaGFpbi4KLSAgICBib29sIGNhY2hlUG9saWN5SXNIaXN0b3J5QnVm
ZmVyID0gY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyOworICAgIGJvb2wg
Y2FjaGVQb2xpY3lJc0hpc3RvcnlCdWZmZXIgPSBjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeTo6
SGlzdG9yeUJ1ZmZlcjsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3VyY2UtPnJlZGlyZWN0Q2hhaW5B
bGxvd3NSZXVzZShjYWNoZVBvbGljeUlzSGlzdG9yeUJ1ZmZlciA/IFJldXNlRXhwaXJlZFJlZGly
ZWN0aW9uIDogRG9Ob3RSZXVzZUV4cGlyZWRSZWRpcmVjdGlvbikpIHsKICAgICAgICAgTE9HKFJl
c291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRp
b25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBub3QgY2FjaGVkIG9yIGV4cGlyZWQgcmVkaXJlY3Rp
b25zLiIpOwogICAgICAgICBsb2dNZW1vcnlDYWNoZVJlc291cmNlUmVxdWVzdChmcmFtZSgpLCBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OmluTWVtb3J5Q2FjaGVLZXkoKSwgRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjp1bnVzZWRSZWFzb25SZWRpcmVjdENoYWluS2V5KCkpOwogICAgICAgICByZXR1cm4g
UmVsb2FkOwogICAgIH0KIAotICAgIC8vIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlciB1c2VzIHRo
ZSBjYWNoZSBleGNlcHQgaWYgdGhpcyBpcyBhIG1haW4gcmVzb3VyY2Ugd2l0aCAiY2FjaGUtY29u
dHJvbDogbm8tc3RvcmUiLgorICAgIC8vIENhY2hlUG9saWN5OjpIaXN0b3J5QnVmZmVyIHVzZXMg
dGhlIGNhY2hlIGV4Y2VwdCBpZiB0aGlzIGlzIGEgbWFpbiByZXNvdXJjZSB3aXRoICJjYWNoZS1j
b250cm9sOiBuby1zdG9yZSIuCiAgICAgaWYgKGNhY2hlUG9saWN5SXNIaXN0b3J5QnVmZmVyKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBJZ25vcmluZyAiY2FjaGUtY29udHJvbDogbm8tY2FjaGUiIGZv
ciBzdWItcmVzb3VyY2VzIG9uIGhpc3RvcnkgbmF2aWdhdGlvbiBidXQgbm90IHRoZSBtYWluCiAg
ICAgICAgIC8vIHJlc291cmNlIGlzIGluY29uc2lzdGVudC4gV2Ugc2hvdWxkIHByb2JhYmx5IGhh
cm1vbml6ZSB0aGlzLgpAQCAtMTIzNCw4ICsxMjM1LDggQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxp
ZGEKICAgICBpZiAoZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+bG9hZEV2ZW50RmluaXNoZWQo
KSAmJiBtX3ZhbGlkYXRlZFVSTHMuY29udGFpbnMoZXhpc3RpbmdSZXNvdXJjZS0+dXJsKCkuc3Ry
aW5nKCkpKQogICAgICAgICByZXR1cm4gVXNlOwogCi0gICAgLy8gQ2FjaGVQb2xpY3lSZWxvYWQg
YWx3YXlzIHJlbG9hZHMKLSAgICBpZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZWxvYWQp
IHsKKyAgICAvLyBDYWNoZVBvbGljeTo6UmVsb2FkIGFsd2F5cyByZWxvYWRzCisgICAgaWYgKGNh
Y2hlUG9saWN5ID09IENhY2hlUG9saWN5OjpSZWxvYWQpIHsKICAgICAgICAgTE9HKFJlc291cmNl
TG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xp
Y3kgcmVsb2FkaW5nIGR1ZSB0byBDYWNoZVBvbGljeVJlbG9hZC4iKTsKICAgICAgICAgbG9nTWVt
b3J5Q2FjaGVSZXNvdXJjZVJlcXVlc3QoZnJhbWUoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpp
bk1lbW9yeUNhY2hlS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6dW51c2VkUmVhc29uUmVs
b2FkS2V5KCkpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwpAQCAtMTM0NywyNyArMTM0OCwyNyBA
QCBDYWNoZVBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FjaGVQb2xpY3koQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVQogewogICAgIEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZy
YW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5
OworICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlZlcmlmeTsKIAogICAgIGlmICh0eXBlICE9
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2UpCiAgICAgICAgIHJldHVybiBmcmFt
ZS0+bG9hZGVyKCkuc3VicmVzb3VyY2VDYWNoZVBvbGljeSh1cmwpOwogCiAgICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBmcmFtZS0+cGFnZSgpKSB7CiAgICAgICAgIGlmIChwYWdlLT5pc1Jlc291cmNlQ2Fj
aGluZ0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoKSkKLSAgICAgICAgICAgIHJldHVybiBDYWNoZVBv
bGljeVJlbG9hZDsKKyAgICAgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6UmVsb2FkOwogICAg
IH0KIAogICAgIHN3aXRjaCAoZnJhbWUtPmxvYWRlcigpLmxvYWRUeXBlKCkpIHsKICAgICBjYXNl
IEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBl
OjpSZWxvYWQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsKKyAgICAgICAgcmV0
dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpCYWNrOgog
ICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6Rm9yd2FyZDoKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6
OkluZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgLy8gRG8gbm90IHJldmFsaWRhdGUgY2FjaGVk
IG1haW4gcmVzb3VyY2Ugb24gYmFjay9mb3J3YXJkIG5hdmlnYXRpb24uCi0gICAgICAgIHJldHVy
biBDYWNoZVBvbGljeUhpc3RvcnlCdWZmZXI7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6
SGlzdG9yeUJ1ZmZlcjsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3lW
ZXJpZnk7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5OwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aAppbmRleCA3MThlNWYzMGExYzEzNTY3NDhjZGNjODU4Mjg3ZDUzNzIwZmM3YjFlLi4zNzRkMmUw
MGYxZjE2M2UzN2FkYzI4NWM2ZjBlYzM5ODBlMjcxNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMjUsNyArMjUsNiBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgpAQCAtNjMsNiArNjIsNyBAQCBjbGFzcyBT
ZXR0aW5nczsKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogdXNpbmcgUmVzb3VyY2VFcnJvck9yID0g
RXhwZWN0ZWQ8VCwgUmVzb3VyY2VFcnJvcj47CiAKK2VudW0gY2xhc3MgQ2FjaGVQb2xpY3k7CiBl
bnVtIGNsYXNzIEltYWdlTG9hZGluZyA6IHVpbnQ4X3QgeyBJbW1lZGlhdGUsIERlZmVycmVkVW50
aWxWaXNpYmxlIH07CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBwcm92aWRlcyBhIHBl
ci1jb250ZXh0IGludGVyZmFjZSB0byB0aGUgTWVtb3J5Q2FjaGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416184</attachid>
            <date>2020-12-14 12:31:17 -0800</date>
            <delta_ts>2020-12-14 12:46:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219856-20201214213113.patch</filename>
            <type>text/plain</type>
            <size>13389</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNjODk1MDM5YmI4YWRm
OTgyYTY3OWU2OWYyMTYyNTYwYzI5ZGFjZC4uMzJhM2E2MDZmZWFlMjEzMDIzMzZlYTg2ODViMDk3
MzM1YjYzZDA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTEyLTE0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBDYWNoZVBvbGljeSBhbiBl
bnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTk4NTYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgIE1ha2UgQ2FjaGVQb2xpY3kgYW4gZW51bSBjbGFzcy4KKworICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VicmVzb3Vy
Y2VDYWNoZVBvbGljeSBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlUG9saWN5Lmg6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6bWFrZVJldmFsaWRhdGlvbkRlY2lzaW9uIGNvbnN0KToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FjaGVQb2xpY3kgY29uc3QpOgorICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgorCiAyMDIwLTEyLTEwICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUgcmVk
dW5kYW50IExpbmU6OmxpbmVMb2dpY2FsTGVmdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKaW5kZXggZDE4ZjVhNzdmZWUyNDBlYWFhNWY0YjU0MWE5OWQ3YTg1YzY0ZWRiOC4uZThh
OTYzYmRmODlhODA0N2Y5ZTZmODhmOWEyYjA4NWIwYmRmZmYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiQmFja0Zvcndh
cmRDYWNoZS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkJlZm9yZVVubG9hZEV2ZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRl
ICJDYWNoZWRQYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNs
dWRlICJDaHJvbWUuaCIKQEAgLTI0MDQsNDUgKzI0MDUsNDUgQEAgQ2FjaGVQb2xpY3kgRnJhbWVM
b2FkZXI6OnN1YnJlc291cmNlQ2FjaGVQb2xpY3koY29uc3QgVVJMJiB1cmwpIGNvbnN0CiB7CiAg
ICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgewogICAgICAgICBpZiAocGFnZS0+
aXNSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gQ2FjaGVQb2xpY3lSZWxvYWQ7CisgICAgICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6
OlJlbG9hZDsKICAgICB9CiAKICAgICBpZiAobV9pc0NvbXBsZXRlKQotICAgICAgICByZXR1cm4g
Q2FjaGVQb2xpY3lWZXJpZnk7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5Owog
CiAgICAgaWYgKG1fbG9hZFR5cGUgPT0gRnJhbWVMb2FkVHlwZTo6UmVsb2FkRnJvbU9yaWdpbikK
LSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5UmVsb2FkOworICAgICAgICByZXR1cm4gQ2FjaGVQ
b2xpY3k6OlJlbG9hZDsKIAogICAgIGlmIChGcmFtZSogcGFyZW50RnJhbWUgPSBtX2ZyYW1lLnRy
ZWUoKS5wYXJlbnQoKSkgewogICAgICAgICBDYWNoZVBvbGljeSBwYXJlbnRDYWNoZVBvbGljeSA9
IHBhcmVudEZyYW1lLT5sb2FkZXIoKS5zdWJyZXNvdXJjZUNhY2hlUG9saWN5KHVybCk7Ci0gICAg
ICAgIGlmIChwYXJlbnRDYWNoZVBvbGljeSAhPSBDYWNoZVBvbGljeVZlcmlmeSkKKyAgICAgICAg
aWYgKHBhcmVudENhY2hlUG9saWN5ICE9IENhY2hlUG9saWN5OjpWZXJpZnkpCiAgICAgICAgICAg
ICByZXR1cm4gcGFyZW50Q2FjaGVQb2xpY3k7CiAgICAgfQogICAgIAogICAgIHN3aXRjaCAobV9s
b2FkVHlwZSkgewogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6UmVsb2FkOgotICAgICAgICByZXR1
cm4gQ2FjaGVQb2xpY3lSZXZhbGlkYXRlOworICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlJl
dmFsaWRhdGU7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpCYWNrOgogICAgIGNhc2UgRnJhbWVM
b2FkVHlwZTo6Rm9yd2FyZDoKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OkluZGV4ZWRCYWNrRm9y
d2FyZDoKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlcjsKKyAgICAgICAg
cmV0dXJuIENhY2hlUG9saWN5OjpIaXN0b3J5QnVmZmVyOwogICAgIGNhc2UgRnJhbWVMb2FkVHlw
ZTo6UmVsb2FkRnJvbU9yaWdpbjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEFs
cmVhZHkgaGFuZGxlZCBhYm92ZS4KLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5UmVsb2FkOwor
ICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlJlbG9hZDsKICAgICBjYXNlIEZyYW1lTG9hZFR5
cGU6OlJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdDoKICAgICBjYXNlIEZyYW1lTG9h
ZFR5cGU6OlJlcGxhY2U6CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpTYW1lOgogICAgIGNhc2Ug
RnJhbWVMb2FkVHlwZTo6U3RhbmRhcmQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVZlcmlm
eTsKKyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpWZXJpZnk7CiAgICAgY2FzZSBGcmFtZUxv
YWRUeXBlOjpSZWxvYWRFeHBpcmVkT25seToKICAgICAgICAgLy8gV2Uga25vdyBhYm91dCBleHBp
cmF0aW9uIGZvciBIVFRQIGFuZCBkYXRhLiBEbyBhIG5vcm1hbCByZWxvYWQgb3RoZXJ3aXNlLgog
ICAgICAgICBpZiAoIXVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgJiYgIXVybC5wcm90b2Nv
bElzRGF0YSgpKQotICAgICAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5UmVsb2FkOwotICAgICAg
ICByZXR1cm4gQ2FjaGVQb2xpY3lWZXJpZnk7CisgICAgICAgICAgICByZXR1cm4gQ2FjaGVQb2xp
Y3k6OlJlbG9hZDsKKyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpWZXJpZnk7CiAgICAgfQog
CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQ2FjaGVQb2xp
Y3lWZXJpZnk7CisgICAgcmV0dXJuIENhY2hlUG9saWN5OjpWZXJpZnk7CiB9CiAKIHZvaWQgRnJh
bWVMb2FkZXI6OmRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZChEb2N1bWVudExvYWRlciYg
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IGMyZjYzOWFjZWY4ZWMzNDM2OTU1NWE5
MzE3ZWQ2OTI4MjQyZTdiYjYuLmViMmIzMmY5YjllM2VjNmIwN2MwOTFmZmI0MDZjMGI4MzQ0YjIz
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFt
ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKQEAgLTU4LDcgKzU3LDYgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQXJjaGl2ZTsKLWNsYXNzIENhY2hlZEZyYW1lOwogY2xhc3MgQ2Fj
aGVkRnJhbWVCYXNlOwogY2xhc3MgQ2FjaGVkUGFnZTsKIGNsYXNzIENhY2hlZFJlc291cmNlOwpA
QCAtNzYsNyArNzQsNiBAQCBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIE5hdmlnYXRpb25BY3Rp
b247CiBjbGFzcyBOZXR3b3JraW5nQ29udGV4dDsKIGNsYXNzIE5vZGU7Ci1jbGFzcyBQYWdlOwog
Y2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CkBAIC04NCw2ICs4MSw3IEBAIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN1YnN0aXR1dGVEYXRhOwogCitlbnVtIGNs
YXNzIENhY2hlUG9saWN5OwogZW51bSBjbGFzcyBOZXdMb2FkSW5Qcm9ncmVzcyA6IGJvb2w7CiBl
bnVtIGNsYXNzIE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNz
IFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCA6IGJvb2w7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZVBvbGljeS5oCmluZGV4IGI4YTEwMTNjM2FkYWVmMDcwMjA3ZjM5Yjg2YjUz
ZjljYmUxZWEwMmQuLmJlZTIwNTdhOTIyNWVjZjk2ZWE5YmU5ODEzNmYyZTFjOTZkYzI2YzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZVBvbGljeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZVBvbGljeS5oCkBAIC0yNywxMSArMjcs
MTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIENhY2hlUG9saWN5IHsKLSAgICBD
YWNoZVBvbGljeVZlcmlmeSwKLSAgICBDYWNoZVBvbGljeVJldmFsaWRhdGUsCi0gICAgQ2FjaGVQ
b2xpY3lSZWxvYWQsCi0gICAgQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyCitlbnVtIGNsYXNzIENh
Y2hlUG9saWN5IDogdWludDhfdCB7CisgICAgVmVyaWZ5LAorICAgIFJldmFsaWRhdGUsCisgICAg
UmVsb2FkLAorICAgIEhpc3RvcnlCdWZmZXIKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4
IDc2NWViNjU1ODc2NDgzYTdjNzUyNWVkZDdiMTdkMmU0YTllNzgyMjEuLjMxYmU1MTBlMjJjZGFm
MDkzMzllODk1NzFlYjQ1MGM2MTJmN2U1NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVBv
bGljeS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VDbGllbnRXYWxrZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgpAQCAtMjY1LDggKzI2Niw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2FjaGVk
UmVzb3VyY2VMb2FkZXImIGNhY2hlZFJlc291cmNlTG9hZGVyKQogICAgICAgICBjb25zdCBTdHJp
bmcmIGxhc3RNb2RpZmllZCA9IHJlc291cmNlVG9SZXZhbGlkYXRlLT5yZXNwb25zZSgpLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKICAgICAgICAgY29uc3Qg
U3RyaW5nJiBlVGFnID0gcmVzb3VyY2VUb1JldmFsaWRhdGUtPnJlc3BvbnNlKCkuaHR0cEhlYWRl
ckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpFVGFnKTsKICAgICAgICAgaWYgKCFsYXN0TW9kaWZpZWQu
aXNFbXB0eSgpIHx8ICFlVGFnLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgQVNTRVJUKGNhY2hl
ZFJlc291cmNlTG9hZGVyLmNhY2hlUG9saWN5KHR5cGUoKSwgdXJsKCkpICE9IENhY2hlUG9saWN5
UmVsb2FkKTsKLSAgICAgICAgICAgIGlmIChjYWNoZWRSZXNvdXJjZUxvYWRlci5jYWNoZVBvbGlj
eSh0eXBlKCksIHVybCgpKSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUpCisgICAgICAgICAgICBB
U1NFUlQoY2FjaGVkUmVzb3VyY2VMb2FkZXIuY2FjaGVQb2xpY3kodHlwZSgpLCB1cmwoKSkgIT0g
Q2FjaGVQb2xpY3k6OlJlbG9hZCk7CisgICAgICAgICAgICBpZiAoY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY2FjaGVQb2xpY3kodHlwZSgpLCB1cmwoKSkgPT0gQ2FjaGVQb2xpY3k6OlJldmFsaWRhdGUp
CiAgICAgICAgICAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDYWNoZUNvbnRyb2wsIEhUVFBIZWFkZXJWYWx1ZXM6Om1heEFnZTAoKSk7
CiAgICAgICAgICAgICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAg
ICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpJ
Zk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CkBAIC04NDQsMTMgKzg0NSwxMyBAQCBib29s
IENhY2hlZFJlc291cmNlOjpjYW5Vc2VDYWNoZVZhbGlkYXRvcigpIGNvbnN0CiBDYWNoZWRSZXNv
dXJjZTo6UmV2YWxpZGF0aW9uRGVjaXNpb24gQ2FjaGVkUmVzb3VyY2U6Om1ha2VSZXZhbGlkYXRp
b25EZWNpc2lvbihDYWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY29uc3QKIHsgICAgCiAgICAgc3dp
dGNoIChjYWNoZVBvbGljeSkgewotICAgIGNhc2UgQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyOgor
ICAgIGNhc2UgQ2FjaGVQb2xpY3k6Okhpc3RvcnlCdWZmZXI6CiAgICAgICAgIHJldHVybiBSZXZh
bGlkYXRpb25EZWNpc2lvbjo6Tm87CiAKLSAgICBjYXNlIENhY2hlUG9saWN5UmVsb2FkOgorICAg
IGNhc2UgQ2FjaGVQb2xpY3k6OlJlbG9hZDoKICAgICAgICAgcmV0dXJuIFJldmFsaWRhdGlvbkRl
Y2lzaW9uOjpZZXNEdWVUb0NhY2hlUG9saWN5OwogCi0gICAgY2FzZSBDYWNoZVBvbGljeVJldmFs
aWRhdGU6CisgICAgY2FzZSBDYWNoZVBvbGljeTo6UmV2YWxpZGF0ZToKICAgICAgICAgaWYgKG1f
cmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSAmJiBtX3Jlc3BvbnNlLnVy
bCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsKICAgICAgICAgICAgIGlmIChpc0V4cGlyZWQoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gUmV2YWxpZGF0aW9uRGVjaXNpb246Olllc0R1ZVRvRXhw
aXJlZDsKQEAgLTg1OCw3ICs4NTksNyBAQCBDYWNoZWRSZXNvdXJjZTo6UmV2YWxpZGF0aW9uRGVj
aXNpb24gQ2FjaGVkUmVzb3VyY2U6Om1ha2VSZXZhbGlkYXRpb25EZWNpc2lvbihDYQogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBSZXZhbGlkYXRpb25EZWNpc2lvbjo6WWVzRHVlVG9DYWNoZVBv
bGljeTsKIAotICAgIGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CisgICAgY2FzZSBDYWNoZVBvbGlj
eTo6VmVyaWZ5OgogICAgICAgICBpZiAobV9yZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05v
Q2FjaGUoKSkKICAgICAgICAgICAgIHJldHVybiBSZXZhbGlkYXRpb25EZWNpc2lvbjo6WWVzRHVl
VG9Ob0NhY2hlOwogICAgICAgICAvLyBGSVhNRTogQ2FjaGUtQ29udHJvbDpuby1zdG9yZSBzaG91
bGQgcHJldmVudCBzdG9yaW5nLCBub3QgcmV1c2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDcxZTg3Yjg0NmRhMDQ5Yjc1MDU4OTJmODY1NGFh
OWI4NjM4ZTZlODguLjA5MTVhOWFlYzNmNWVmZTk5ZjVkZTlhYzA3NDk5N2RkODBhMDMwZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0yMiw3
ICsyMiw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNp
bmNsdWRlICJDYWNoZVZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgpAQCAtNTQsNiArNTMsOCBAQCBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFRleHRSZXNvdXJjZURl
Y29kZXI7CiAKK2VudW0gY2xhc3MgQ2FjaGVQb2xpY3k7CisKIC8vIEEgcmVzb3VyY2UgdGhhdCBp
cyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qg
c2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBm
dW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8v
IFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBs
b2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggZDY5NDAxOGYxN2I4MDU3MDNiZDFlOWUzM2IwODkyMDU4ZTliZWY1My4uZmQxOGE3ZTAyYmVj
MjAwZWY2ZTRlZDQ1NzM1OTI3NWZlMTE5ZmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIK
IAorI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVl
dC5oIgogI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgpA
QCAtMTE5NiwxNCArMTE5NywxNCBAQCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6UmV2YWxpZGF0aW9u
UG9saWN5IENhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYQogICAgIGF1dG8g
Y2FjaGVQb2xpY3kgPSB0aGlzLT5jYWNoZVBvbGljeSh0eXBlLCByZXF1ZXN0LnVybCgpKTsKIAog
ICAgIC8vIFZhbGlkYXRlIHRoZSByZWRpcmVjdCBjaGFpbi4KLSAgICBib29sIGNhY2hlUG9saWN5
SXNIaXN0b3J5QnVmZmVyID0gY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVy
OworICAgIGJvb2wgY2FjaGVQb2xpY3lJc0hpc3RvcnlCdWZmZXIgPSBjYWNoZVBvbGljeSA9PSBD
YWNoZVBvbGljeTo6SGlzdG9yeUJ1ZmZlcjsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3VyY2UtPnJl
ZGlyZWN0Q2hhaW5BbGxvd3NSZXVzZShjYWNoZVBvbGljeUlzSGlzdG9yeUJ1ZmZlciA/IFJldXNl
RXhwaXJlZFJlZGlyZWN0aW9uIDogRG9Ob3RSZXVzZUV4cGlyZWRSZWRpcmVjdGlvbikpIHsKICAg
ICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1p
bmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBub3QgY2FjaGVkIG9yIGV4cGly
ZWQgcmVkaXJlY3Rpb25zLiIpOwogICAgICAgICBsb2dNZW1vcnlDYWNoZVJlc291cmNlUmVxdWVz
dChmcmFtZSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmluTWVtb3J5Q2FjaGVLZXkoKSwgRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjp1bnVzZWRSZWFzb25SZWRpcmVjdENoYWluS2V5KCkpOwogICAg
ICAgICByZXR1cm4gUmVsb2FkOwogICAgIH0KIAotICAgIC8vIENhY2hlUG9saWN5SGlzdG9yeUJ1
ZmZlciB1c2VzIHRoZSBjYWNoZSBleGNlcHQgaWYgdGhpcyBpcyBhIG1haW4gcmVzb3VyY2Ugd2l0
aCAiY2FjaGUtY29udHJvbDogbm8tc3RvcmUiLgorICAgIC8vIENhY2hlUG9saWN5OjpIaXN0b3J5
QnVmZmVyIHVzZXMgdGhlIGNhY2hlIGV4Y2VwdCBpZiB0aGlzIGlzIGEgbWFpbiByZXNvdXJjZSB3
aXRoICJjYWNoZS1jb250cm9sOiBuby1zdG9yZSIuCiAgICAgaWYgKGNhY2hlUG9saWN5SXNIaXN0
b3J5QnVmZmVyKSB7CiAgICAgICAgIC8vIEZJWE1FOiBJZ25vcmluZyAiY2FjaGUtY29udHJvbDog
bm8tY2FjaGUiIGZvciBzdWItcmVzb3VyY2VzIG9uIGhpc3RvcnkgbmF2aWdhdGlvbiBidXQgbm90
IHRoZSBtYWluCiAgICAgICAgIC8vIHJlc291cmNlIGlzIGluY29uc2lzdGVudC4gV2Ugc2hvdWxk
IHByb2JhYmx5IGhhcm1vbml6ZSB0aGlzLgpAQCAtMTIzNCw4ICsxMjM1LDggQEAgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0
ZXJtaW5lUmV2YWxpZGEKICAgICBpZiAoZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+bG9hZEV2
ZW50RmluaXNoZWQoKSAmJiBtX3ZhbGlkYXRlZFVSTHMuY29udGFpbnMoZXhpc3RpbmdSZXNvdXJj
ZS0+dXJsKCkuc3RyaW5nKCkpKQogICAgICAgICByZXR1cm4gVXNlOwogCi0gICAgLy8gQ2FjaGVQ
b2xpY3lSZWxvYWQgYWx3YXlzIHJlbG9hZHMKLSAgICBpZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQ
b2xpY3lSZWxvYWQpIHsKKyAgICAvLyBDYWNoZVBvbGljeTo6UmVsb2FkIGFsd2F5cyByZWxvYWRz
CisgICAgaWYgKGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5OjpSZWxvYWQpIHsKICAgICAgICAg
TE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZh
bGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBDYWNoZVBvbGljeVJlbG9hZC4iKTsKICAg
ICAgICAgbG9nTWVtb3J5Q2FjaGVSZXNvdXJjZVJlcXVlc3QoZnJhbWUoKSwgRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzOjppbk1lbW9yeUNhY2hlS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6dW51
c2VkUmVhc29uUmVsb2FkS2V5KCkpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwpAQCAtMTM0Nywy
NyArMTM0OCwyNyBAQCBDYWNoZVBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FjaGVQb2xp
Y3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVQogewogICAgIEZyYW1lKiBmcmFt
ZSA9IHRoaXMtPmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIENhY2hl
UG9saWN5VmVyaWZ5OworICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlZlcmlmeTsKIAogICAg
IGlmICh0eXBlICE9IENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2UpCiAgICAgICAg
IHJldHVybiBmcmFtZS0+bG9hZGVyKCkuc3VicmVzb3VyY2VDYWNoZVBvbGljeSh1cmwpOwogCiAg
ICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKSB7CiAgICAgICAgIGlmIChwYWdlLT5p
c1Jlc291cmNlQ2FjaGluZ0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoKSkKLSAgICAgICAgICAgIHJl
dHVybiBDYWNoZVBvbGljeVJlbG9hZDsKKyAgICAgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6
UmVsb2FkOwogICAgIH0KIAogICAgIHN3aXRjaCAoZnJhbWUtPmxvYWRlcigpLmxvYWRUeXBlKCkp
IHsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46CiAgICAgY2FzZSBG
cmFtZUxvYWRUeXBlOjpSZWxvYWQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsK
KyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CiAgICAgY2FzZSBGcmFtZUxvYWRU
eXBlOjpCYWNrOgogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6Rm9yd2FyZDoKICAgICBjYXNlIEZy
YW1lTG9hZFR5cGU6OkluZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgLy8gRG8gbm90IHJldmFs
aWRhdGUgY2FjaGVkIG1haW4gcmVzb3VyY2Ugb24gYmFjay9mb3J3YXJkIG5hdmlnYXRpb24uCi0g
ICAgICAgIHJldHVybiBDYWNoZVBvbGljeUhpc3RvcnlCdWZmZXI7CisgICAgICAgIHJldHVybiBD
YWNoZVBvbGljeTo6SGlzdG9yeUJ1ZmZlcjsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4g
Q2FjaGVQb2xpY3lWZXJpZnk7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5Owog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaAppbmRleCA3MThlNWYzMGExYzEzNTY3NDhjZGNjODU4Mjg3ZDUzNzIwZmM3
YjFlLi4zNzRkMmUwMGYxZjE2M2UzN2FkYzI4NWM2ZjBlYzM5ODBlMjcxNzQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAt
MjUsNyArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlUG9saWN5Lmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgpAQCAtNjMsNiArNjIs
NyBAQCBjbGFzcyBTZXR0aW5nczsKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogdXNpbmcgUmVzb3Vy
Y2VFcnJvck9yID0gRXhwZWN0ZWQ8VCwgUmVzb3VyY2VFcnJvcj47CiAKK2VudW0gY2xhc3MgQ2Fj
aGVQb2xpY3k7CiBlbnVtIGNsYXNzIEltYWdlTG9hZGluZyA6IHVpbnQ4X3QgeyBJbW1lZGlhdGUs
IERlZmVycmVkVW50aWxWaXNpYmxlIH07CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBw
cm92aWRlcyBhIHBlci1jb250ZXh0IGludGVyZmFjZSB0byB0aGUgTWVtb3J5Q2FjaGUK
</data>
<flag name="commit-queue"
          id="433631"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416187</attachid>
            <date>2020-12-14 12:46:07 -0800</date>
            <delta_ts>2020-12-14 13:33:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219856-20201214214604.patch</filename>
            <type>text/plain</type>
            <size>14752</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNjODk1MDM5YmI4YWRm
OTgyYTY3OWU2OWYyMTYyNTYwYzI5ZGFjZC4uMzJhM2E2MDZmZWFlMjEzMDIzMzZlYTg2ODViMDk3
MzM1YjYzZDA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTEyLTE0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBDYWNoZVBvbGljeSBhbiBl
bnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTk4NTYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgIE1ha2UgQ2FjaGVQb2xpY3kgYW4gZW51bSBjbGFzcy4KKworICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VicmVzb3Vy
Y2VDYWNoZVBvbGljeSBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlUG9saWN5Lmg6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6bWFrZVJldmFsaWRhdGlvbkRlY2lzaW9uIGNvbnN0KToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FjaGVQb2xpY3kgY29uc3QpOgorICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgorCiAyMDIwLTEyLTEwICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUgcmVk
dW5kYW50IExpbmU6OmxpbmVMb2dpY2FsTGVmdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcAppbmRleCBkMzU4YjNiODdjOWU0NzQwN2VjYmMxZjczYzFhNjU1ZGEzYWQx
YWJjLi5lNGIwNDQ5YjUzZmE1ZDdkNDI0YTRmNTRmY2ViYTI1MDU2MWUzZmYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2lu
Y2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRl
ICJDU1NTdHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJD
YWNoZWRDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ29udGVudFJ1bGVMaXN0UmVzdWx0cy5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVTaGVldENvbnRlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRl
bnRzLmgKaW5kZXggMGRmZmI1OTE3M2M3OTc3Y2FjNjQyMTFkMzI2NzlhNTliNzZiYmZmZi4uZDk0
YzQ5YWUxOWJiZGNjYzdmMWE2MDlkNjYxNzc0Nzk1NmRmYzE0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuaApAQCAtMjEsNyArMjEsNiBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJDU1NQYXJzZXJDb250ZXh0LmgiCi0jaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIK
ICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00Myw2ICs0Miw4IEBAIGNsYXNzIFN0eWxlUnVs
ZUJhc2U7CiBjbGFzcyBTdHlsZVJ1bGVJbXBvcnQ7CiBjbGFzcyBTdHlsZVJ1bGVOYW1lc3BhY2U7
CiAKK2VudW0gY2xhc3MgQ2FjaGVQb2xpY3kgOiB1aW50OF90OworCiBjbGFzcyBTdHlsZVNoZWV0
Q29udGVudHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZVNoZWV0Q29udGVudHM+LCBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8U3R5bGVTaGVldENvbnRlbnRzPiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTdHlsZVNoZWV0Q29udGVudHM+IGNyZWF0ZShjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiBjb250ZXh0ID0gQ1NTUGFyc2VyQ29udGV4dChIVE1MU3RhbmRhcmRNb2RlKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQxOGY1YTc3ZmVlMjQwZWFhYTVmNGI1
NDFhOTlkN2E4NWM2NGVkYjguLmU4YTk2M2JkZjg5YTgwNDdmOWU2Zjg4ZjlhMmIwODViMGJkZmZm
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtNDAsNiArNDAsNyBA
QAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2FjaGUuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgorI2luY2x1ZGUgIkNh
Y2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCkBAIC0yNDA0LDQ1ICsyNDA1LDQ1
IEBAIENhY2hlUG9saWN5IEZyYW1lTG9hZGVyOjpzdWJyZXNvdXJjZUNhY2hlUG9saWN5KGNvbnN0
IFVSTCYgdXJsKSBjb25zdAogewogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCkp
IHsKICAgICAgICAgaWYgKHBhZ2UtPmlzUmVzb3VyY2VDYWNoaW5nRGlzYWJsZWRCeVdlYkluc3Bl
Y3RvcigpKQotICAgICAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5UmVsb2FkOworICAgICAgICAg
ICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CiAgICAgfQogCiAgICAgaWYgKG1faXNDb21w
bGV0ZSkKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5OworICAgICAgICByZXR1cm4g
Q2FjaGVQb2xpY3k6OlZlcmlmeTsKIAogICAgIGlmIChtX2xvYWRUeXBlID09IEZyYW1lTG9hZFR5
cGU6OlJlbG9hZEZyb21PcmlnaW4pCi0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsK
KyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CiAKICAgICBpZiAoRnJhbWUqIHBh
cmVudEZyYW1lID0gbV9mcmFtZS50cmVlKCkucGFyZW50KCkpIHsKICAgICAgICAgQ2FjaGVQb2xp
Y3kgcGFyZW50Q2FjaGVQb2xpY3kgPSBwYXJlbnRGcmFtZS0+bG9hZGVyKCkuc3VicmVzb3VyY2VD
YWNoZVBvbGljeSh1cmwpOwotICAgICAgICBpZiAocGFyZW50Q2FjaGVQb2xpY3kgIT0gQ2FjaGVQ
b2xpY3lWZXJpZnkpCisgICAgICAgIGlmIChwYXJlbnRDYWNoZVBvbGljeSAhPSBDYWNoZVBvbGlj
eTo6VmVyaWZ5KQogICAgICAgICAgICAgcmV0dXJuIHBhcmVudENhY2hlUG9saWN5OwogICAgIH0K
ICAgICAKICAgICBzd2l0Y2ggKG1fbG9hZFR5cGUpIHsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6
OlJlbG9hZDoKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5UmV2YWxpZGF0ZTsKKyAgICAgICAg
cmV0dXJuIENhY2hlUG9saWN5OjpSZXZhbGlkYXRlOwogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6
QmFjazoKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OkZvcndhcmQ6CiAgICAgY2FzZSBGcmFtZUxv
YWRUeXBlOjpJbmRleGVkQmFja0ZvcndhcmQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeUhp
c3RvcnlCdWZmZXI7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6SGlzdG9yeUJ1ZmZlcjsK
ICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyAvLyBBbHJlYWR5IGhhbmRsZWQgYWJvdmUuCi0gICAgICAgIHJldHVy
biBDYWNoZVBvbGljeVJlbG9hZDsKKyAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7
CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpSZWRpcmVjdFdpdGhMb2NrZWRCYWNrRm9yd2FyZExp
c3Q6CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpSZXBsYWNlOgogICAgIGNhc2UgRnJhbWVMb2Fk
VHlwZTo6U2FtZToKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkOgotICAgICAgICBy
ZXR1cm4gQ2FjaGVQb2xpY3lWZXJpZnk7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVy
aWZ5OwogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6UmVsb2FkRXhwaXJlZE9ubHk6CiAgICAgICAg
IC8vIFdlIGtub3cgYWJvdXQgZXhwaXJhdGlvbiBmb3IgSFRUUCBhbmQgZGF0YS4gRG8gYSBub3Jt
YWwgcmVsb2FkIG90aGVyd2lzZS4KICAgICAgICAgaWYgKCF1cmwucHJvdG9jb2xJc0luSFRUUEZh
bWlseSgpICYmICF1cmwucHJvdG9jb2xJc0RhdGEoKSkKLSAgICAgICAgICAgIHJldHVybiBDYWNo
ZVBvbGljeVJlbG9hZDsKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5OworICAgICAg
ICAgICAgcmV0dXJuIENhY2hlUG9saWN5OjpSZWxvYWQ7CisgICAgICAgIHJldHVybiBDYWNoZVBv
bGljeTo6VmVyaWZ5OwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5OworICAgIHJldHVybiBDYWNoZVBvbGljeTo6
VmVyaWZ5OwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25h
bExvYWQoRG9jdW1lbnRMb2FkZXImIHByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCBj
MmY2MzlhY2VmOGVjMzQzNjk1NTVhOTMxN2VkNjkyODI0MmU3YmI2Li45YmVhNmI1ZmE0Nzg4OThj
NWI3ZGFlM2VmZGVkMzg0NDJkMTljYzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlUG9s
aWN5LmgiCiAjaW5jbHVkZSAiRnJhbWVJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2Fk
ZXJTdGF0ZU1hY2hpbmUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCkBAIC01OCw3
ICs1Nyw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFyY2hpdmU7Ci1jbGFzcyBD
YWNoZWRGcmFtZTsKIGNsYXNzIENhY2hlZEZyYW1lQmFzZTsKIGNsYXNzIENhY2hlZFBhZ2U7CiBj
bGFzcyBDYWNoZWRSZXNvdXJjZTsKQEAgLTc2LDcgKzc0LDYgQEAgY2xhc3MgSGlzdG9yeUl0ZW07
CiBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogY2xhc3MgTmV0d29ya2luZ0NvbnRleHQ7CiBjbGFz
cyBOb2RlOwotY2xhc3MgUGFnZTsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAtODQsNiArODEsNyBAQCBjbGFz
cyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBTdWJz
dGl0dXRlRGF0YTsKIAorZW51bSBjbGFzcyBDYWNoZVBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNs
YXNzIE5ld0xvYWRJblByb2dyZXNzIDogYm9vbDsKIGVudW0gY2xhc3MgTmF2aWdhdGlvblBvbGlj
eURlY2lzaW9uIDogdWludDhfdDsKIGVudW0gY2xhc3MgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdM
b2FkIDogYm9vbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlUG9saWN5LmgKaW5k
ZXggYjhhMTAxM2MzYWRhZWYwNzAyMDdmMzliODZiNTNmOWNiZTFlYTAyZC4uYmVlMjA1N2E5MjI1
ZWNmOTZlYTliZTk4MTM2ZjJlMWM5NmRjMjZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlUG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlUG9saWN5LmgKQEAgLTI3LDExICsyNywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWVudW0gQ2FjaGVQb2xpY3kgewotICAgIENhY2hlUG9saWN5VmVyaWZ5LAotICAgIENh
Y2hlUG9saWN5UmV2YWxpZGF0ZSwKLSAgICBDYWNoZVBvbGljeVJlbG9hZCwKLSAgICBDYWNoZVBv
bGljeUhpc3RvcnlCdWZmZXIKK2VudW0gY2xhc3MgQ2FjaGVQb2xpY3kgOiB1aW50OF90IHsKKyAg
ICBWZXJpZnksCisgICAgUmV2YWxpZGF0ZSwKKyAgICBSZWxvYWQsCisgICAgSGlzdG9yeUJ1ZmZl
cgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNzY1ZWI2NTU4NzY0ODNhN2M3NTI1ZWRk
N2IxN2QyZTRhOWU3ODIyMS4uMzFiZTUxMGUyMmNkYWYwOTMzOWU4OTU3MWViNDUwYzYxMmY3ZTU1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2UuaCIKIAorI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlci5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCkBAIC0yNjUsOCArMjY2LDggQEAg
dm9pZCBDYWNoZWRSZXNvdXJjZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciYgY2FjaGVkUmVz
b3VyY2VMb2FkZXIpCiAgICAgICAgIGNvbnN0IFN0cmluZyYgbGFzdE1vZGlmaWVkID0gcmVzb3Vy
Y2VUb1JldmFsaWRhdGUtPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpMYXN0TW9kaWZpZWQpOwogICAgICAgICBjb25zdCBTdHJpbmcmIGVUYWcgPSByZXNvdXJjZVRv
UmV2YWxpZGF0ZS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkVU
YWcpOwogICAgICAgICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkgfHwgIWVUYWcuaXNFbXB0
eSgpKSB7Ci0gICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVzb3VyY2VMb2FkZXIuY2FjaGVQb2xp
Y3kodHlwZSgpLCB1cmwoKSkgIT0gQ2FjaGVQb2xpY3lSZWxvYWQpOwotICAgICAgICAgICAgaWYg
KGNhY2hlZFJlc291cmNlTG9hZGVyLmNhY2hlUG9saWN5KHR5cGUoKSwgdXJsKCkpID09IENhY2hl
UG9saWN5UmV2YWxpZGF0ZSkKKyAgICAgICAgICAgIEFTU0VSVChjYWNoZWRSZXNvdXJjZUxvYWRl
ci5jYWNoZVBvbGljeSh0eXBlKCksIHVybCgpKSAhPSBDYWNoZVBvbGljeTo6UmVsb2FkKTsKKyAg
ICAgICAgICAgIGlmIChjYWNoZWRSZXNvdXJjZUxvYWRlci5jYWNoZVBvbGljeSh0eXBlKCksIHVy
bCgpKSA9PSBDYWNoZVBvbGljeTo6UmV2YWxpZGF0ZSkKICAgICAgICAgICAgICAgICBtX3Jlc291
cmNlUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNhY2hlQ29udHJv
bCwgSFRUUEhlYWRlclZhbHVlczo6bWF4QWdlMCgpKTsKICAgICAgICAgICAgIGlmICghbGFzdE1v
ZGlmaWVkLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBtX3Jlc291cmNlUmVxdWVzdC5zZXRI
VFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwgbGFzdE1vZGlm
aWVkKTsKQEAgLTg0NCwxMyArODQ1LDEzIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmNhblVzZUNh
Y2hlVmFsaWRhdG9yKCkgY29uc3QKIENhY2hlZFJlc291cmNlOjpSZXZhbGlkYXRpb25EZWNpc2lv
biBDYWNoZWRSZXNvdXJjZTo6bWFrZVJldmFsaWRhdGlvbkRlY2lzaW9uKENhY2hlUG9saWN5IGNh
Y2hlUG9saWN5KSBjb25zdAogeyAgICAKICAgICBzd2l0Y2ggKGNhY2hlUG9saWN5KSB7Ci0gICAg
Y2FzZSBDYWNoZVBvbGljeUhpc3RvcnlCdWZmZXI6CisgICAgY2FzZSBDYWNoZVBvbGljeTo6SGlz
dG9yeUJ1ZmZlcjoKICAgICAgICAgcmV0dXJuIFJldmFsaWRhdGlvbkRlY2lzaW9uOjpObzsKIAot
ICAgIGNhc2UgQ2FjaGVQb2xpY3lSZWxvYWQ6CisgICAgY2FzZSBDYWNoZVBvbGljeTo6UmVsb2Fk
OgogICAgICAgICByZXR1cm4gUmV2YWxpZGF0aW9uRGVjaXNpb246Olllc0R1ZVRvQ2FjaGVQb2xp
Y3k7CiAKLSAgICBjYXNlIENhY2hlUG9saWN5UmV2YWxpZGF0ZToKKyAgICBjYXNlIENhY2hlUG9s
aWN5OjpSZXZhbGlkYXRlOgogICAgICAgICBpZiAobV9yZXNwb25zZS5jYWNoZUNvbnRyb2xDb250
YWluc0ltbXV0YWJsZSgpICYmIG1fcmVzcG9uc2UudXJsKCkucHJvdG9jb2xJcygiaHR0cHMiKSkg
ewogICAgICAgICAgICAgaWYgKGlzRXhwaXJlZCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBS
ZXZhbGlkYXRpb25EZWNpc2lvbjo6WWVzRHVlVG9FeHBpcmVkOwpAQCAtODU4LDcgKzg1OSw3IEBA
IENhY2hlZFJlc291cmNlOjpSZXZhbGlkYXRpb25EZWNpc2lvbiBDYWNoZWRSZXNvdXJjZTo6bWFr
ZVJldmFsaWRhdGlvbkRlY2lzaW9uKENhCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIFJldmFs
aWRhdGlvbkRlY2lzaW9uOjpZZXNEdWVUb0NhY2hlUG9saWN5OwogCi0gICAgY2FzZSBDYWNoZVBv
bGljeVZlcmlmeToKKyAgICBjYXNlIENhY2hlUG9saWN5OjpWZXJpZnk6CiAgICAgICAgIGlmICht
X3Jlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQogICAgICAgICAgICAgcmV0
dXJuIFJldmFsaWRhdGlvbkRlY2lzaW9uOjpZZXNEdWVUb05vQ2FjaGU7CiAgICAgICAgIC8vIEZJ
WE1FOiBDYWNoZS1Db250cm9sOm5vLXN0b3JlIHNob3VsZCBwcmV2ZW50IHN0b3JpbmcsIG5vdCBy
ZXVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5k
ZXggNzFlODdiODQ2ZGEwNDliNzUwNTg5MmY4NjU0YWE5Yjg2MzhlNmU4OC4uY2VlMGVkMDQ2MzVj
OTUyOGQ0YzczYTFmNjEwZThmMWNjNTJiMmZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpbmNsdWRlICJDYWNoZVBvbGljeS5oIgogI2luY2x1ZGUgIkNhY2hlVmFsaWRhdGlvbi5o
IgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9y
LmgiCkBAIC01NCw2ICs1Myw4IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN1YnJlc291
cmNlTG9hZGVyOwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIAorZW51bSBjbGFzcyBDYWNo
ZVBvbGljeSA6IHVpbnQ4X3Q7CisKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBoZWxkIGluIHRoZSBj
YWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hvdWxkIGRlcml2ZQog
Ly8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5jdGlvbiBjYWxscyBp
biBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRoaXMgY2xhc3MgYWxz
byBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2FkZXIgdG8gb2J0YWlu
IHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDY5NDAxOGYxN2I4
MDU3MDNiZDFlOWUzM2IwODkyMDU4ZTliZWY1My4uZmQxOGE3ZTAyYmVjMjAwZWY2ZTRlZDQ1NzM1
OTI3NWZlMTE5ZmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKIAorI2luY2x1ZGUgIkNh
Y2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUg
IkNhY2hlZEZvbnQuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgpAQCAtMTE5NiwxNCArMTE5
NywxNCBAQCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5IENhY2hlZFJl
c291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYQogICAgIGF1dG8gY2FjaGVQb2xpY3kgPSB0
aGlzLT5jYWNoZVBvbGljeSh0eXBlLCByZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIFZhbGlkYXRl
IHRoZSByZWRpcmVjdCBjaGFpbi4KLSAgICBib29sIGNhY2hlUG9saWN5SXNIaXN0b3J5QnVmZmVy
ID0gY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyOworICAgIGJvb2wgY2Fj
aGVQb2xpY3lJc0hpc3RvcnlCdWZmZXIgPSBjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeTo6SGlz
dG9yeUJ1ZmZlcjsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3VyY2UtPnJlZGlyZWN0Q2hhaW5BbGxv
d3NSZXVzZShjYWNoZVBvbGljeUlzSGlzdG9yeUJ1ZmZlciA/IFJldXNlRXhwaXJlZFJlZGlyZWN0
aW9uIDogRG9Ob3RSZXVzZUV4cGlyZWRSZWRpcmVjdGlvbikpIHsKICAgICAgICAgTE9HKFJlc291
cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Q
b2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBub3QgY2FjaGVkIG9yIGV4cGlyZWQgcmVkaXJlY3Rpb25z
LiIpOwogICAgICAgICBsb2dNZW1vcnlDYWNoZVJlc291cmNlUmVxdWVzdChmcmFtZSgpLCBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OmluTWVtb3J5Q2FjaGVLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjp1bnVzZWRSZWFzb25SZWRpcmVjdENoYWluS2V5KCkpOwogICAgICAgICByZXR1cm4gUmVs
b2FkOwogICAgIH0KIAotICAgIC8vIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlciB1c2VzIHRoZSBj
YWNoZSBleGNlcHQgaWYgdGhpcyBpcyBhIG1haW4gcmVzb3VyY2Ugd2l0aCAiY2FjaGUtY29udHJv
bDogbm8tc3RvcmUiLgorICAgIC8vIENhY2hlUG9saWN5OjpIaXN0b3J5QnVmZmVyIHVzZXMgdGhl
IGNhY2hlIGV4Y2VwdCBpZiB0aGlzIGlzIGEgbWFpbiByZXNvdXJjZSB3aXRoICJjYWNoZS1jb250
cm9sOiBuby1zdG9yZSIuCiAgICAgaWYgKGNhY2hlUG9saWN5SXNIaXN0b3J5QnVmZmVyKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBJZ25vcmluZyAiY2FjaGUtY29udHJvbDogbm8tY2FjaGUiIGZvciBz
dWItcmVzb3VyY2VzIG9uIGhpc3RvcnkgbmF2aWdhdGlvbiBidXQgbm90IHRoZSBtYWluCiAgICAg
ICAgIC8vIHJlc291cmNlIGlzIGluY29uc2lzdGVudC4gV2Ugc2hvdWxkIHByb2JhYmx5IGhhcm1v
bml6ZSB0aGlzLgpAQCAtMTIzNCw4ICsxMjM1LDggQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJl
dmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGEK
ICAgICBpZiAoZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+bG9hZEV2ZW50RmluaXNoZWQoKSAm
JiBtX3ZhbGlkYXRlZFVSTHMuY29udGFpbnMoZXhpc3RpbmdSZXNvdXJjZS0+dXJsKCkuc3RyaW5n
KCkpKQogICAgICAgICByZXR1cm4gVXNlOwogCi0gICAgLy8gQ2FjaGVQb2xpY3lSZWxvYWQgYWx3
YXlzIHJlbG9hZHMKLSAgICBpZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZWxvYWQpIHsK
KyAgICAvLyBDYWNoZVBvbGljeTo6UmVsb2FkIGFsd2F5cyByZWxvYWRzCisgICAgaWYgKGNhY2hl
UG9saWN5ID09IENhY2hlUG9saWN5OjpSZWxvYWQpIHsKICAgICAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kg
cmVsb2FkaW5nIGR1ZSB0byBDYWNoZVBvbGljeVJlbG9hZC4iKTsKICAgICAgICAgbG9nTWVtb3J5
Q2FjaGVSZXNvdXJjZVJlcXVlc3QoZnJhbWUoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjppbk1l
bW9yeUNhY2hlS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6dW51c2VkUmVhc29uUmVsb2Fk
S2V5KCkpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwpAQCAtMTM0NywyNyArMTM0OCwyNyBAQCBD
YWNoZVBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FjaGVQb2xpY3koQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSwgY29uc3QgVQogewogICAgIEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1l
KCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIENhY2hlUG9saWN5VmVyaWZ5Owor
ICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3k6OlZlcmlmeTsKIAogICAgIGlmICh0eXBlICE9IENh
Y2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2UpCiAgICAgICAgIHJldHVybiBmcmFtZS0+
bG9hZGVyKCkuc3VicmVzb3VyY2VDYWNoZVBvbGljeSh1cmwpOwogCiAgICAgaWYgKFBhZ2UqIHBh
Z2UgPSBmcmFtZS0+cGFnZSgpKSB7CiAgICAgICAgIGlmIChwYWdlLT5pc1Jlc291cmNlQ2FjaGlu
Z0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoKSkKLSAgICAgICAgICAgIHJldHVybiBDYWNoZVBvbGlj
eVJlbG9hZDsKKyAgICAgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6UmVsb2FkOwogICAgIH0K
IAogICAgIHN3aXRjaCAoZnJhbWUtPmxvYWRlcigpLmxvYWRUeXBlKCkpIHsKICAgICBjYXNlIEZy
YW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpS
ZWxvYWQ6Ci0gICAgICAgIHJldHVybiBDYWNoZVBvbGljeVJlbG9hZDsKKyAgICAgICAgcmV0dXJu
IENhY2hlUG9saWN5OjpSZWxvYWQ7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpCYWNrOgogICAg
IGNhc2UgRnJhbWVMb2FkVHlwZTo6Rm9yd2FyZDoKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6Oklu
ZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgLy8gRG8gbm90IHJldmFsaWRhdGUgY2FjaGVkIG1h
aW4gcmVzb3VyY2Ugb24gYmFjay9mb3J3YXJkIG5hdmlnYXRpb24uCi0gICAgICAgIHJldHVybiBD
YWNoZVBvbGljeUhpc3RvcnlCdWZmZXI7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6SGlz
dG9yeUJ1ZmZlcjsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gQ2FjaGVQb2xpY3lWZXJp
Znk7CisgICAgICAgIHJldHVybiBDYWNoZVBvbGljeTo6VmVyaWZ5OwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApp
bmRleCA3MThlNWYzMGExYzEzNTY3NDhjZGNjODU4Mjg3ZDUzNzIwZmM3YjFlLi4yZDdmZGMxZTJm
ZWI4MTY4NmI0MTEwZjc1ZDA5NmJhMzYxYmQyNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMjUsNyArMjUsNiBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgpAQCAtNjMsNiArNjIsNyBAQCBjbGFzcyBTZXR0
aW5nczsKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogdXNpbmcgUmVzb3VyY2VFcnJvck9yID0gRXhw
ZWN0ZWQ8VCwgUmVzb3VyY2VFcnJvcj47CiAKK2VudW0gY2xhc3MgQ2FjaGVQb2xpY3kgOiB1aW50
OF90OwogZW51bSBjbGFzcyBJbWFnZUxvYWRpbmcgOiB1aW50OF90IHsgSW1tZWRpYXRlLCBEZWZl
cnJlZFVudGlsVmlzaWJsZSB9OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgcHJvdmlk
ZXMgYSBwZXItY29udGV4dCBpbnRlcmZhY2UgdG8gdGhlIE1lbW9yeUNhY2hlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>