<?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>208421</bug_id>
          
          <creation_ts>2020-02-29 17:38:52 -0800</creation_ts>
          <short_desc>Tighten up CSSPendingSubstitutionValue</short_desc>
          <delta_ts>2020-03-01 16:43:14 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</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>1624348</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-29 17:38:52 -0800</bug_when>
    <thetext>Tighten up CSSPendingSubstitutionValue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624349</commentid>
    <comment_count>1</comment_count>
      <attachid>392083</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-29 17:45:43 -0800</bug_when>
    <thetext>Created attachment 392083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624367</commentid>
    <comment_count>2</comment_count>
      <attachid>392091</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-29 21:32:44 -0800</bug_when>
    <thetext>Created attachment 392091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624436</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-01 16:42:32 -0800</bug_when>
    <thetext>Committed r257697: &lt;https://trac.webkit.org/changeset/257697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624438</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-01 16:43:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/59934103&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392083</attachid>
            <date>2020-02-29 17:45:43 -0800</date>
            <delta_ts>2020-02-29 21:32:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208421-20200229174540.patch</filename>
            <type>text/plain</type>
            <size>16077</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ5MmFlNzliOGZkMDU2
NWZlYzg4MzFiY2YzZGEzYTNkOGM4ZDkyMC4uM2YyNzIyZWQ5NGRkYmI5YzAxYzQ4NjUzMzI3NjRh
NWI0YzY3NGNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTAyLTI5ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBUaWdodGVuIHVwIENTU1BlbmRp
bmdTdWJzdGl0dXRpb25WYWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDogUmVtb3ZlZCBDU1NQZW5kaW5nU3Vic3RpdHV0aW9u
VmFsdWUuY3BwLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
RGl0dG8uCisgICAgICAgICogY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHA6IFJl
bW92ZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU6OnNob3J0aGFuZFZh
bHVlIGNvbnN0KTogUmV0dXJuIGEgcmVmZXJlbmNlCisgICAgICAgIGluc3RlYWQgb2YgYSBwb2lu
dGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOjplcXVh
bHMgY29uc3QpOiBVcGRhdGVkIHNpbmNlIG1fc2hvcnRoYW5kVmFsdWUKKyAgICAgICAgaXMgbm93
IGEgUmVmIGluc3RlYWQgb2YgUmVmUHRyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGVuZGluZ1N1
YnN0aXR1dGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KTogTWFkZSB0aGlzIGEgc3RhdGljIG1lbWJl
cgorICAgICAgICBmdW5jdGlvbiB0aGF0IGFsd2F5cyByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4K
KworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KTogVXNlIGF1dG8sIHNjb3Bl
ZCB2YXJpYWJsZXMKKyAgICAgICAgc28gdGhleSBkb24ndCBsaXZlIHVudGlsIHRoZSBlbmQgb2Yg
dGhlIGZ1bmN0aW9uLiBTaW1wbGlmaWVkIHRoZSBjb2RlIGFuZCB0aGUKKyAgICAgICAgY29tbWVu
dHMgd2hpbGUgcmV0YWluaW5nIGFzIG11aGMgY2xhcml0eSBhcyBwb3NzaWJsZS4KKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6YXNUZXh0IGNvbnN0KTogVXNlIGlzPD4gdG8gbWFr
ZSB0aGUgY29kZSBzaW1wbGVyLgorICAgICAgICBBbHNvIHVwZGF0ZWQgdG8gdXNlIHJlZmVyZW5j
ZSBpbnN0ZWFkIG9mIHBvaW50ZXIgZnJvbSBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuCisK
KyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKTogVXNlIGlzPD4gYW5k
IGZld2VyIGxvY2Fscy4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWVTdGFy
dCk6IFJlbW92ZWQgYSBsb2NhbCBhbmQgbWFkZSB0aGlzIHVzZQorICAgICAgICBtb3JlIFJlZiBh
bmQgbGVzcyBSZWZQdHIuCisKIDIwMjAtMDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtCRkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNh
bFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFuZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCBmOTcxOWE1NTUwMzkyYmZmNDY2M2Q0MGE1MjdhODAyNTIwNzM4NTE4Li5h
NzIxZmJiMWFkOGE1YWE2YmRhMDliNjNiM2EyYTlkOTk3YzkxMTJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtNzIxLDcgKzcyMSw2IEBAIGNzcy9DU1NOYW1lZEltYWdlVmFsdWUuY3BwCiBjc3MvQ1NTTmFt
ZXNwYWNlUnVsZS5jcHAKIGNzcy9DU1NQYWdlUnVsZS5jcHAKIGNzcy9DU1NQYWludEltYWdlVmFs
dWUuY3BwCi1jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmNwcAogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAogY3NzL0NTU1Byb3BlcnR5LmNwcAogY3NzL0NTU1Byb3BlcnR5U291cmNl
RGF0YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2NGFlMTU1ZmQ5OWE0ZmExNGZjOWZlYWVjZmYwZWM2NjE2ODc2ZTQ0Li41
OGJkZTQ2YzQ5OWY3NGU1MWU0MjU0MTBjMGFjMzE5YjBmNzNjN2NkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg2MSw3ICsx
MDg2MSw2IEBACiAJCTkzRkRBRkM5MEIxMTMwNzQwMEUyNzQ2RiAvKiBFZGl0b3JJbnNlcnRBY3Rp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRvckluc2VydEFjdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDE4Mjc4ODFEOEIyNDIyMDA0OTI3
NjQgLyogU3R5bGVDb2xvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUNvbG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQxODI3ODkx
RDhCMjQyMjAwNDkyNzY0IC8qIFN0eWxlQ29sb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3R5bGVDb2xvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NDE4
Mjc4QzFEOENBRTk1MDA0OTI3NjQgLyogQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1BlbmRpbmdTdWJzdGl0dXRp
b25WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0MTgyNzhEMUQ4Q0FF
OTUwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0NDRDQkNGMUQ4NjBDNzQwMDczQTA3NCAvKiBTaXpl
c0NhbGNQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU2l6ZXNDYWxj
UGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvU2l6ZXNDYWxjUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk0NDRDQkQwMUQ4NjBDNzQwMDczQTA3NCAvKiBTaXplc0NhbGNQYXJz
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU2l6ZXNDYWxjUGFy
c2VyLmNwcDsgcGF0aCA9IHBhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjc0NzgsNyArMjc0NzcsNiBAQAogCQkJCTRCNkU4NzY4MjE3NkQ2
OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAqLywKIAkJCQk0QkFGRDBDQTIxOTBF
QkQ2MDBDMEFCNjQgLyogQ1NTUGFpbnRTaXplLmggKi8sCiAJCQkJNEJBRkQwQ0QyMTkwRUJFOTAw
QzBBQjY0IC8qIENTU1BhaW50U2l6ZS5pZGwgKi8sCi0JCQkJOTQxODI3OEMxRDhDQUU5NTAwNDky
NzY0IC8qIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAgKi8sCiAJCQkJOTQxODI3OEQx
RDhDQUU5NTAwNDkyNzY0IC8qIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oICovLAogCQkJ
CUE4MEU2Q0RCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQcmltaXRpdmVWYWx1ZS5jcHAgKi8sCiAJ
CQkJQTgwRTZDQkMwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ByaW1pdGl2ZVZhbHVlLmggKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDlhMDc3Y2Y5YTc3NDM2YzZjZmVlYzA4
ODQyMDRlNzhkYzc1ZTgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENo
cm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8g
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLS8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJpYnV0aW9uLgotLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ1NT
UGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotU3Ry
aW5nIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuICIiOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgKaW5kZXggYmU4NDVh
YmUxNTJkYTkzMTY3MzYxYmI1MGYxOWYwMjk3NTc1YTViZi4uZDJkNGE3MWQ4N2RjZmEzNWM3MTdl
OGRiMjFhM2E1NGJmNjczOTFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bl
bmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5k
aW5nU3Vic3RpdHV0aW9uVmFsdWUuaApAQCAtNDIsMTggKzQyLDExIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKHNob3J0
aGFuZFByb3BlcnR5SWQsIFdURk1vdmUoc2hvcnRoYW5kVmFsdWUpKSk7CiAgICAgfQogCi0gICAg
Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSogc2hvcnRoYW5kVmFsdWUoKSBjb25zdAotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1fc2hvcnRoYW5kVmFsdWUuZ2V0KCk7Ci0gICAgfQotCi0gICAgQ1NT
UHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBtX3Nob3J0aGFuZFByb3BlcnR5SWQ7Ci0gICAgfQorICAgIENTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUmIHNob3J0aGFuZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zaG9ydGhhbmRWYWx1
ZTsgfQorICAgIENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJZCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvcnRoYW5kUHJvcGVydHlJZDsgfQogCi0gICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
UGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9zaG9ydGhh
bmRWYWx1ZSA9PSBvdGhlci5tX3Nob3J0aGFuZFZhbHVlOyB9Ci0gICAgU3RyaW5nIGN1c3RvbUNT
U1RleHQoKSBjb25zdDsKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3Nob3J0aGFuZFZhbHVlLnB0cigpID09
IG90aGVyLm1fc2hvcnRoYW5kVmFsdWUucHRyKCk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIGN1c3Rv
bUNTU1RleHQoKSB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKIHByaXZhdGU6CiAgICAgQ1NT
UGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJ
ZCwgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYgc2hvcnRoYW5kVmFsdWUpCkBAIC02
Myw4ICs1Niw4IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAotICAgIENTU1Byb3BlcnR5SUQg
bV9zaG9ydGhhbmRQcm9wZXJ0eUlkOwotICAgIFJlZlB0cjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlPiBtX3Nob3J0aGFuZFZhbHVlOworICAgIGNvbnN0IENTU1Byb3BlcnR5SUQgbV9zaG9ydGhh
bmRQcm9wZXJ0eUlkOworICAgIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBtX3Nob3J0
aGFuZFZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCA4Nzg4ZDIwN2E1M2Y0MDZkYzA1OTczYmJiYzU5NmE1
YmQ2ZjIyNDM0Li5jZmM2NzI5ZDU1MjgwYTc3YzEyM2JlNDBjNjE1YmJjZmUxM2Q4OTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcApAQCAtMTI3LDM3ICsxMjcsMzAgQEAg
TXV0YWJsZVN0eWxlUHJvcGVydGllczo6TXV0YWJsZVN0eWxlUHJvcGVydGllcyhjb25zdCBTdHls
ZVByb3BlcnRpZXMmIG90aGVyKQogCiBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0
eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QKIHsKLSAgICBSZWZQdHI8Q1NT
VmFsdWU+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICBpZiAo
dmFsdWUpIHsKKyAgICBpZiAoYXV0byB2YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVy
dHlJRCkpIHsKICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlGaWxsT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUZsb29kT3BhY2l0
eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU9wYWNpdHk6CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlTdG9wT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVN0cm9rZU9wYWNpdHk6
Ci0gICAgICAgICAgICAvLyBPcGFjaXR5IHZhbHVlcyBhbHdheXMgc2VyaWFsaXplcyBhcyBhIG51
bWJlci4KLSAgICAgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZS5nZXQoKSktPmlzUGVyY2VudGFnZSgpKSB7Ci0g
ICAgICAgICAgICAgICAgYXV0byBkb3VibGVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPih2YWx1ZS5nZXQoKSktPmRvdWJsZVZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IG1ha2VTdHJpbmcoZG91YmxlVmFsdWUgLyAxMDAuMCk7Ci0gICAgICAgICAgICB9CisgICAgICAg
ICAgICAvLyBPcGFjaXR5IHBlcmNlbnRhZ2UgdmFsdWUgc2VyaWFsaXplIGFzIGEgMC4wLTEuMCBm
cmFjdGlvbiwgbm8gIiUiLgorICAgICAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVl
KCkgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkuaXNQZXJjZW50YWdlKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KHZhbHVlLmdldCgpKS0+ZG91YmxlVmFsdWUoKSAvIDEwMCk7CiAgICAgICAgICAgICBG
QUxMVEhST1VHSDsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiB2YWx1ZS0+
Y3NzVGV4dCgpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgc2hvcnRoYW5kID0gc2hvcnRoYW5kRm9yUHJvcGVydHkocHJvcGVydHlJRCk7Ci0g
ICAgaWYgKHNob3J0aGFuZC5sZW5ndGgoKSkgewotICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZh
bHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHNob3J0aGFuZC5wcm9wZXJ0aWVzKClb
MF0pOwotICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLT5pc1BlbmRpbmdTdWJzdGl0dXRpb25W
YWx1ZSgpKQorICAgIHsKKyAgICAgICAgYXV0byBzaG9ydGhhbmQgPSBzaG9ydGhhbmRGb3JQcm9w
ZXJ0eShwcm9wZXJ0eUlEKTsKKyAgICAgICAgaWYgKHNob3J0aGFuZC5sZW5ndGgoKSAmJiBpczxD
U1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+KGdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChz
aG9ydGhhbmQucHJvcGVydGllcygpWzBdKSkpCiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgLy8gRklYTUU6IElmIGFsbCBsb25naGFuZHMgYXJlIHRoZSBzYW1lIGNzcy1nZW5lcmlj
IGtleXdvcmQoZS5nLiBpbml0aWFsIG9yIGluaGVyaXQpLAotICAgIC8vIHRoZW4gdGhlIHNob3J0
aGFuZCBzaG91bGQgYmUgc2VyaWFsaXplZCB0byB0aGF0IGtleXdvcmQuCi0gICAgLy8gSXQgc2Vl
bXMgdG8gYmUgbmVlZGVkIHRvIGhhbmRsZSB0aGlzIGluIGEgc2luZ2xlIGZ1bmN0aW9uIGNvbW1v
bmx5IGZvciBhbGwgdGhlIHNob3J0aGFuZHMsCi0gICAgLy8gbm90IGluIGVhY2ggb2YgdGhlIHNo
b3J0aGFuZCBzZXJpYWxpemF0aW9uIGZ1bmN0aW9uLgotICAgIC8vIFdlIGNvdWxkIGNhbGwgdGhh
dCBmdW5jdGlvbiBoZXJlLgogICAgIH0KIAorICAgIC8vIEZJWE1FOiBJZiBhbGwgbG9uZ2hhbmRz
IGFyZSBpbml0aWFsIG9yIGluaGVyaXQsIHRoZSBzaG9ydGhhbmQgc2hvdWxkIGJlIHNlcmlhbGl6
ZWQgYXMgdGhhdCBrZXl3b3JkLgorCiAgICAgLy8gU2hvcnRoYW5kIGFuZCA0LXZhbHVlcyBwcm9w
ZXJ0aWVzCiAgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFs
bDoKQEAgLTI4NiwxMiArMjc5LDEwIEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3Bl
cnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICByZXR1cm4g
Z2V0U2hvcnRoYW5kVmFsdWUocGVyc3BlY3RpdmVPcmlnaW5TaG9ydGhhbmQoKSk7CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVRyYW5zZm9ybU9yaWdpbjoKICAgICAgICAgcmV0dXJuIGdldFNob3J0aGFu
ZFZhbHVlKHRyYW5zZm9ybU9yaWdpblNob3J0aGFuZCgpKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5
TWFya2VyOiB7Ci0gICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBnZXRQcm9wZXJ0eUNT
U1ZhbHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlNYXJrZXJTdGFydCk7Ci0gICAgICAgIGlmICh2YWx1
ZSkKKyAgICBjYXNlIENTU1Byb3BlcnR5TWFya2VyOgorICAgICAgICBpZiAoYXV0byB2YWx1ZSA9
IGdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eU1hcmtlclN0YXJ0KSkKICAg
ICAgICAgICAgIHJldHVybiB2YWx1ZS0+Y3NzVGV4dCgpOwogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7Ci0gICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSYWRpdXM6CiAgICAgICAgIHJl
dHVybiBnZXQ0VmFsdWVzKGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpKTsKICNpZiBFTkFCTEUoQ1NT
X1NDUk9MTF9TTkFQKQpAQCAtMTA1MCwxMCArMTA0MSwxMCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0
aWVzOjphc1RleHQoKSBjb25zdAogICAgICAgICAgICAgICAgIHNob3J0aGFuZFByb3BlcnR5SUQg
PSBmYWxsYmFja1Byb3BlcnR5OwogICAgICAgICB9OwogICAgICAgICAKLSAgICAgICAgaWYgKHBy
b3BlcnR5LnZhbHVlKCkgJiYgcHJvcGVydHkudmFsdWUoKS0+aXNQZW5kaW5nU3Vic3RpdHV0aW9u
VmFsdWUoKSkgeworICAgICAgICBpZiAoaXM8Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlPihw
cm9wZXJ0eS52YWx1ZSgpKSkgewogICAgICAgICAgICAgYXV0byYgc3Vic3RpdHV0aW9uVmFsdWUg
PSBkb3duY2FzdDxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+KCpwcm9wZXJ0eS52YWx1ZSgp
KTsKICAgICAgICAgICAgIHNob3J0aGFuZFByb3BlcnR5SUQgPSBzdWJzdGl0dXRpb25WYWx1ZS5z
aG9ydGhhbmRQcm9wZXJ0eUlkKCk7Ci0gICAgICAgICAgICB2YWx1ZSA9IHN1YnN0aXR1dGlvblZh
bHVlLnNob3J0aGFuZFZhbHVlKCktPmNzc1RleHQoKTsKKyAgICAgICAgICAgIHZhbHVlID0gc3Vi
c3RpdHV0aW9uVmFsdWUuc2hvcnRoYW5kVmFsdWUoKS5jc3NUZXh0KCk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKICAgICAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlBbmltYXRpb25OYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwCmluZGV4IDE2NDQzMDMxYTkyMzYwY2I1MDJjNGFlOWYzYzYxOWQ5ZTIwZTFmNjkuLjE4
MTY4YTcwYThmMzM0MDRjYTBlNmQyZmU0YjQwYTFlNDY2MzViZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKQEAgLTIwOCwyOSArMjA4LDI3IEBAIFJlZlB0cjxDU1NW
YWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbHVlV2l0aFZhcmlhYmxlUmVmZXJlbmNlcyhDU1NQcm9w
ZXJ0eUlEIHByb3BJCiAgICAgYXV0byBkaXJlY3Rpb24gPSBzdHlsZS5kaXJlY3Rpb24oKTsKICAg
ICBhdXRvIHdyaXRpbmdNb2RlID0gc3R5bGUud3JpdGluZ01vZGUoKTsKIAotICAgIGlmICh2YWx1
ZS5pc1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSgpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBTaG91
bGQgaGF2ZSBhIHJlc29sdmVkU2hvcnRoYW5kcyBjYWNoZSB0byBzdG9wIHRoaXMgZnJvbSBiZWlu
ZyBkb25lCi0gICAgICAgIC8vIG92ZXIgYW5kIG92ZXIgZm9yIGVhY2ggbG9uZ2hhbmQgdmFsdWUu
Ci0gICAgICAgIGNvbnN0IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSYgcGVuZGluZ1N1YnN0
aXR1dGlvbiA9IGRvd25jYXN0PENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpOwot
ICAgICAgICBDU1NQcm9wZXJ0eUlEIHNob3J0aGFuZElEID0gcGVuZGluZ1N1YnN0aXR1dGlvbi5z
aG9ydGhhbmRQcm9wZXJ0eUlkKCk7CisgICAgaWYgKGlzPENTU1BlbmRpbmdTdWJzdGl0dXRpb25W
YWx1ZT4odmFsdWUpKSB7CisgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgaGF2ZSBhIHJlc29sdmVk
U2hvcnRoYW5kcyBjYWNoZSB0byBzdG9wIHRoaXMgZnJvbSBiZWluZyBkb25lIG92ZXIgYW5kIG92
ZXIgZm9yIGVhY2ggbG9uZ2hhbmQgdmFsdWUuCisgICAgICAgIGF1dG8mIHN1YnN0aXR1dGlvbiA9
IGRvd25jYXN0PENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpOworCisgICAgICAg
IGF1dG8gc2hvcnRoYW5kSUQgPSBzdWJzdGl0dXRpb24uc2hvcnRoYW5kUHJvcGVydHlJZCgpOwog
ICAgICAgICBpZiAoQ1NTUHJvcGVydHk6OmlzRGlyZWN0aW9uQXdhcmVQcm9wZXJ0eShzaG9ydGhh
bmRJRCkpCiAgICAgICAgICAgICBzaG9ydGhhbmRJRCA9IENTU1Byb3BlcnR5OjpyZXNvbHZlRGly
ZWN0aW9uQXdhcmVQcm9wZXJ0eShzaG9ydGhhbmRJRCwgZGlyZWN0aW9uLCB3cml0aW5nTW9kZSk7
Ci0gICAgICAgIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUqIHNob3J0aGFuZFZhbHVlID0gcGVu
ZGluZ1N1YnN0aXR1dGlvbi5zaG9ydGhhbmRWYWx1ZSgpOwogCi0gICAgICAgIGF1dG8gcmVzb2x2
ZWREYXRhID0gc2hvcnRoYW5kVmFsdWUtPnJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZXMoYnVpbGRl
clN0YXRlKTsKKyAgICAgICAgYXV0byByZXNvbHZlZERhdGEgPSBzdWJzdGl0dXRpb24uc2hvcnRo
YW5kVmFsdWUoKS5yZXNvbHZlVmFyaWFibGVSZWZlcmVuY2VzKGJ1aWxkZXJTdGF0ZSk7CiAgICAg
ICAgIGlmICghcmVzb2x2ZWREYXRhKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
ICAgIFZlY3RvcjxDU1NQYXJzZXJUb2tlbj4gcmVzb2x2ZWRUb2tlbnMgPSByZXNvbHZlZERhdGEt
PnRva2VucygpOwotICAgICAgICAKKwogICAgICAgICBQYXJzZWRQcm9wZXJ0eVZlY3RvciBwYXJz
ZWRQcm9wZXJ0aWVzOwotICAgICAgICBpZiAoIUNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVl
KHNob3J0aGFuZElELCBmYWxzZSwgcmVzb2x2ZWRUb2tlbnMsIG1fY29udGV4dCwgcGFyc2VkUHJv
cGVydGllcywgU3R5bGVSdWxlVHlwZTo6U3R5bGUpKQorICAgICAgICBpZiAoIUNTU1Byb3BlcnR5
UGFyc2VyOjpwYXJzZVZhbHVlKHNob3J0aGFuZElELCBmYWxzZSwgcmVzb2x2ZWREYXRhLT50b2tl
bnMoKSwgbV9jb250ZXh0LCBwYXJzZWRQcm9wZXJ0aWVzLCBTdHlsZVJ1bGVUeXBlOjpTdHlsZSkp
CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgCisKICAgICAgICAgZm9yIChh
dXRvJiBwcm9wZXJ0eSA6IHBhcnNlZFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgIGlmIChwcm9w
ZXJ0eS5pZCgpID09IHByb3BJRCkKICAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHkudmFs
dWUoKTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKaW5kZXggYWZmZmE0MzhkMDNjMTRmNzM4NmQwODg5MjBhNjk0YzdhYzVmODA0YS4uNmI3ZmQx
ODhjNmFhMTBmMjk3MjA5MmZjMjBkYjQ5OTliNzQ0MGViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTMyOCwxMyArMzI4LDExIEBA
IGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWVTdGFydChDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50CiAgICAgfQogCiAgICAgaWYgKENTU1ZhcmlhYmxlUGFy
c2VyOjpjb250YWluc1ZhbGlkVmFyaWFibGVSZWZlcmVuY2VzKG9yaWdpbmFsUmFuZ2UsIG1fY29u
dGV4dCkpIHsKLSAgICAgICAgUmVmUHRyPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+IHZhcmlh
YmxlID0gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKG9yaWdpbmFsUmFuZ2UpOwot
Ci0gICAgICAgIGlmIChpc1Nob3J0aGFuZCkgewotICAgICAgICAgICAgUmVmUHRyPENTU1BlbmRp
bmdTdWJzdGl0dXRpb25WYWx1ZT4gcGVuZGluZ1ZhbHVlID0gQ1NTUGVuZGluZ1N1YnN0aXR1dGlv
blZhbHVlOjpjcmVhdGUocHJvcGVydHlJRCwgdmFyaWFibGUucmVsZWFzZU5vbk51bGwoKSk7Ci0g
ICAgICAgICAgICBhZGRFeHBhbmRlZFByb3BlcnR5Rm9yVmFsdWUocHJvcGVydHlJRCwgcGVuZGlu
Z1ZhbHVlLnJlbGVhc2VOb25OdWxsKCksIGltcG9ydGFudCk7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgYWRkUHJvcGVydHkocHJvcGVydHlJRCwgQ1NTUHJvcGVydHlJbnZhbGlkLCB2YXJp
YWJsZS5yZWxlYXNlTm9uTnVsbCgpLCBpbXBvcnRhbnQpOworICAgICAgICBhdXRvIHZhcmlhYmxl
ID0gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKG9yaWdpbmFsUmFuZ2UpOworICAg
ICAgICBpZiAoaXNTaG9ydGhhbmQpCisgICAgICAgICAgICBhZGRFeHBhbmRlZFByb3BlcnR5Rm9y
VmFsdWUocHJvcGVydHlJRCwgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOjpjcmVhdGUocHJv
cGVydHlJRCwgV1RGTW92ZSh2YXJpYWJsZSkpLCBpbXBvcnRhbnQpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wZXJ0eUlELCBDU1NQcm9wZXJ0eUludmFsaWQsIFdU
Rk1vdmUodmFyaWFibGUpLCBpbXBvcnRhbnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392091</attachid>
            <date>2020-02-29 21:32:44 -0800</date>
            <delta_ts>2020-03-01 07:19:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208421-20200229213241.patch</filename>
            <type>text/plain</type>
            <size>24997</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThhODA1YmM3YzU5MmQ2
MmRkYjI2ZWVhNTE3MzdlM2IyZmVkNDJjOC4uN2FlNTAyZTU3YWI2Yzk5YjFkNjRkY2E1YTk0ODVi
ZWRjYzkxYjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTI5ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBUaWdodGVuIHVwIENTU1BlbmRp
bmdTdWJzdGl0dXRpb25WYWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDogUmVtb3ZlZCBDU1NQZW5kaW5nU3Vic3RpdHV0aW9u
VmFsdWUuY3BwLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
RGl0dG8uCisgICAgICAgICogY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHA6IFJl
bW92ZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU6OnNob3J0aGFuZFZh
bHVlIGNvbnN0KTogUmV0dXJuIGEgcmVmZXJlbmNlCisgICAgICAgIGluc3RlYWQgb2YgYSBwb2lu
dGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOjplcXVh
bHMgY29uc3QpOiBVcGRhdGVkIHNpbmNlIG1fc2hvcnRoYW5kVmFsdWUKKyAgICAgICAgaXMgbm93
IGEgUmVmIGluc3RlYWQgb2YgUmVmUHRyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGVuZGluZ1N1
YnN0aXR1dGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KTogTWFkZSB0aGlzIGEgc3RhdGljIG1lbWJl
cgorICAgICAgICBmdW5jdGlvbiB0aGF0IGFsd2F5cyByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4K
KworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KTogVXNlIGF1dG8sIHNjb3Bl
ZCB2YXJpYWJsZXMKKyAgICAgICAgc28gdGhleSBkb24ndCBsaXZlIHVudGlsIHRoZSBlbmQgb2Yg
dGhlIGZ1bmN0aW9uLiBTaW1wbGlmaWVkIHRoZSBjb2RlIGFuZCB0aGUKKyAgICAgICAgY29tbWVu
dHMgd2hpbGUgcmV0YWluaW5nIGFzIG11Y2ggY2xhcml0eSBhcyBwb3NzaWJsZS4gQWxzbyBjYWxs
IGdldFByb3BlcnR5Q1NTVmFsdWUKKyAgICAgICAgZGlyZWN0bHkgaW5zdGVhZCBvZiBjYWxsaW5n
IGdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJv
cGVydGllczo6YXNUZXh0IGNvbnN0KTogVXNlIGlzPD4gdG8gbWFrZSB0aGUgY29kZSBzaW1wbGVy
LgorICAgICAgICBBbHNvIHVwZGF0ZWQgdG8gdXNlIHJlZmVyZW5jZSBpbnN0ZWFkIG9mIHBvaW50
ZXIgZnJvbSBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuCisKKyAgICAgICAgKiBjc3MvU3R5
bGVQcm9wZXJ0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Ym9y
ZGVyU3BhY2luZ1ZhbHVlIGNvbnN0KTogQ2FsbCBnZXRQcm9wZXJ0eUNTU1ZhbHVlCisgICAgICAg
IGluc3RlYWQgb2YgZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsLgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRMYXllcmVkU2hvcnRoYW5kVmFsdWUgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Z2V0U2hvcnRoYW5kVmFsdWUg
Y29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Z2V0Q29t
bW9uVmFsdWUgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGll
czo6cGFnZUJyZWFrUHJvcGVydHlWYWx1ZSBjb25zdCk6IERpdHRvLiBBbHNvIGFkZGVkIGEKKyAg
ICAgICAgbWlzc2luZyBudWxsIGNoZWNrLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0
aWVzOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlIGNvbnN0KTogTWVyZ2VkIHdpdGggdGhlIGZ1bmN0aW9u
CisgICAgICAgIGJlbG93IHNpbmNlIGFsbCB0aGlzIGRpZCB3YXMgY2FsbCBnZXRQcm9wZXJ0eUNT
U1ZhbHVlSW50ZXJuYWwuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnRpZXM6OmdldFBy
b3BlcnR5Q1NTVmFsdWVJbnRlcm5hbCBjb25zdCk6IFJlbmFtZWQgdG8gdGFrZQorICAgICAgICBh
d2F5IHRoZSB3b3JkIGludGVybmFsIGFuZCBtZXJnZWQgd2l0aCB0aGUgZnVuY3Rpb24gYWJvdmUu
CisgICAgICAgIChXZWJDb3JlOjpJbW11dGFibGVTdHlsZVByb3BlcnRpZXM6OmZpbmRDdXN0b21Q
cm9wZXJ0eUluZGV4IGNvbnN0KTogUmVtb3ZlZAorICAgICAgICBpbmNvcnJlY3RseSBjb3BpZWQg
YW5kIHBhc3RlZCBjb21tZW50LgorICAgICAgICAoV2ViQ29yZTo6TXV0YWJsZVN0eWxlUHJvcGVy
dGllczo6ZmluZEN1c3RvbVByb3BlcnR5SW5kZXggY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUHJvcGVydGllczo6Y29weVByb3BlcnRpZXNJblNldCBjb25zdCk6IENhbGwg
Z2V0UHJvcGVydHlDU1NWYWx1ZQorICAgICAgICBpbnN0ZWFkIG9mIGdldFByb3BlcnR5Q1NTVmFs
dWVJbnRlcm5hbC4KKyAgICAgICAgKiBjc3MvU3R5bGVQcm9wZXJ0aWVzLmg6IFJlbW92ZWQgZ2V0
UHJvcGVydHlDU1NWYWx1ZUludGVybmFsLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlV2l0aFZhcmlh
YmxlUmVmZXJlbmNlcyk6IFVzZSBpczw+IGFuZCBmZXdlciBsb2NhbHMuCisKKyAgICAgICAgKiBj
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlU3RhcnQpOiBSZW1vdmVkIGEgbG9jYWwgYW5kIG1hZGUg
dGhpcyB1c2UKKyAgICAgICAgbW9yZSBSZWYgYW5kIGxlc3MgUmVmUHRyLgorCiAyMDIwLTAyLTI5
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHN0
ZDo6bG9ja19ndWFyZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBmOTcxOWE1NTUwMzkyYmZmNDY2M2Q0MGE1
MjdhODAyNTIwNzM4NTE4Li5hNzIxZmJiMWFkOGE1YWE2YmRhMDliNjNiM2EyYTlkOTk3YzkxMTJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtNzIxLDcgKzcyMSw2IEBAIGNzcy9DU1NOYW1lZEltYWdlVmFs
dWUuY3BwCiBjc3MvQ1NTTmFtZXNwYWNlUnVsZS5jcHAKIGNzcy9DU1NQYWdlUnVsZS5jcHAKIGNz
cy9DU1NQYWludEltYWdlVmFsdWUuY3BwCi1jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
LmNwcAogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAogY3NzL0NTU1Byb3BlcnR5LmNwcAogY3Nz
L0NTU1Byb3BlcnR5U291cmNlRGF0YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2NGFlMTU1ZmQ5OWE0ZmExNGZjOWZlYWVj
ZmYwZWM2NjE2ODc2ZTQ0Li41OGJkZTQ2YzQ5OWY3NGU1MWU0MjU0MTBjMGFjMzE5YjBmNzNjN2Nk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMDg2MSw3ICsxMDg2MSw2IEBACiAJCTkzRkRBRkM5MEIxMTMwNzQwMEUyNzQ2RiAv
KiBFZGl0b3JJbnNlcnRBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVkaXRvckluc2VydEFjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDE4
Mjc4ODFEOEIyNDIyMDA0OTI3NjQgLyogU3R5bGVDb2xvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUNvbG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTQxODI3ODkxRDhCMjQyMjAwNDkyNzY0IC8qIFN0eWxlQ29sb3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVDb2xvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5NDE4Mjc4QzFEOENBRTk1MDA0OTI3NjQgLyogQ1NTUGVuZGluZ1N1YnN0
aXR1dGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTk0MTgyNzhEMUQ4Q0FFOTUwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGVuZGluZ1N1YnN0aXR1
dGlvblZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0NDRDQkNGMUQ4NjBD
NzQwMDczQTA3NCAvKiBTaXplc0NhbGNQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2l6ZXNDYWxjUGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvU2l6ZXNDYWxjUGFyc2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0NDRDQkQwMUQ4NjBDNzQwMDczQTA3
NCAvKiBTaXplc0NhbGNQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gU2l6ZXNDYWxjUGFyc2VyLmNwcDsgcGF0aCA9IHBhcnNlci9TaXplc0NhbGNQYXJzZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjc0NzgsNyArMjc0NzcsNiBAQAog
CQkJCTRCNkU4NzY4MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAqLywK
IAkJCQk0QkFGRDBDQTIxOTBFQkQ2MDBDMEFCNjQgLyogQ1NTUGFpbnRTaXplLmggKi8sCiAJCQkJ
NEJBRkQwQ0QyMTkwRUJFOTAwQzBBQjY0IC8qIENTU1BhaW50U2l6ZS5pZGwgKi8sCi0JCQkJOTQx
ODI3OEMxRDhDQUU5NTAwNDkyNzY0IC8qIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAg
Ki8sCiAJCQkJOTQxODI3OEQxRDhDQUU5NTAwNDkyNzY0IC8qIENTU1BlbmRpbmdTdWJzdGl0dXRp
b25WYWx1ZS5oICovLAogCQkJCUE4MEU2Q0RCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQcmltaXRp
dmVWYWx1ZS5jcHAgKi8sCiAJCQkJQTgwRTZDQkMwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ByaW1p
dGl2ZVZhbHVlLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGlu
Z1N1YnN0aXR1dGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDlhMDc3
Y2Y5YTc3NDM2YzZjZmVlYzA4ODQyMDRlNzhkYzc1ZTgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLy8gQ29w
eXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8K
LS8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLS8vIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLS8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJp
YnV0aW9uLgotLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCi0vLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAotLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
Ci0vLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotU3RyaW5nIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICIiOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1
dGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZh
bHVlLmgKaW5kZXggYmU4NDVhYmUxNTJkYTkzMTY3MzYxYmI1MGYxOWYwMjk3NTc1YTViZi4uZDJk
NGE3MWQ4N2RjZmEzNWM3MTdlOGRiMjFhM2E1NGJmNjczOTFjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaApAQCAtNDIsMTggKzQyLDEx
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTUGVuZGluZ1N1YnN0
aXR1dGlvblZhbHVlKHNob3J0aGFuZFByb3BlcnR5SWQsIFdURk1vdmUoc2hvcnRoYW5kVmFsdWUp
KSk7CiAgICAgfQogCi0gICAgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSogc2hvcnRoYW5kVmFs
dWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc2hvcnRoYW5kVmFsdWUuZ2V0KCk7
Ci0gICAgfQotCi0gICAgQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkKCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtX3Nob3J0aGFuZFByb3BlcnR5SWQ7Ci0gICAgfQorICAg
IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmIHNob3J0aGFuZFZhbHVlKCkgY29uc3QgeyByZXR1
cm4gbV9zaG9ydGhhbmRWYWx1ZTsgfQorICAgIENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVy
dHlJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvcnRoYW5kUHJvcGVydHlJZDsgfQogCi0gICAgYm9v
bCBlcXVhbHMoY29uc3QgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlJiBvdGhlcikgY29uc3Qg
eyByZXR1cm4gbV9zaG9ydGhhbmRWYWx1ZSA9PSBvdGhlci5tX3Nob3J0aGFuZFZhbHVlOyB9Ci0g
ICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKKyAgICBib29sIGVxdWFscyhjb25zdCBD
U1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3Nob3J0
aGFuZFZhbHVlLnB0cigpID09IG90aGVyLm1fc2hvcnRoYW5kVmFsdWUucHRyKCk7IH0KKyAgICBz
dGF0aWMgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAK
IHByaXZhdGU6CiAgICAgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKENTU1Byb3BlcnR5SUQg
c2hvcnRoYW5kUHJvcGVydHlJZCwgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYgc2hv
cnRoYW5kVmFsdWUpCkBAIC02Myw4ICs1Niw4IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAot
ICAgIENTU1Byb3BlcnR5SUQgbV9zaG9ydGhhbmRQcm9wZXJ0eUlkOwotICAgIFJlZlB0cjxDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBtX3Nob3J0aGFuZFZhbHVlOworICAgIGNvbnN0IENTU1By
b3BlcnR5SUQgbV9zaG9ydGhhbmRQcm9wZXJ0eUlkOworICAgIFJlZjxDU1NWYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlPiBtX3Nob3J0aGFuZFZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCA4Nzg4ZDIwN2E1M2Y0
MDZkYzA1OTczYmJiYzU5NmE1YmQ2ZjIyNDM0Li41MDhmOThiNmZhNGIyMzQyYjg1MzE5ZGJiOTgw
YzMxNWZlMTc0NGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0
aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcApAQCAt
MTI3LDM3ICsxMjcsMzAgQEAgTXV0YWJsZVN0eWxlUHJvcGVydGllczo6TXV0YWJsZVN0eWxlUHJv
cGVydGllcyhjb25zdCBTdHlsZVByb3BlcnRpZXMmIG90aGVyKQogCiBTdHJpbmcgU3R5bGVQcm9w
ZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QK
IHsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9w
ZXJ0eUlEKTsKLSAgICBpZiAodmFsdWUpIHsKKyAgICBpZiAoYXV0byB2YWx1ZSA9IGdldFByb3Bl
cnR5Q1NTVmFsdWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGaWxsT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUZsb29kT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU9wYWNpdHk6CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdG9wT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVN0cm9rZU9wYWNpdHk6Ci0gICAgICAgICAgICAvLyBPcGFjaXR5IHZhbHVlcyBhbHdheXMg
c2VyaWFsaXplcyBhcyBhIG51bWJlci4KLSAgICAgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRp
dmVWYWx1ZSgpICYmIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZS5nZXQoKSktPmlz
UGVyY2VudGFnZSgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBkb3VibGVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZS5nZXQoKSktPmRvdWJsZVZhbHVlKCk7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoZG91YmxlVmFsdWUgLyAxMDAuMCk7Ci0gICAg
ICAgICAgICB9CisgICAgICAgICAgICAvLyBPcGFjaXR5IHBlcmNlbnRhZ2UgdmFsdWUgc2VyaWFs
aXplIGFzIGEgMC4wLTEuMCBmcmFjdGlvbiwgbm8gIiUiLgorICAgICAgICAgICAgaWYgKHZhbHVl
LT5pc1ByaW1pdGl2ZVZhbHVlKCkgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1
ZSkuaXNQZXJjZW50YWdlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlLmdldCgpKS0+ZG91YmxlVmFsdWUoKSAvIDEw
MCk7CiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIHJldHVybiB2YWx1ZS0+Y3NzVGV4dCgpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kID0gc2hvcnRoYW5kRm9yUHJvcGVy
dHkocHJvcGVydHlJRCk7Ci0gICAgaWYgKHNob3J0aGFuZC5sZW5ndGgoKSkgewotICAgICAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHNob3J0
aGFuZC5wcm9wZXJ0aWVzKClbMF0pOwotICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLT5pc1Bl
bmRpbmdTdWJzdGl0dXRpb25WYWx1ZSgpKQorICAgIHsKKyAgICAgICAgYXV0byBzaG9ydGhhbmQg
PSBzaG9ydGhhbmRGb3JQcm9wZXJ0eShwcm9wZXJ0eUlEKTsKKyAgICAgICAgaWYgKHNob3J0aGFu
ZC5sZW5ndGgoKSAmJiBpczxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+KGdldFByb3BlcnR5
Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSkpKQogICAgICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotICAgIC8vIEZJWE1FOiBJZiBhbGwgbG9uZ2hhbmRzIGFyZSB0aGUgc2FtZSBj
c3MtZ2VuZXJpYyBrZXl3b3JkKGUuZy4gaW5pdGlhbCBvciBpbmhlcml0KSwKLSAgICAvLyB0aGVu
IHRoZSBzaG9ydGhhbmQgc2hvdWxkIGJlIHNlcmlhbGl6ZWQgdG8gdGhhdCBrZXl3b3JkLgotICAg
IC8vIEl0IHNlZW1zIHRvIGJlIG5lZWRlZCB0byBoYW5kbGUgdGhpcyBpbiBhIHNpbmdsZSBmdW5j
dGlvbiBjb21tb25seSBmb3IgYWxsIHRoZSBzaG9ydGhhbmRzLAotICAgIC8vIG5vdCBpbiBlYWNo
IG9mIHRoZSBzaG9ydGhhbmQgc2VyaWFsaXphdGlvbiBmdW5jdGlvbi4KLSAgICAvLyBXZSBjb3Vs
ZCBjYWxsIHRoYXQgZnVuY3Rpb24gaGVyZS4KICAgICB9CiAKKyAgICAvLyBGSVhNRTogSWYgYWxs
IGxvbmdoYW5kcyBhcmUgaW5pdGlhbCBvciBpbmhlcml0LCB0aGUgc2hvcnRoYW5kIHNob3VsZCBi
ZSBzZXJpYWxpemVkIGFzIHRoYXQga2V5d29yZC4KKwogICAgIC8vIFNob3J0aGFuZCBhbmQgNC12
YWx1ZXMgcHJvcGVydGllcwogICAgIHN3aXRjaCAocHJvcGVydHlJRCkgewogICAgIGNhc2UgQ1NT
UHJvcGVydHlBbGw6CkBAIC0yODYsMTIgKzI3OSwxMCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QKICAgICAg
ICAgcmV0dXJuIGdldFNob3J0aGFuZFZhbHVlKHBlcnNwZWN0aXZlT3JpZ2luU2hvcnRoYW5kKCkp
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlUcmFuc2Zvcm1PcmlnaW46CiAgICAgICAgIHJldHVybiBn
ZXRTaG9ydGhhbmRWYWx1ZSh0cmFuc2Zvcm1PcmlnaW5TaG9ydGhhbmQoKSk7Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eU1hcmtlcjogewotICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gZ2V0
UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5TWFya2VyU3RhcnQpOwotICAgICAg
ICBpZiAodmFsdWUpCisgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmtlcjoKKyAgICAgICAgaWYgKGF1
dG8gdmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5TWFya2VyU3RhcnQpKQog
ICAgICAgICAgICAgcmV0dXJuIHZhbHVlLT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJhZGl1czoKICAgICAgICAg
cmV0dXJuIGdldDRWYWx1ZXMoYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCkpOwogI2lmIEVOQUJMRShD
U1NfU0NST0xMX1NOQVApCkBAIC0zMzEsOCArMzIyLDggQEAgU3RyaW5nIFN0eWxlUHJvcGVydGll
czo6Z2V0Q3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSkgY29u
c3QKIAogU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyU3BhY2luZ1ZhbHVlKGNvbnN0IFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZCkgY29uc3QKIHsKLSAgICBSZWZQdHI8Q1NT
VmFsdWU+IGhvcml6b250YWxWYWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChzaG9y
dGhhbmQucHJvcGVydGllcygpWzBdKTsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHZlcnRpY2FsVmFs
dWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVsx
XSk7CisgICAgYXV0byBob3Jpem9udGFsVmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKHNob3J0
aGFuZC5wcm9wZXJ0aWVzKClbMF0pOworICAgIGF1dG8gdmVydGljYWxWYWx1ZSA9IGdldFByb3Bl
cnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVsxXSk7CiAKICAgICAvLyBXaGlsZSBz
dGFuZGFyZCBib3JkZXItc3BhY2luZyBwcm9wZXJ0eSBkb2VzIG5vdCBhbGxvdyBzcGVjaWZ5aW5n
IGJvcmRlci1zcGFjaW5nLXZlcnRpY2FsIHdpdGhvdXQKICAgICAvLyBzcGVjaWZ5aW5nIGJvcmRl
ci1zcGFjaW5nLWhvcml6b250YWwgPGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3RhYmxlcy5o
dG1sI3NlcGFyYXRlZC1ib3JkZXJzPiwKQEAgLTUxNyw3ICs1MDgsNyBAQCBTdHJpbmcgU3R5bGVQ
cm9wZXJ0aWVzOjpnZXRMYXllcmVkU2hvcnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgcwogICAgIHNpemVfdCBudW1MYXllcnMgPSAwOwogCiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICB2YWx1ZXNbaV0gPSBnZXRQcm9wZXJ0
eUNTU1ZhbHVlSW50ZXJuYWwoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtpXSk7CisgICAgICAgIHZh
bHVlc1tpXSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtpXSk7
CiAgICAgICAgIGlmICghdmFsdWVzW2ldKSB7CiAgICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZl
IGFsbCBsb25naGFuZCBwcm9wZXJ0aWVzIGRlZmluZWQgYXMgcmVxdWlyZWQgZm9yIHRoZSBzaG9y
dGhhbmQKICAgICAgICAgICAgIC8vIHByb3BlcnR5IGFuZCB0aHVzIHNob3VsZCBub3Qgc2VyaWFs
aXplIHRvIGEgc2hvcnRoYW5kIHZhbHVlLiBTZWUgc3BlYyBhdApAQCAtNjY0LDcgKzY1NSw3IEBA
IFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFNob3J0aGFuZFZhbHVlKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIHNob3J0aGFuCiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNob3J0aGFuZC5sZW5ndGgoKTsgKytpKSB7CiAgICAg
ICAgIGlmICghaXNQcm9wZXJ0eUltcGxpY2l0KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbaV0pKSB7
Ci0gICAgICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1
ZUludGVybmFsKHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbaV0pOworICAgICAgICAgICAgYXV0byB2
YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtpXSk7CiAg
ICAgICAgICAgICBpZiAoIXZhbHVlKQogICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAgICAgICAgIFN0cmluZyB2YWx1ZVRleHQgPSB2YWx1ZS0+Y3NzVGV4dCgpOwpAQCAtNjg3
LDMwICs2NzgsMjkgQEAgU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Z2V0U2hvcnRoYW5kVmFsdWUo
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW4KICAgICByZXR1cm4gcmVzdWx0
LnRvU3RyaW5nKCk7CiB9CiAKLS8vIG9ubHkgcmV0dXJucyBhIG5vbi1udWxsIHZhbHVlIGlmIGFs
bCBwcm9wZXJ0aWVzIGhhdmUgdGhlIHNhbWUsIG5vbi1udWxsIHZhbHVlCisvLyBSZXR1cm5zIGEg
bm9uLW51bGwgdmFsdWUgaWYgYWxsIHByb3BlcnRpZXMgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KIFN0
cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldENvbW1vblZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIHNob3J0aGFuZCkgY29uc3QKIHsKLSAgICBTdHJpbmcgcmVzOworICAgIFN0cmlu
ZyByZXN1bHQ7CiAgICAgYm9vbCBsYXN0UHJvcGVydHlXYXNJbXBvcnRhbnQgPSBmYWxzZTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2hvcnRoYW5kLmxlbmd0aCgpOyArK2kpIHsKLSAg
ICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5h
bChzaG9ydGhhbmQucHJvcGVydGllcygpW2ldKTsKKyAgICAgICAgYXV0byB2YWx1ZSA9IGdldFBy
b3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtpXSk7CiAgICAgICAgIGlmICgh
dmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgICAgIC8vIEZJWE1FOiBD
U1NJbml0aWFsVmFsdWU6OmNzc1RleHQgc2hvdWxkIGdlbmVyYXRlIHRoZSByaWdodCB2YWx1ZS4K
ICAgICAgICAgU3RyaW5nIHRleHQgPSB2YWx1ZS0+Y3NzVGV4dCgpOwogICAgICAgICBpZiAodGV4
dC5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICAgICAgaWYgKHJl
cy5pc051bGwoKSkKLSAgICAgICAgICAgIHJlcyA9IHRleHQ7Ci0gICAgICAgIGVsc2UgaWYgKHJl
cyAhPSB0ZXh0KQorICAgICAgICBpZiAocmVzdWx0LmlzTnVsbCgpKQorICAgICAgICAgICAgcmVz
dWx0ID0gdGV4dDsKKyAgICAgICAgZWxzZSBpZiAocmVzdWx0ICE9IHRleHQpCiAgICAgICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7Ci0KICAgICAgICAgYm9vbCBjdXJyZW50UHJvcGVydHlJc0ltcG9y
dGFudCA9IHByb3BlcnR5SXNJbXBvcnRhbnQoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVtpXSk7CiAg
ICAgICAgIGlmIChpICYmIGxhc3RQcm9wZXJ0eVdhc0ltcG9ydGFudCAhPSBjdXJyZW50UHJvcGVy
dHlJc0ltcG9ydGFudCkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAgbGFz
dFByb3BlcnR5V2FzSW1wb3J0YW50ID0gY3VycmVudFByb3BlcnR5SXNJbXBvcnRhbnQ7CiAgICAg
fQotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogU3RyaW5nIFN0eWxl
UHJvcGVydGllczo6Z2V0QWxpZ25tZW50U2hvcnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgc2hvcnRoYW5kKSBjb25zdApAQCAtNzQ3LDcgKzczNyw5IEBAIFN0cmluZyBT
dHlsZVByb3BlcnRpZXM6OmJvcmRlclByb3BlcnR5VmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgd2lkdGgsCiAKIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OnBhZ2VCcmVha1Byb3Bl
cnR5VmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kKSBjb25zdAog
ewotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJu
YWwoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSk7CisgICAgYXV0byB2YWx1ZSA9IGdldFByb3Bl
cnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSk7CisgICAgaWYgKCF2YWx1ZSkK
KyAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBpc0ds
b2JhbEtleXdvcmQgY2hlY2sgYWZ0ZXIgd2UgZG8gdGhpcyBjb25zaXN0ZW50bHkgZm9yIGFsbCBz
aG9ydGhhbmRzIGluIGdldFByb3BlcnR5VmFsdWUuCiAgICAgaWYgKHZhbHVlLT5pc0dsb2JhbEtl
eXdvcmQoKSkKICAgICAgICAgcmV0dXJuIHZhbHVlLT5jc3NUZXh0KCk7CkBAIC03NjYsMTEgKzc1
OCw2IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OnBhZ2VCcmVha1Byb3BlcnR5VmFsdWUoY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvCiB9CiAKIFJlZlB0cjxDU1NWYWx1ZT4gU3R5
bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJ
RCkgY29uc3QKLXsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHByb3Bl
cnR5SUQpOwotfQotCi1SZWZQdHI8Q1NTVmFsdWU+IFN0eWxlUHJvcGVydGllczo6Z2V0UHJvcGVy
dHlDU1NWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QKIHsKICAg
ICBpbnQgZm91bmRQcm9wZXJ0eUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgocHJvcGVydHlJRCk7
CiAgICAgaWYgKGZvdW5kUHJvcGVydHlJbmRleCA9PSAtMSkKQEAgLTEwNTAsMTAgKzEwMzcsMTAg
QEAgU3RyaW5nIFN0eWxlUHJvcGVydGllczo6YXNUZXh0KCkgY29uc3QKICAgICAgICAgICAgICAg
ICBzaG9ydGhhbmRQcm9wZXJ0eUlEID0gZmFsbGJhY2tQcm9wZXJ0eTsKICAgICAgICAgfTsKICAg
ICAgICAgCi0gICAgICAgIGlmIChwcm9wZXJ0eS52YWx1ZSgpICYmIHByb3BlcnR5LnZhbHVlKCkt
PmlzUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKCkpIHsKKyAgICAgICAgaWYgKGlzPENTU1BlbmRp
bmdTdWJzdGl0dXRpb25WYWx1ZT4ocHJvcGVydHkudmFsdWUoKSkpIHsKICAgICAgICAgICAgIGF1
dG8mIHN1YnN0aXR1dGlvblZhbHVlID0gZG93bmNhc3Q8Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZh
bHVlPigqcHJvcGVydHkudmFsdWUoKSk7CiAgICAgICAgICAgICBzaG9ydGhhbmRQcm9wZXJ0eUlE
ID0gc3Vic3RpdHV0aW9uVmFsdWUuc2hvcnRoYW5kUHJvcGVydHlJZCgpOwotICAgICAgICAgICAg
dmFsdWUgPSBzdWJzdGl0dXRpb25WYWx1ZS5zaG9ydGhhbmRWYWx1ZSgpLT5jc3NUZXh0KCk7Cisg
ICAgICAgICAgICB2YWx1ZSA9IHN1YnN0aXR1dGlvblZhbHVlLnNob3J0aGFuZFZhbHVlKCkuY3Nz
VGV4dCgpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eUlE
KSB7CiAgICAgICAgICAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uTmFtZToKQEAgLTE0Njcs
OCArMTQ1NCw2IEBAIGludCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpmaW5kUHJvcGVydHlJbmRl
eChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpIGNvbnN0CiAKIGludCBJbW11dGFibGVTdHlsZVBy
b3BlcnRpZXM6OmZpbmRDdXN0b21Qcm9wZXJ0eUluZGV4KGNvbnN0IFN0cmluZyYgcHJvcGVydHlO
YW1lKSBjb25zdAogewotICAgIC8vIENvbnZlcnQgdGhlIHByb3BlcnR5SUQgaW50byBhbiB1aW50
MTZfdCB0byBjb21wYXJlIGl0IHdpdGggdGhlIG1ldGFkYXRhJ3MgbV9wcm9wZXJ0eUlEIHRvIGF2
b2lkCi0gICAgLy8gdGhlIGNvbXBpbGVyIGNvbnZlcnRpbmcgaXQgdG8gYW4gaW50IG11bHRpcGxl
IHRpbWVzIGluIHRoZSBsb29wLgogICAgIGZvciAoaW50IG4gPSBtX2FycmF5U2l6ZSAtIDEgOyBu
ID49IDA7IC0tbikgewogICAgICAgICBpZiAobWV0YWRhdGFBcnJheSgpW25dLm1fcHJvcGVydHlJ
RCA9PSBDU1NQcm9wZXJ0eUN1c3RvbSkgewogICAgICAgICAgICAgLy8gV2UgZm91bmQgYSBjdXN0
b20gcHJvcGVydHkuIFNlZSBpZiB0aGUgbmFtZSBtYXRjaGVzLgpAQCAtMTQ4NSw4ICsxNDcwLDYg
QEAgaW50IEltbXV0YWJsZVN0eWxlUHJvcGVydGllczo6ZmluZEN1c3RvbVByb3BlcnR5SW5kZXgo
Y29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUKIAogaW50IE11dGFibGVTdHlsZVByb3BlcnRpZXM6
OmZpbmRDdXN0b21Qcm9wZXJ0eUluZGV4KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25z
dAogewotICAgIC8vIENvbnZlcnQgdGhlIHByb3BlcnR5SUQgaW50byBhbiB1aW50MTZfdCB0byBj
b21wYXJlIGl0IHdpdGggdGhlIG1ldGFkYXRhJ3MgbV9wcm9wZXJ0eUlEIHRvIGF2b2lkCi0gICAg
Ly8gdGhlIGNvbXBpbGVyIGNvbnZlcnRpbmcgaXQgdG8gYW4gaW50IG11bHRpcGxlIHRpbWVzIGlu
IHRoZSBsb29wLgogICAgIGZvciAoaW50IG4gPSBtX3Byb3BlcnR5VmVjdG9yLnNpemUoKSAtIDEg
OyBuID49IDA7IC0tbikgewogICAgICAgICBpZiAobV9wcm9wZXJ0eVZlY3Rvci5hdChuKS5tZXRh
ZGF0YSgpLm1fcHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUN1c3RvbSkgewogICAgICAgICAgICAg
Ly8gV2UgZm91bmQgYSBjdXN0b20gcHJvcGVydHkuIFNlZSBpZiB0aGUgbmFtZSBtYXRjaGVzLgpA
QCAtMTUzNCw3ICsxNTE3LDcgQEAgUmVmPE11dGFibGVTdHlsZVByb3BlcnRpZXM+IFN0eWxlUHJv
cGVydGllczo6Y29weVByb3BlcnRpZXNJblNldChjb25zdCBDU1NQcm9wZXIKICAgICBWZWN0b3I8
Q1NTUHJvcGVydHk+IGxpc3Q7CiAgICAgbGlzdC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGxlbmd0
aCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IGlmIChhdXRvIHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHNldFtpXSkpCisg
ICAgICAgIGlmIChhdXRvIHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShzZXRbaV0pKQogICAg
ICAgICAgICAgbGlzdC51bmNoZWNrZWRBcHBlbmQoQ1NTUHJvcGVydHkoc2V0W2ldLCBXVEZNb3Zl
KHZhbHVlKSwgZmFsc2UpKTsKICAgICB9CiAgICAgcmV0dXJuIE11dGFibGVTdHlsZVByb3BlcnRp
ZXM6OmNyZWF0ZShXVEZNb3ZlKGxpc3QpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVByb3BlcnRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMu
aAppbmRleCBmMTA5N2MyNTk2YzlhZGUwZTRmNmM0NDkxZjA0YWFkMWQxNTBjOGJlLi4wMjY1YmFk
Yjk5YzY1OGViYjc1OWNhYjVlMDIzZDcwZDg0YTM3NzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UHJvcGVydGllcy5oCkBAIC00NSwxMyArNDUsMTMgQEAgY2xhc3MgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZDsKIGNsYXNzIFN0eWxlU2hlZXRDb250ZW50czsKIAogZW51bSBTdHlsZVByb3BlcnRpZXNU
eXBlIHsgSW1tdXRhYmxlUHJvcGVydGllc1R5cGUsIE11dGFibGVQcm9wZXJ0aWVzVHlwZSwgRGVm
ZXJyZWRQcm9wZXJ0aWVzVHlwZSB9OwotICAgIAorCiBjbGFzcyBTdHlsZVByb3BlcnRpZXNCYXNl
IDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVQcm9wZXJ0aWVzQmFzZT4gewogcHVibGljOgogICAg
IC8vIE92ZXJyaWRlIFJlZkNvdW50ZWQncyBkZXJlZigpIHRvIGVuc3VyZSBvcGVyYXRvciBkZWxl
dGUgaXMgY2FsbGVkIG9uCiAgICAgLy8gdGhlIGFwcHJvcHJpYXRlIHN1YmNsYXNzIHR5cGUuCiAg
ICAgdm9pZCBkZXJlZigpIGNvbnN0OwotICAgIAorCiAgICAgU3R5bGVQcm9wZXJ0aWVzVHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8U3R5bGVQcm9wZXJ0aWVzVHlwZT4obV90
eXBlKTsgfQogCiAgICAgQ1NTUGFyc2VyTW9kZSBjc3NQYXJzZXJNb2RlKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyTW9kZT4obV9jc3NQYXJzZXJNb2RlKTsgfQpAQCAtNjIs
MTMgKzYyLDEzIEBAIHByb3RlY3RlZDoKICAgICAgICAgLCBtX3R5cGUodHlwZSkKICAgICAgICAg
LCBtX2FycmF5U2l6ZSgwKQogICAgIHsgfQotICAgIAorCiAgICAgU3R5bGVQcm9wZXJ0aWVzQmFz
ZShDU1NQYXJzZXJNb2RlIGNzc1BhcnNlck1vZGUsIHVuc2lnbmVkIGltbXV0YWJsZUFycmF5U2l6
ZSkKICAgICAgICAgOiBtX2Nzc1BhcnNlck1vZGUoY3NzUGFyc2VyTW9kZSkKICAgICAgICAgLCBt
X3R5cGUoSW1tdXRhYmxlUHJvcGVydGllc1R5cGUpCiAgICAgICAgICwgbV9hcnJheVNpemUoaW1t
dXRhYmxlQXJyYXlTaXplKQogICAgIHsgfQotICAgIAorCiAgICAgdW5zaWduZWQgbV9jc3NQYXJz
ZXJNb2RlIDogMzsKICAgICBtdXRhYmxlIHVuc2lnbmVkIG1fdHlwZSA6IDI7CiAgICAgdW5zaWdu
ZWQgbV9hcnJheVNpemUgOiAyNzsKQEAgLTE3Myw5ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIFN0
cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNv
bnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25zdDsKICAgICB2b2lkIGFwcGVuZEZvbnRM
b25naGFuZFZhbHVlSWZFeHBsaWNpdChDU1NQcm9wZXJ0eUlELCBTdHJpbmdCdWlsZGVyJiByZXN1
bHQsIFN0cmluZyYgdmFsdWUpIGNvbnN0OwotICAgIAotICAgIFJlZlB0cjxDU1NWYWx1ZT4gZ2V0
UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5SUQpIGNvbnN0OwotICAgIAorCiAg
ICAgZnJpZW5kIGNsYXNzIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAxNjQ0MzAzMWE5MjM2MGNi
NTAyYzRhZTlmM2M2MTlkOWUyMGUxZjY5Li4xODE2OGE3MGE4ZjMzNDA0Y2EwZTZkMmZlNGI0MGEx
ZTQ2NjM1YmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC0y
MDgsMjkgKzIwOCwyNyBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWx1ZVdp
dGhWYXJpYWJsZVJlZmVyZW5jZXMoQ1NTUHJvcGVydHlJRCBwcm9wSQogICAgIGF1dG8gZGlyZWN0
aW9uID0gc3R5bGUuZGlyZWN0aW9uKCk7CiAgICAgYXV0byB3cml0aW5nTW9kZSA9IHN0eWxlLndy
aXRpbmdNb2RlKCk7CiAKLSAgICBpZiAodmFsdWUuaXNQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUo
KSkgewotICAgICAgICAvLyBGSVhNRTogU2hvdWxkIGhhdmUgYSByZXNvbHZlZFNob3J0aGFuZHMg
Y2FjaGUgdG8gc3RvcCB0aGlzIGZyb20gYmVpbmcgZG9uZQotICAgICAgICAvLyBvdmVyIGFuZCBv
dmVyIGZvciBlYWNoIGxvbmdoYW5kIHZhbHVlLgotICAgICAgICBjb25zdCBDU1NQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWUmIHBlbmRpbmdTdWJzdGl0dXRpb24gPSBkb3duY2FzdDxDU1NQZW5kaW5n
U3Vic3RpdHV0aW9uVmFsdWU+KHZhbHVlKTsKLSAgICAgICAgQ1NTUHJvcGVydHlJRCBzaG9ydGhh
bmRJRCA9IHBlbmRpbmdTdWJzdGl0dXRpb24uc2hvcnRoYW5kUHJvcGVydHlJZCgpOworICAgIGlm
IChpczxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+KHZhbHVlKSkgeworICAgICAgICAvLyBG
SVhNRTogU2hvdWxkIGhhdmUgYSByZXNvbHZlZFNob3J0aGFuZHMgY2FjaGUgdG8gc3RvcCB0aGlz
IGZyb20gYmVpbmcgZG9uZSBvdmVyIGFuZCBvdmVyIGZvciBlYWNoIGxvbmdoYW5kIHZhbHVlLgor
ICAgICAgICBhdXRvJiBzdWJzdGl0dXRpb24gPSBkb3duY2FzdDxDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWU+KHZhbHVlKTsKKworICAgICAgICBhdXRvIHNob3J0aGFuZElEID0gc3Vic3RpdHV0
aW9uLnNob3J0aGFuZFByb3BlcnR5SWQoKTsKICAgICAgICAgaWYgKENTU1Byb3BlcnR5Ojppc0Rp
cmVjdGlvbkF3YXJlUHJvcGVydHkoc2hvcnRoYW5kSUQpKQogICAgICAgICAgICAgc2hvcnRoYW5k
SUQgPSBDU1NQcm9wZXJ0eTo6cmVzb2x2ZURpcmVjdGlvbkF3YXJlUHJvcGVydHkoc2hvcnRoYW5k
SUQsIGRpcmVjdGlvbiwgd3JpdGluZ01vZGUpOwotICAgICAgICBDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlKiBzaG9ydGhhbmRWYWx1ZSA9IHBlbmRpbmdTdWJzdGl0dXRpb24uc2hvcnRoYW5kVmFs
dWUoKTsKIAotICAgICAgICBhdXRvIHJlc29sdmVkRGF0YSA9IHNob3J0aGFuZFZhbHVlLT5yZXNv
bHZlVmFyaWFibGVSZWZlcmVuY2VzKGJ1aWxkZXJTdGF0ZSk7CisgICAgICAgIGF1dG8gcmVzb2x2
ZWREYXRhID0gc3Vic3RpdHV0aW9uLnNob3J0aGFuZFZhbHVlKCkucmVzb2x2ZVZhcmlhYmxlUmVm
ZXJlbmNlcyhidWlsZGVyU3RhdGUpOwogICAgICAgICBpZiAoIXJlc29sdmVkRGF0YSkKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICBWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+IHJl
c29sdmVkVG9rZW5zID0gcmVzb2x2ZWREYXRhLT50b2tlbnMoKTsKLSAgICAgICAgCisKICAgICAg
ICAgUGFyc2VkUHJvcGVydHlWZWN0b3IgcGFyc2VkUHJvcGVydGllczsKLSAgICAgICAgaWYgKCFD
U1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShzaG9ydGhhbmRJRCwgZmFsc2UsIHJlc29sdmVk
VG9rZW5zLCBtX2NvbnRleHQsIHBhcnNlZFByb3BlcnRpZXMsIFN0eWxlUnVsZVR5cGU6OlN0eWxl
KSkKKyAgICAgICAgaWYgKCFDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShzaG9ydGhhbmRJ
RCwgZmFsc2UsIHJlc29sdmVkRGF0YS0+dG9rZW5zKCksIG1fY29udGV4dCwgcGFyc2VkUHJvcGVy
dGllcywgU3R5bGVSdWxlVHlwZTo6U3R5bGUpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgICAgIAorCiAgICAgICAgIGZvciAoYXV0byYgcHJvcGVydHkgOiBwYXJzZWRQcm9wZXJ0
aWVzKSB7CiAgICAgICAgICAgICBpZiAocHJvcGVydHkuaWQoKSA9PSBwcm9wSUQpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHByb3BlcnR5LnZhbHVlKCk7CiAgICAgICAgIH0KLSAgICAgICAgCisK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGFmZmZhNDM4ZDAzYzE0ZjczODZk
MDg4OTIwYTY5NGM3YWM1ZjgwNGEuLjZiN2ZkMTg4YzZhYTEwZjI5NzIwOTJmYzIwZGI0OTk5Yjc0
NDBlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwCkBAIC0zMjgsMTMgKzMyOCwxMSBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJz
ZVZhbHVlU3RhcnQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBib29sIGltcG9ydGFudAogICAg
IH0KIAogICAgIGlmIChDU1NWYXJpYWJsZVBhcnNlcjo6Y29udGFpbnNWYWxpZFZhcmlhYmxlUmVm
ZXJlbmNlcyhvcmlnaW5hbFJhbmdlLCBtX2NvbnRleHQpKSB7Ci0gICAgICAgIFJlZlB0cjxDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPiB2YXJpYWJsZSA9IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWU6OmNyZWF0ZShvcmlnaW5hbFJhbmdlKTsKLQotICAgICAgICBpZiAoaXNTaG9ydGhhbmQpIHsK
LSAgICAgICAgICAgIFJlZlB0cjxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+IHBlbmRpbmdW
YWx1ZSA9IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZTo6Y3JlYXRlKHByb3BlcnR5SUQsIHZh
cmlhYmxlLnJlbGVhc2VOb25OdWxsKCkpOwotICAgICAgICAgICAgYWRkRXhwYW5kZWRQcm9wZXJ0
eUZvclZhbHVlKHByb3BlcnR5SUQsIHBlbmRpbmdWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpLCBpbXBv
cnRhbnQpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BlcnR5
SUQsIENTU1Byb3BlcnR5SW52YWxpZCwgdmFyaWFibGUucmVsZWFzZU5vbk51bGwoKSwgaW1wb3J0
YW50KTsKKyAgICAgICAgYXV0byB2YXJpYWJsZSA9IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
OmNyZWF0ZShvcmlnaW5hbFJhbmdlKTsKKyAgICAgICAgaWYgKGlzU2hvcnRoYW5kKQorICAgICAg
ICAgICAgYWRkRXhwYW5kZWRQcm9wZXJ0eUZvclZhbHVlKHByb3BlcnR5SUQsIENTU1BlbmRpbmdT
dWJzdGl0dXRpb25WYWx1ZTo6Y3JlYXRlKHByb3BlcnR5SUQsIFdURk1vdmUodmFyaWFibGUpKSwg
aW1wb3J0YW50KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYWRkUHJvcGVydHkocHJvcGVy
dHlJRCwgQ1NTUHJvcGVydHlJbnZhbGlkLCBXVEZNb3ZlKHZhcmlhYmxlKSwgaW1wb3J0YW50KTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="407582"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>