<?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>202409</bug_id>
          
          <creation_ts>2019-10-01 10:17:08 -0700</creation_ts>
          <short_desc>[CSS Shadow Parts] Parse &apos;part&apos; attribute</short_desc>
          <delta_ts>2019-10-01 15:49:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149443</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1575580</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 10:17:08 -0700</bug_when>
    <thetext>Element.part</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575586</commentid>
    <comment_count>1</comment_count>
      <attachid>379913</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 10:27:20 -0700</bug_when>
    <thetext>Created attachment 379913
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575598</commentid>
    <comment_count>2</comment_count>
      <attachid>379915</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 10:48:33 -0700</bug_when>
    <thetext>Created attachment 379915
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575618</commentid>
    <comment_count>3</comment_count>
      <attachid>379918</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 11:44:36 -0700</bug_when>
    <thetext>Created attachment 379918
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575706</commentid>
    <comment_count>4</comment_count>
      <attachid>379943</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 13:40:12 -0700</bug_when>
    <thetext>Created attachment 379943
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575707</commentid>
    <comment_count>5</comment_count>
      <attachid>379918</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-01 13:41:07 -0700</bug_when>
    <thetext>Comment on attachment 379918
patch

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

&gt; Source/WebCore/dom/Element.cpp:1722
&gt; +        else if (name == HTMLNames::partAttr)

Check the runtime flag here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575708</commentid>
    <comment_count>6</comment_count>
      <attachid>379943</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-01 13:41:30 -0700</bug_when>
    <thetext>Comment on attachment 379943
patch

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

&gt; Source/WebCore/dom/Element.cpp:1723
&gt; +        else if (name == HTMLNames::partAttr)
&gt; +            partAttributeChanged(newValue);

Add a runtime check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575736</commentid>
    <comment_count>7</comment_count>
      <attachid>379949</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 14:21:11 -0700</bug_when>
    <thetext>Created attachment 379949
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575754</commentid>
    <comment_count>8</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-01 15:03:24 -0700</bug_when>
    <thetext>&gt; Add a runtime check?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575780</commentid>
    <comment_count>9</comment_count>
      <attachid>379949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-01 15:48:04 -0700</bug_when>
    <thetext>Comment on attachment 379949
patch

Clearing flags on attachment: 379949

Committed r250584: &lt;https://trac.webkit.org/changeset/250584&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575781</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-01 15:48:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575782</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-01 15:49:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/55893049&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379913</attachid>
            <date>2019-10-01 10:27:20 -0700</date>
            <delta_ts>2019-10-01 10:48:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-part.patch</filename>
            <type>text/plain</type>
            <size>19611</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQwOGU2ZWM0NDAwLi5kMDQ3MDY0Y2Jj
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTkt
MTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBQYXJzZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5s
aXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDEgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgdGVz
dHMgZm9yIENTUyBTaGFkb3cgUGFydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9u
LWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRz
L2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tlbmxpc3QtZXhwZWN0ZWQu
dHh0CmluZGV4IDY1YTA3MjExZmVmLi42ZmY3YzYwZmJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9p
bnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tl
bmxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNo
b3VsZCBiZSBncmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xv
ciB2aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VsLnBhcnQucmVtb3ZlJykKK0ZBSUwgUGFydCBpbiBzZWxl
Y3RlZCBob3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIERPTVRva2VuTGlzdCBhdHRyaWJ1
dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdi
KDAsIDAsIDI1NSkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IGZhYjg5NmIz
YjMwLi5hZmJjMzBjM2M2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCi1GQUlMIEFjY2VzcyB0byAucGFydCByZXR1cm5zIGFuIGVtcHR5IERPTVRva2Vu
TGlzdC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0
aCcpCi1GQUlMIE11bHRpcGxlIG5hbWVzIGdpdmUgYSBET01Ub2tlbkxpc3Qgd2l0aCBtdWx0aXBs
ZSBlbnRyaWVzLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncGFydHMu
bGVuZ3RoJykKLUZBSUwgRE9NVG9rZW5MaXN0IGNyZWF0ZWQgYnkgYWNjZXNzIGlzIHBlcnNpc3Rl
ZC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0aCcp
Ci1GQUlMIENoYW5nZXMgaW4gRE9NVG9rZW5MaXN0IGFyZSByZWZlY3RlZCBpbiBhdHRyaWJ1dGUu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgnKQor
UEFTUyBBY2Nlc3MgdG8gLnBhcnQgcmV0dXJucyBhbiBlbXB0eSBET01Ub2tlbkxpc3QuIAorUEFT
UyBNdWx0aXBsZSBuYW1lcyBnaXZlIGEgRE9NVG9rZW5MaXN0IHdpdGggbXVsdGlwbGUgZW50cmll
cy4gCitQQVNTIERPTVRva2VuTGlzdCBjcmVhdGVkIGJ5IGFjY2VzcyBpcyBwZXJzaXN0ZWQuIAor
UEFTUyBDaGFuZ2VzIGluIERPTVRva2VuTGlzdCBhcmUgcmVmZWN0ZWQgaW4gYXR0cmlidXRlLiAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDM1MWI0OWZlMGQzLi42MmZkMDJlY2Q3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM0IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBhcnNp
bmcgZm9yIEVsZW1lbnQgJ3BhcnQnIGF0dHJpYnV0ZSBhbmQgdGhlIElETCBpbnRlcmZhY2UuCisg
ICAgICAgIEFsc28gYWRkIGEgZmVhdHVyZSBmbGFnIGZvciBDU1MgU2hhZG93IFBhcnRzLgorCisg
ICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0
cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjppc05vbkVtcHR5VG9rZW5MaXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0QXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6cGFydCk6CisgICAgICAgIChXZWJDb3JlOjpjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZSk6
IERlbGV0ZWQuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAgICogZG9t
L0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjpw
YXJ0TGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnNldFBh
cnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6cGFydE5hbWVzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6c2V0UGFydE5hbWVzKToK
KyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBwYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NTaGFkb3dQYXJ0c0VuYWJsZWQgY29uc3QpOgorCiAy
MDE5LTEwLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbQ29vcmRHcmFwaGljc10gSW1wbGVtZW50IHN5bmMgbWV0aG9kcyBmb3IgcG9zaXRpb24sIGJv
dW5kcyBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2MTViMDViODI0OC4uNTY2MzQ1
YzVhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3MTksNiArMTcxOSw4IEBAIHZvaWQg
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgICAgICBkb2N1bWVudCgpLmludmFsaWRhdGVBY2Nl
c3NLZXlDYWNoZSgpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6Y2xhc3NB
dHRyKQogICAgICAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OnBhcnRBdHRyKQorICAgICAgICAgICAgcGFy
dEF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhU
TUxOYW1lczo6aWRBdHRyKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5nIG9sZElkID0gZWxlbWVu
dERhdGEoKS0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICAgICAgICAgIEF0b21TdHJpbmcg
bmV3SWQgPSBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24obmV3VmFsdWUsIGRvY3VtZW50KCkuaW5R
dWlya3NNb2RlKCkpOwpAQCAtMTc2MSw3ICsxNzYzLDcgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9s
ZFYKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdGF0aWMgaW5saW5l
IGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVycywgdW5zaWduZWQgbGVuZ3RoKQorc3RhdGljIGlubGluZSBib29sIGlzTm9uRW1wdHlUb2tl
bkxpc3QoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQog
ewogICAgIEFTU0VSVChsZW5ndGggPiAwKTsKIApAQCAtMTc3NSwxNiArMTc3NywxNiBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFjdGVyVHlw
ZSogY2hhcmFjdGVycywgdW5zaQogICAgIHJldHVybiBpIDwgbGVuZ3RoOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQXRvbVN0cmluZyYgbmV3
Q2xhc3NTdHJpbmcpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlzdChjb25z
dCBBdG9tU3RyaW5nJiBzdHJpbmdWYWx1ZSkKIHsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBuZXdD
bGFzc1N0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmdWYWx1ZS5s
ZW5ndGgoKTsKIAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBpZiAobmV3Q2xhc3NTdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgIHJldHVybiBjbGFzc1N0cmlu
Z0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgpOwotICAg
IHJldHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJz
MTYoKSwgbGVuZ3RoKTsKKyAgICBpZiAoc3RyaW5nVmFsdWUuaXM4Qml0KCkpCisgICAgICAgIHJl
dHVybiBpc05vbkVtcHR5VG9rZW5MaXN0KHN0cmluZ1ZhbHVlLmNoYXJhY3RlcnM4KCksIGxlbmd0
aCk7CisgICAgcmV0dXJuIGlzTm9uRW1wdHlUb2tlbkxpc3Qoc3RyaW5nVmFsdWUuY2hhcmFjdGVy
czE2KCksIGxlbmd0aCk7CiB9CiAKIHZvaWQgRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQpAQCAtMTc5NCw3ICsxNzk2LDcgQEAg
dm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmluZyYgbmV3
Q2xhc3NTdHJpbmcpCiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRhKCk7CiAKICAgICBi
b29sIHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKTsKLSAgICBib29s
IG5ld1N0cmluZ0hhc0NsYXNzZXMgPSBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0
cmluZyk7CisgICAgYm9vbCBuZXdTdHJpbmdIYXNDbGFzc2VzID0gaXNOb25FbXB0eVRva2VuTGlz
dChuZXdDbGFzc1N0cmluZyk7CiAKICAgICBhdXRvIG9sZENsYXNzTmFtZXMgPSBlbGVtZW50RGF0
YSgpLT5jbGFzc05hbWVzKCk7CiAgICAgYXV0byBuZXdDbGFzc05hbWVzID0gbmV3U3RyaW5nSGFz
Q2xhc3NlcyA/IFNwYWNlU3BsaXRTdHJpbmcobmV3Q2xhc3NTdHJpbmcsIHNob3VsZEZvbGRDYXNl
KSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKQEAgLTE4MDksNiArMTgxMSwxOSBAQCB2b2lkIEVsZW1l
bnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdDbGFzc1N0cmlu
ZykKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cGFydEF0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
QXRvbVN0cmluZyYgbmV3VmFsdWUpCit7CisgICAgYXV0byYgcmFyZURhdGEgPSBlbnN1cmVFbGVt
ZW50UmFyZURhdGEoKTsKKworICAgIGJvb2wgaGFzUGFydHMgPSBpc05vbkVtcHR5VG9rZW5MaXN0
KG5ld1ZhbHVlKTsKKyAgICBhdXRvIG5ld1BhcnRzID0gaGFzUGFydHMgPyBTcGFjZVNwbGl0U3Ry
aW5nKG5ld1ZhbHVlLCBmYWxzZSkgOiBTcGFjZVNwbGl0U3RyaW5nKCk7CisKKyAgICByYXJlRGF0
YS5zZXRQYXJ0TmFtZXMoV1RGTW92ZShuZXdQYXJ0cykpOworCisgICAgaWYgKGF1dG8qIHBhcnRM
aXN0ID0gcmFyZURhdGEucGFydExpc3QoKSkKKyAgICAgICAgcGFydExpc3QtPmFzc29jaWF0ZWRB
dHRyaWJ1dGVWYWx1ZUNoYW5nZWQobmV3VmFsdWUpOworfQorCiBVUkwgRWxlbWVudDo6YWJzb2x1
dGVMaW5rVVJMKCkgY29uc3QKIHsKICAgICBpZiAoIWlzTGluaygpKQpAQCAtMzQxNCw2ICszNDI5
LDE5IEBAIERPTVRva2VuTGlzdCYgRWxlbWVudDo6Y2xhc3NMaXN0KCkKICAgICByZXR1cm4gKmRh
dGEuY2xhc3NMaXN0KCk7CiB9CiAKK2lubGluZSBTcGFjZVNwbGl0U3RyaW5nIEVsZW1lbnQ6OnBh
cnROYW1lcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnRSYXJlRGF0YSgpID8gZWxlbWVu
dFJhcmVEYXRhKCktPnBhcnROYW1lcygpIDogU3BhY2VTcGxpdFN0cmluZygpOworfQorCitET01U
b2tlbkxpc3QmIEVsZW1lbnQ6OnBhcnQoKQoreworICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVFbGVt
ZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIWRhdGEucGFydExpc3QoKSkKKyAgICAgICAgZGF0YS5z
ZXRQYXJ0TGlzdChtYWtlVW5pcXVlPERPTVRva2VuTGlzdD4oKnRoaXMsIEhUTUxOYW1lczo6cGFy
dEF0dHIpKTsKKyAgICByZXR1cm4gKmRhdGEucGFydExpc3QoKTsKK30KKwogRGF0YXNldERPTVN0
cmluZ01hcCYgRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhJiBkYXRh
ID0gZW5zdXJlRWxlbWVudFJhcmVEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBiMjlhMDc2
MzBiYS4uYzM0YjU3ZWJmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDUxLDYgKzQ1MSw5IEBA
IHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIERPTVRva2VuTGlzdCYgY2xhc3NMaXN0KCk7
CiAKKyAgICBTcGFjZVNwbGl0U3RyaW5nIHBhcnROYW1lcygpIGNvbnN0OworICAgIERPTVRva2Vu
TGlzdCYgcGFydCgpOworCiAgICAgRGF0YXNldERPTVN0cmluZ01hcCYgZGF0YXNldCgpOwogCiAj
aWYgRU5BQkxFKFZJREVPKQpAQCAtNjEzLDEwICs2MTYsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBjbGVhclRhYkluZGV4RXhwbGljaXRseUlmTmVlZGVkKCk7CiAgICAgdm9pZCBzZXRUYWJJbmRl
eEV4cGxpY2l0bHkoaW50KTsKIAotICAgIC8vIGNsYXNzQXR0cmlidXRlQ2hhbmdlZCgpIGV4aXN0
cyB0byBzaGFyZSBjb2RlIGJldHdlZW4KLSAgICAvLyBwYXJzZUF0dHJpYnV0ZSAoY2FsbGVkIHZp
YSBzZXRBdHRyaWJ1dGUoKSkgYW5kCi0gICAgLy8gc3ZnQXR0cmlidXRlQ2hhbmdlZCAoY2FsbGVk
IHdoZW4gZWxlbWVudC5jbGFzc05hbWUuYmFzZVZhbHVlIGlzIHNldCkKICAgICB2b2lkIGNsYXNz
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdDbGFzc1N0cmluZyk7CisgICAg
dm9pZCBwYXJ0QXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSk7CiAK
ICAgICB2b2lkIGFkZFNoYWRvd1Jvb3QoUmVmPFNoYWRvd1Jvb3Q+JiYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5pZGwKaW5kZXggNGM1NTUwYWVlMWIuLjRjNTFkMGFlNTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaWRsCkBAIC0zNCw2ICszNCw3IEBACiAgICAgW0NFUmVhY3Rpb25zLCBSZWZsZWN0PWNsYXNz
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNsYXNzTmFtZTsKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgY2xhc3NMaXN0OyAvLyBGSVhNRTogU2hv
dWxkIGJlIFtTYW1lT2JqZWN0XS4KICAgICBbQ0VSZWFjdGlvbnMsIEVuYWJsZWRBdFJ1bnRpbWU9
U2hhZG93RE9NLCBSZWZsZWN0LCBVbnNjb3BhYmxlXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNsb3Q7
CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9Q1NTU2hhZG93UGFydHMsIFNhbWVPYmplY3QsIFB1dEZv
cndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHBhcnQ7CiAKICAg
ICBbRE9NSklUPVJlYWRET01dIGJvb2xlYW4gaGFzQXR0cmlidXRlcygpOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBOYW1lZE5vZGVNYXAgYXR0cmlidXRlczsgLy8gRklYTUU6IFNob3VsZCBiZSBb
U2FtZU9iamVjdF0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDFj
YjUwNThiNTIxLi5iMDRlZDhhNmNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEg
OiBOb2RlUmFyZURhdGEgewogI2VuZGlmCiAgICAgTGF5b3V0U2l6ZSBzaXplRm9yUmVzaXppbmc7
CiAgICAgSW50UG9pbnQgc2F2ZWRMYXllclNjcm9sbFBvc2l0aW9uOwotICAgIHZvaWQqIHBvaW50
ZXJzWzhdOworICAgIHZvaWQqIHBvaW50ZXJzWzEwXTsKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9O
X09CU0VSVkVSKQogICAgIHZvaWQqIGludGVyc2VjdGlvbk9ic2VydmVyRGF0YTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IGNlOGI0OGU5MzM4Li5iODQ2OWEw
OTg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZXNpemVPYnNlcnZlci5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgi
CiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eU1hcC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMDIsNiArMTAzLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGhhc0VsZW1lbnRJZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNFbGVtZW50SWRlbnRpZmllcjsgfQogICAgIHZvaWQgc2V0
SGFzRWxlbWVudElkZW50aWZpZXIoYm9vbCB2YWx1ZSkgeyBtX2hhc0VsZW1lbnRJZGVudGlmaWVy
ID0gdmFsdWU7IH0KIAorICAgIERPTVRva2VuTGlzdCogcGFydExpc3QoKSBjb25zdCB7IHJldHVy
biBtX3BhcnRMaXN0LmdldCgpOyB9CisgICAgdm9pZCBzZXRQYXJ0TGlzdChzdGQ6OnVuaXF1ZV9w
dHI8RE9NVG9rZW5MaXN0PiBwYXJ0TGlzdCkgeyBtX3BhcnRMaXN0ID0gV1RGTW92ZShwYXJ0TGlz
dCk7IH0KKworICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIHBhcnROYW1lcygpIGNvbnN0IHsg
cmV0dXJuIG1fcGFydE5hbWVzOyB9CisgICAgdm9pZCBzZXRQYXJ0TmFtZXMoU3BhY2VTcGxpdFN0
cmluZyYmIHBhcnROYW1lcykgeyBtX3BhcnROYW1lcyA9IFdURk1vdmUocGFydE5hbWVzKTsgfQor
CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICBJbnRlcnNlY3Rpb25PYnNl
cnZlckRhdGEqIGludGVyc2VjdGlvbk9ic2VydmVyRGF0YSgpIHsgcmV0dXJuIG1faW50ZXJzZWN0
aW9uT2JzZXJ2ZXJEYXRhLmdldCgpOyB9CiAgICAgdm9pZCBzZXRJbnRlcnNlY3Rpb25PYnNlcnZl
ckRhdGEoc3RkOjp1bmlxdWVfcHRyPEludGVyc2VjdGlvbk9ic2VydmVyRGF0YT4mJiBkYXRhKSB7
IG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhID0gV1RGTW92ZShkYXRhKTsgfQpAQCAtMTg2LDYg
KzE5Myw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlNYXA+IG1fYXR0cmli
dXRlU3R5bGVNYXA7CiAjZW5kaWYKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+
IG1fcGFydExpc3Q7CisgICAgU3BhY2VTcGxpdFN0cmluZyBtX3BhcnROYW1lczsKKwogICAgIHZv
aWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBmODBkNWQ2ZDEzNi4uZmIyNmRi
NzZmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0z
MzMsNiArMzMzLDcgQEAgb253ZWJraXR3aWxscmV2ZWFscmlnaHQKIG9ud2Via2l0d2lsbHJldmVh
bHRvcAogb3Blbgogb3B0aW11bQorcGFydAogcGF0dGVybgogcGxhY2Vob2xkZXIKIHBsYXlzaW5s
aW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4
IGNmMzNhMDBkMWJjLi5iOTlkZmY2OWVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTM3Myw2ICszNzMsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRMYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9sYXp5SW1h
Z2VMb2FkaW5nRW5hYmxlZCA9IGFyZUVuYWJsZWQ7IH0KICAgICBib29sIGxhenlJbWFnZUxvYWRp
bmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDsgfQog
CisgICAgdm9pZCBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c0NTU1NoYWRvd1BhcnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgY3NzU2hhZG93
UGFydHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZDsg
fQorCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMmIHNo
YXJlZEZlYXR1cmVzKCk7CiAKICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC01
NzQsNiArNTc3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9sYXp5SW1hZ2VMb2FkaW5nRW5h
YmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkIHsg
dHJ1ZSB9OworICAgIGJvb2wgbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCB7IGZhbHNlIH07CiAK
ICAgICBmcmllbmQgY2xhc3MgV1RGOjpOZXZlckRlc3Ryb3llZDxSdW50aW1lRW5hYmxlZEZlYXR1
cmVzPjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU3NjcwMDlmYjVmLi5kYmI2NDBmYzc5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMC0wMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cgUGFydHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1
dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKKyAgICAgICAgQWRkIGV4cGVyaW1lbnRhbCBmZWF0
dXJlLCBkZWZhdWx0IHRvIGRpc2FibGVkIGZvciBub3cuCisKIDIwMTktMTAtMDEgIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByYWNlcyBjb25kaXRp
b24gd2hlbiB2YWxpZGF0aW5nIGNhcHR1cmUgc2FuZGJveCBleHRlbnNpb24gcmV2b2NhdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMzY2YTBlZGE0ZmQu
LjE3ZTE0Y2MxM2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
QEAgLTE0NDEsNiArMTQ0MSwxNCBAQCBGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6CiAgIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIHdlYmNvcmVOYW1lOiBmZXRjaEFQ
SUtlZXBBbGl2ZUVuYWJsZWQKIAorQ1NTU2hhZG93UGFydHNFbmFibGVkOgorICB0eXBlOiBib29s
CisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgU2hhZG93
IFBhcnRzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIFNoYWRvdyBQ
YXJ0cyIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworCiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUg
c2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFt
ZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRo
ZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3OGJiNzE5YzI4MS4uMzJiZTA0YjA2
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0x
MC0wMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBT
aGFkb3cgUGFydHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IGNzc1NoYWRvd1BhcnRzRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRD
U1NTaGFkb3dQYXJ0c0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dl
YlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOS0wOS0zMCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlc3VycmVjdCBNYWMg
Q01ha2UgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDEwMDJkNzI4ZmQ4Li5mZTM1NmM5
ZDIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMDEsNiArMjAxLDcgQEAKICNkZWZpbmUg
V2ViS2l0UHVuY2hPdXRXaGl0ZUJhY2tncm91bmRzSW5EYXJrTW9kZVByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRQdW5jaE91dFdoaXRlQmFja2dyb3VuZHNJbkRhcmtNb2RlIgogI2RlZmluZSBXZWJLaXRG
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RmV0Y2hBUElLZWVw
QWxpdmVFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25F
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVu
YWJsZWQiCisjZGVmaW5lIFdlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQog
Ly8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5n
IHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzY4NTQ5ZGQ0YmIuLjA0
YTZmMzY0NjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KQEAgLTY5MSw2ICs2OTEsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICNl
bmRpZgogICAgICAgICBATk8sIFdlYktpdENvcmVNYXRoTUxFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQE5PLCBXZWJLaXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkUHJl
ZmVyZW5jZUtleSwKKyAgICAgICAgQE5PLCBXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVm
ZXJlbmNlS2V5LAogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC0zNTA3LDYgKzM1MDgsMTYgQEAgLSAodm9pZClzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFn
ZXNFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5
OldlYktpdExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
IH0KIAorLSAoQk9PTCljc3NTaGFkb3dQYXJ0c0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYg
X2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKK30KKworLSAodm9pZClzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6KEJPT0wpZmxhZworewor
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0Q1NTU2hhZG93UGFydHNF
bmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlBy
ZWZlcmVuY2VzIChXZWJJbnRlcm5hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGRlZjAyNTFkZjZiLi5j
ZGFmN2MyZjNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02MTUsNiArNjE1LDkgQEAgZXh0ZXJuIE5T
U3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRp
b24gV0VCS0lUX0RFUFIKIC0gKHZvaWQpc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5h
YmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFi
bGVkOwogCistICh2b2lkKXNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDooQk9PTClmbGFnOworLSAo
Qk9PTCljc3NTaGFkb3dQYXJ0c0VuYWJsZWQ7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IHZpc3VhbFZpZXdwb3J0QVBJRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIENT
U09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBs
YXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMWU5MjU4NTg0ZDMuLmM5MTIyOWMyMGUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zMTg3LDYgKzMxODcs
NyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVy
ZW5jZXMKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldERpYWxvZ0VsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBkaWFs
b2dFbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0S2V5Z2VuRWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIGtleWdlbkVsZW1l
bnRFbmFibGVkXSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1NoYWRvd1BhcnRzRW5h
YmxlZF0pOwogCiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMZWdhY3lFbmNyeXB0ZWRNZWRp
YUFQSUVuYWJsZWQocHJlZmVyZW5jZXMubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNzNl
YTg4ODY1OS4uZGYxZmUzYTEwMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0xMC0wMSAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cgUGFydHNdIFBhcnNl
ICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAg
ICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorCiAyMDE5LTEwLTAxICB5b3Vlbm4gZmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmFjZXMgY29uZGl0aW9u
IHdoZW4gdmFsaWRhdGluZyBjYXB0dXJlIHNhbmRib3ggZXh0ZW5zaW9uIHJldm9jYXRpb24KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBiYTI5ZjU1YjU3
NS4uODI5NWEzYjM3MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KQEAgLTg4MCw2ICs4ODAsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxG
ZWF0dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVuY2VzIHNl
dE1lZGlhUmVjb3JkZXJFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlZmVycmVy
UG9saWN5QXR0cmlidXRlRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMaW5rUHJl
bG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldENT
U1NoYWRvd1BhcnRzRW5hYmxlZDpZRVNdOwogfQogCiAvLyBDYWxsZWQgYmVmb3JlIGVhY2ggdGVz
dC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379915</attachid>
            <date>2019-10-01 10:48:33 -0700</date>
            <delta_ts>2019-10-01 11:44:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-part-2.patch</filename>
            <type>text/plain</type>
            <size>19688</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQwOGU2ZWM0NDAwLi5kMDQ3MDY0Y2Jj
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTkt
MTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBQYXJzZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5s
aXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDEgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgdGVz
dHMgZm9yIENTUyBTaGFkb3cgUGFydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9u
LWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRz
L2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tlbmxpc3QtZXhwZWN0ZWQu
dHh0CmluZGV4IDY1YTA3MjExZmVmLi42ZmY3YzYwZmJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9p
bnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tl
bmxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNo
b3VsZCBiZSBncmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xv
ciB2aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VsLnBhcnQucmVtb3ZlJykKK0ZBSUwgUGFydCBpbiBzZWxl
Y3RlZCBob3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIERPTVRva2VuTGlzdCBhdHRyaWJ1
dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdi
KDAsIDAsIDI1NSkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IGZhYjg5NmIz
YjMwLi5hZmJjMzBjM2M2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCi1GQUlMIEFjY2VzcyB0byAucGFydCByZXR1cm5zIGFuIGVtcHR5IERPTVRva2Vu
TGlzdC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0
aCcpCi1GQUlMIE11bHRpcGxlIG5hbWVzIGdpdmUgYSBET01Ub2tlbkxpc3Qgd2l0aCBtdWx0aXBs
ZSBlbnRyaWVzLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncGFydHMu
bGVuZ3RoJykKLUZBSUwgRE9NVG9rZW5MaXN0IGNyZWF0ZWQgYnkgYWNjZXNzIGlzIHBlcnNpc3Rl
ZC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0aCcp
Ci1GQUlMIENoYW5nZXMgaW4gRE9NVG9rZW5MaXN0IGFyZSByZWZlY3RlZCBpbiBhdHRyaWJ1dGUu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgnKQor
UEFTUyBBY2Nlc3MgdG8gLnBhcnQgcmV0dXJucyBhbiBlbXB0eSBET01Ub2tlbkxpc3QuIAorUEFT
UyBNdWx0aXBsZSBuYW1lcyBnaXZlIGEgRE9NVG9rZW5MaXN0IHdpdGggbXVsdGlwbGUgZW50cmll
cy4gCitQQVNTIERPTVRva2VuTGlzdCBjcmVhdGVkIGJ5IGFjY2VzcyBpcyBwZXJzaXN0ZWQuIAor
UEFTUyBDaGFuZ2VzIGluIERPTVRva2VuTGlzdCBhcmUgcmVmZWN0ZWQgaW4gYXR0cmlidXRlLiAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDM1MWI0OWZlMGQzLi42MmZkMDJlY2Q3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM0IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHBhcnNp
bmcgZm9yIEVsZW1lbnQgJ3BhcnQnIGF0dHJpYnV0ZSBhbmQgdGhlIElETCBpbnRlcmZhY2UuCisg
ICAgICAgIEFsc28gYWRkIGEgZmVhdHVyZSBmbGFnIGZvciBDU1MgU2hhZG93IFBhcnRzLgorCisg
ICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0
cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjppc05vbkVtcHR5VG9rZW5MaXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0QXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6cGFydCk6CisgICAgICAgIChXZWJDb3JlOjpjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZSk6
IERlbGV0ZWQuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAgICogZG9t
L0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjpw
YXJ0TGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnNldFBh
cnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6cGFydE5hbWVzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6c2V0UGFydE5hbWVzKToK
KyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBwYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NTaGFkb3dQYXJ0c0VuYWJsZWQgY29uc3QpOgorCiAy
MDE5LTEwLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbQ29vcmRHcmFwaGljc10gSW1wbGVtZW50IHN5bmMgbWV0aG9kcyBmb3IgcG9zaXRpb24sIGJv
dW5kcyBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2MTViMDViODI0OC4uNDFhMDA3
MTdiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3MTksNiArMTcxOSw4IEBAIHZvaWQg
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgICAgICBkb2N1bWVudCgpLmludmFsaWRhdGVBY2Nl
c3NLZXlDYWNoZSgpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6Y2xhc3NB
dHRyKQogICAgICAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OnBhcnRBdHRyKQorICAgICAgICAgICAgcGFy
dEF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhU
TUxOYW1lczo6aWRBdHRyKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5nIG9sZElkID0gZWxlbWVu
dERhdGEoKS0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICAgICAgICAgIEF0b21TdHJpbmcg
bmV3SWQgPSBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24obmV3VmFsdWUsIGRvY3VtZW50KCkuaW5R
dWlya3NNb2RlKCkpOwpAQCAtMTc2MSw3ICsxNzYzLDcgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9s
ZFYKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdGF0aWMgaW5saW5l
IGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVycywgdW5zaWduZWQgbGVuZ3RoKQorc3RhdGljIGlubGluZSBib29sIGlzTm9uRW1wdHlUb2tl
bkxpc3QoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQog
ewogICAgIEFTU0VSVChsZW5ndGggPiAwKTsKIApAQCAtMTc3NSwxNiArMTc3NywxNiBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFjdGVyVHlw
ZSogY2hhcmFjdGVycywgdW5zaQogICAgIHJldHVybiBpIDwgbGVuZ3RoOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQXRvbVN0cmluZyYgbmV3
Q2xhc3NTdHJpbmcpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlzdChjb25z
dCBBdG9tU3RyaW5nJiBzdHJpbmdWYWx1ZSkKIHsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBuZXdD
bGFzc1N0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmdWYWx1ZS5s
ZW5ndGgoKTsKIAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBpZiAobmV3Q2xhc3NTdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgIHJldHVybiBjbGFzc1N0cmlu
Z0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgpOwotICAg
IHJldHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJz
MTYoKSwgbGVuZ3RoKTsKKyAgICBpZiAoc3RyaW5nVmFsdWUuaXM4Qml0KCkpCisgICAgICAgIHJl
dHVybiBpc05vbkVtcHR5VG9rZW5MaXN0KHN0cmluZ1ZhbHVlLmNoYXJhY3RlcnM4KCksIGxlbmd0
aCk7CisgICAgcmV0dXJuIGlzTm9uRW1wdHlUb2tlbkxpc3Qoc3RyaW5nVmFsdWUuY2hhcmFjdGVy
czE2KCksIGxlbmd0aCk7CiB9CiAKIHZvaWQgRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQpAQCAtMTc5NCw3ICsxNzk2LDcgQEAg
dm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmluZyYgbmV3
Q2xhc3NTdHJpbmcpCiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRhKCk7CiAKICAgICBi
b29sIHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKTsKLSAgICBib29s
IG5ld1N0cmluZ0hhc0NsYXNzZXMgPSBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0
cmluZyk7CisgICAgYm9vbCBuZXdTdHJpbmdIYXNDbGFzc2VzID0gaXNOb25FbXB0eVRva2VuTGlz
dChuZXdDbGFzc1N0cmluZyk7CiAKICAgICBhdXRvIG9sZENsYXNzTmFtZXMgPSBlbGVtZW50RGF0
YSgpLT5jbGFzc05hbWVzKCk7CiAgICAgYXV0byBuZXdDbGFzc05hbWVzID0gbmV3U3RyaW5nSGFz
Q2xhc3NlcyA/IFNwYWNlU3BsaXRTdHJpbmcobmV3Q2xhc3NTdHJpbmcsIHNob3VsZEZvbGRDYXNl
KSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKQEAgLTE4MDksNiArMTgxMSwyMCBAQCB2b2lkIEVsZW1l
bnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdDbGFzc1N0cmlu
ZykKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cGFydEF0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
QXRvbVN0cmluZyYgbmV3VmFsdWUpCit7CisgICAgYm9vbCBoYXNQYXJ0cyA9IGlzTm9uRW1wdHlU
b2tlbkxpc3QobmV3VmFsdWUpOworICAgIGlmIChoYXNQYXJ0cyB8fCAhcGFydE5hbWVzKCkuaXNF
bXB0eSgpKSB7CisgICAgICAgIGF1dG8gbmV3UGFydHMgPSBoYXNQYXJ0cyA/IFNwYWNlU3BsaXRT
dHJpbmcobmV3VmFsdWUsIGZhbHNlKSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKKyAgICAgICAgZW5z
dXJlRWxlbWVudFJhcmVEYXRhKCkuc2V0UGFydE5hbWVzKFdURk1vdmUobmV3UGFydHMpKTsKKyAg
ICB9CisKKyAgICBpZiAoaGFzUmFyZURhdGEoKSkgeworICAgICAgICBpZiAoYXV0byogcGFydExp
c3QgPSBlbGVtZW50UmFyZURhdGEoKS0+cGFydExpc3QoKSkKKyAgICAgICAgICAgIHBhcnRMaXN0
LT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICB9Cit9CisK
IFVSTCBFbGVtZW50OjphYnNvbHV0ZUxpbmtVUkwoKSBjb25zdAogewogICAgIGlmICghaXNMaW5r
KCkpCkBAIC0zNDE0LDYgKzM0MzAsMTkgQEAgRE9NVG9rZW5MaXN0JiBFbGVtZW50OjpjbGFzc0xp
c3QoKQogICAgIHJldHVybiAqZGF0YS5jbGFzc0xpc3QoKTsKIH0KIAoraW5saW5lIFNwYWNlU3Bs
aXRTdHJpbmcgRWxlbWVudDo6cGFydE5hbWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVu
dFJhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+cGFydE5hbWVzKCkgOiBTcGFjZVNwbGl0
U3RyaW5nKCk7Cit9CisKK0RPTVRva2VuTGlzdCYgRWxlbWVudDo6cGFydCgpCit7CisgICAgYXV0
byYgZGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAgIGlmICghZGF0YS5wYXJ0TGlz
dCgpKQorICAgICAgICBkYXRhLnNldFBhcnRMaXN0KG1ha2VVbmlxdWU8RE9NVG9rZW5MaXN0Pigq
dGhpcywgSFRNTE5hbWVzOjpwYXJ0QXR0cikpOworICAgIHJldHVybiAqZGF0YS5wYXJ0TGlzdCgp
OworfQorCiBEYXRhc2V0RE9NU3RyaW5nTWFwJiBFbGVtZW50OjpkYXRhc2V0KCkKIHsKICAgICBF
bGVtZW50UmFyZURhdGEmIGRhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCmluZGV4IGIyOWEwNzYzMGJhLi5jMzRiNTdlYmZjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CkBAIC00NTEsNiArNDUxLDkgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgRE9NVG9r
ZW5MaXN0JiBjbGFzc0xpc3QoKTsKIAorICAgIFNwYWNlU3BsaXRTdHJpbmcgcGFydE5hbWVzKCkg
Y29uc3Q7CisgICAgRE9NVG9rZW5MaXN0JiBwYXJ0KCk7CisKICAgICBEYXRhc2V0RE9NU3RyaW5n
TWFwJiBkYXRhc2V0KCk7CiAKICNpZiBFTkFCTEUoVklERU8pCkBAIC02MTMsMTAgKzYxNiw4IEBA
IHByb3RlY3RlZDoKICAgICB2b2lkIGNsZWFyVGFiSW5kZXhFeHBsaWNpdGx5SWZOZWVkZWQoKTsK
ICAgICB2b2lkIHNldFRhYkluZGV4RXhwbGljaXRseShpbnQpOwogCi0gICAgLy8gY2xhc3NBdHRy
aWJ1dGVDaGFuZ2VkKCkgZXhpc3RzIHRvIHNoYXJlIGNvZGUgYmV0d2VlbgotICAgIC8vIHBhcnNl
QXR0cmlidXRlIChjYWxsZWQgdmlhIHNldEF0dHJpYnV0ZSgpKSBhbmQKLSAgICAvLyBzdmdBdHRy
aWJ1dGVDaGFuZ2VkIChjYWxsZWQgd2hlbiBlbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsdWUgaXMg
c2V0KQogICAgIHZvaWQgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21TdHJpbmcmIG5l
d0NsYXNzU3RyaW5nKTsKKyAgICB2b2lkIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21T
dHJpbmcmIG5ld1ZhbHVlKTsKIAogICAgIHZvaWQgYWRkU2hhZG93Um9vdChSZWY8U2hhZG93Um9v
dD4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA0YzU1NTBhZWUxYi4uNGM1MWQwYWU1
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKQEAgLTM0LDYgKzM0LDcgQEAKICAgICBbQ0VSZWFj
dGlvbnMsIFJlZmxlY3Q9Y2xhc3NdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2xhc3NOYW1lOwogICAg
IFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBjbGFz
c0xpc3Q7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgogICAgIFtDRVJlYWN0aW9u
cywgRW5hYmxlZEF0UnVudGltZT1TaGFkb3dET00sIFJlZmxlY3QsIFVuc2NvcGFibGVdIGF0dHJp
YnV0ZSBET01TdHJpbmcgc2xvdDsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1DU1NTaGFkb3dQYXJ0
cywgU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcGFydDsKIAogICAgIFtET01KSVQ9UmVhZERPTV0gYm9vbGVhbiBoYXNBdHRyaWJ1
dGVzKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5hbWVkTm9kZU1hcCBhdHRyaWJ1dGVzOyAv
LyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5jcHAKaW5kZXggMWNiNTA1OGI1MjEuLmIwNGVkOGE2Y2ZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDMsNyArNDMsNyBAQCBzdHJ1Y3QgU2FtZVNp
emVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAjZW5kaWYKICAgICBMYXlvdXRT
aXplIHNpemVGb3JSZXNpemluZzsKICAgICBJbnRQb2ludCBzYXZlZExheWVyU2Nyb2xsUG9zaXRp
b247Ci0gICAgdm9pZCogcG9pbnRlcnNbOF07CisgICAgdm9pZCogcG9pbnRlcnNbMTBdOwogI2lm
IEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgdm9pZCogaW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJEYXRhOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXgg
Y2U4YjQ4ZTkzMzguLmI4NDY5YTA5ODg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIlJlc2l6ZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgorI2luY2x1ZGUg
IlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5TWFwLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwMiw2ICsxMDMsMTIgQEAgcHVibGljOgogICAgIGJvb2wg
aGFzRWxlbWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2hhc0VsZW1lbnRJZGVudGlm
aWVyOyB9CiAgICAgdm9pZCBzZXRIYXNFbGVtZW50SWRlbnRpZmllcihib29sIHZhbHVlKSB7IG1f
aGFzRWxlbWVudElkZW50aWZpZXIgPSB2YWx1ZTsgfQogCisgICAgRE9NVG9rZW5MaXN0KiBwYXJ0
TGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFydExpc3QuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFBh
cnRMaXN0KHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+IHBhcnRMaXN0KSB7IG1fcGFydExp
c3QgPSBXVEZNb3ZlKHBhcnRMaXN0KTsgfQorCisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYg
cGFydE5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9wYXJ0TmFtZXM7IH0KKyAgICB2b2lkIHNldFBh
cnROYW1lcyhTcGFjZVNwbGl0U3RyaW5nJiYgcGFydE5hbWVzKSB7IG1fcGFydE5hbWVzID0gV1RG
TW92ZShwYXJ0TmFtZXMpOyB9CisKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQog
ICAgIEludGVyc2VjdGlvbk9ic2VydmVyRGF0YSogaW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKCkg
eyByZXR1cm4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEuZ2V0KCk7IH0KICAgICB2b2lkIHNl
dEludGVyc2VjdGlvbk9ic2VydmVyRGF0YShzdGQ6OnVuaXF1ZV9wdHI8SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJEYXRhPiYmIGRhdGEpIHsgbV9pbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEgPSBXVEZNb3Zl
KGRhdGEpOyB9CkBAIC0xODYsNiArMTkzLDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5bGVQ
cm9wZXJ0eU1hcD4gbV9hdHRyaWJ1dGVTdHlsZU1hcDsKICNlbmRpZgogCisgICAgc3RkOjp1bmlx
dWVfcHRyPERPTVRva2VuTGlzdD4gbV9wYXJ0TGlzdDsKKyAgICBTcGFjZVNwbGl0U3RyaW5nIG1f
cGFydE5hbWVzOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50
Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4
IGY4MGQ1ZDZkMTM2Li5mYjI2ZGI3NmZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4KQEAgLTMzMyw2ICszMzMsNyBAQCBvbndlYmtpdHdpbGxyZXZlYWxyaWdo
dAogb253ZWJraXR3aWxscmV2ZWFsdG9wCiBvcGVuCiBvcHRpbXVtCitwYXJ0CiBwYXR0ZXJuCiBw
bGFjZWhvbGRlcgogcGxheXNpbmxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgKaW5kZXggY2YzM2EwMGQxYmMuLmI5OWRmZjY5ZWExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMzczLDYgKzM3Myw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhenlJbWFnZUxvYWRpbmdFbmFibGVkKGJvb2wgYXJl
RW5hYmxlZCkgeyBtX2xhenlJbWFnZUxvYWRpbmdFbmFibGVkID0gYXJlRW5hYmxlZDsgfQogICAg
IGJvb2wgbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xhenlJbWFn
ZUxvYWRpbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzQ1NTU2hhZG93UGFydHNFbmFibGVkID0gaXNFbmFibGVkOyB9
CisgICAgYm9vbCBjc3NTaGFkb3dQYXJ0c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ1NT
U2hhZG93UGFydHNFbmFibGVkOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcyYgc2hhcmVkRmVhdHVyZXMoKTsKIAogI2lmIEhBVkUoTlNVUkxTRVNT
SU9OX1dFQlNPQ0tFVCkKQEAgLTU3NCw2ICs1NzcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBt
X2xhenlJbWFnZUxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2VjdXJlQ29u
dGV4dENoZWNrc0VuYWJsZWQgeyB0cnVlIH07CisgICAgYm9vbCBtX2lzQ1NTU2hhZG93UGFydHNF
bmFibGVkIHsgZmFsc2UgfTsKIAogICAgIGZyaWVuZCBjbGFzcyBXVEY6Ok5ldmVyRGVzdHJveWVk
PFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM+OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTc2NzAwOWZiNWYuLmRi
YjY0MGZjNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEwLTAxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10g
UGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKworICAgICAgICBB
ZGQgZXhwZXJpbWVudGFsIGZlYXR1cmUsIGRlZmF1bHQgdG8gZGlzYWJsZWQgZm9yIG5vdy4KKwog
MjAxOS0xMC0wMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIHJhY2VzIGNvbmRpdGlvbiB3aGVuIHZhbGlkYXRpbmcgY2FwdHVyZSBzYW5kYm94IGV4
dGVuc2lvbiByZXZvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAppbmRleCAzNjZhMGVkYTRmZC4uMTdlMTRjYzEzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTQ0MSw2ICsxNDQxLDE0IEBAIEZldGNoQVBJS2VlcEFs
aXZlRW5hYmxlZDoKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAg
d2ViY29yZU5hbWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAogCitDU1NTaGFkb3dQYXJ0c0Vu
YWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRh
YmxlTmFtZTogIkNTUyBTaGFkb3cgUGFydHMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBDU1MgU2hhZG93IFBhcnRzIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKICMgRm9yIGludGVybmFsIGZl
YXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3QgcHJvdmlk
ZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24gZm9yIGFs
bCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDc4
YmI3MTljMjgxLi4zMmJlMDRiMDYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgY3NzU2hhZG93UGFydHNFbmFibGVkXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5
LTA5LTMwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXgg
MTAwMmQ3MjhmZDguLmZlMzU2YzlkMjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTIwMSw2
ICsyMDEsNyBAQAogI2RlZmluZSBXZWJLaXRQdW5jaE91dFdoaXRlQmFja2dyb3VuZHNJbkRhcmtN
b2RlUHJlZmVyZW5jZUtleSBAIldlYktpdFB1bmNoT3V0V2hpdGVCYWNrZ3JvdW5kc0luRGFya01v
ZGUiCiAjZGVmaW5lIFdlYktpdEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkFuaW1h
dGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViQW5pbWF0
aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFydHNF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIKIAogI2lm
ICFUQVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2Fs
bGVycyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpp
bmRleCBjNjg1NDlkZDRiYi4uMDRhNmYzNjQ2OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjkxLDYgKzY5MSw3IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogI2VuZGlmCiAgICAgICAgIEBOTywgV2ViS2l0Q29yZU1hdGhNTEVu
YWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdExpbmtQcmVsb2FkUmVzcG9u
c2l2ZUltYWdlc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBATk8sIFdlYktpdENTU1No
YWRvd1BhcnRzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5pbF07CiAKICNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTM1MDcsNiArMzUwOCwxNiBAQCAtICh2b2lkKXNldExpbmtQ
cmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5h
YmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWNzc1NoYWRvd1BhcnRzRW5hYmxlZAor
eworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdENTU1NoYWRvd1BhcnRz
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldENTU1NoYWRvd1BhcnRzRW5h
YmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpX
ZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBA
aW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
aW5kZXggZGVmMDI1MWRmNmIuLmNkYWY3YzJmM2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTYxNSw2
ICs2MTUsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5n
ZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgogLSAodm9pZClzZXRMaW5rUHJlbG9h
ZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKWxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0Q1NTU2hhZG93UGFydHNFbmFi
bGVkOihCT09MKWZsYWc7CistIChCT09MKWNzc1NoYWRvd1BhcnRzRW5hYmxlZDsKKwogQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgdmlzdWFsVmlld3BvcnRBUElFbmFibGVkOwogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgQ1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGxhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxZTkyNTg1ODRkMy4u
YzkxMjI5YzIwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTMxODcsNiArMzE4Nyw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2Vi
UHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZChbcHJl
ZmVyZW5jZXMgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZF0pOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlhbG9nRWxlbWVudEVuYWJs
ZWQoW3ByZWZlcmVuY2VzIGRpYWxvZ0VsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRLZXlnZW5FbGVtZW50RW5hYmxlZChbcHJl
ZmVyZW5jZXMga2V5Z2VuRWxlbWVudEVuYWJsZWRdKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZChbcHJlZmVyZW5j
ZXMgY3NzU2hhZG93UGFydHNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5sZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSUVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDA3M2VhODg4NjU5Li5kZjFmZTNhMTAwMSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5
LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NT
IFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW06CisgICAgICAgIChlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6CisKIDIw
MTktMTAtMDEgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSByYWNlcyBjb25kaXRpb24gd2hlbiB2YWxpZGF0aW5nIGNhcHR1cmUgc2FuZGJveCBleHRl
bnNpb24gcmV2b2NhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCmluZGV4IGJhMjlmNTViNTc1Li44Mjk1YTNiMzcwNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODgwLDYgKzg4MCw3IEBAIHN0YXRpYyB2b2lk
IGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykK
ICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFSZWNvcmRlckVuYWJsZWQ6WUVTXTsKICAgICBbcHJl
ZmVyZW5jZXMgc2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkOllFU107CiAgICAgW3By
ZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6WUVTXTsKKyAg
ICBbcHJlZmVyZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkOllFU107CiB9CiAKIC8vIENh
bGxlZCBiZWZvcmUgZWFjaCB0ZXN0Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379918</attachid>
            <date>2019-10-01 11:44:36 -0700</date>
            <delta_ts>2019-10-01 13:59:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-part-3.patch</filename>
            <type>text/plain</type>
            <size>20330</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQwOGU2ZWM0NDAwLi5kMDQ3MDY0Y2Jj
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTkt
MTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBQYXJzZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5s
aXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDEgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgdGVz
dHMgZm9yIENTUyBTaGFkb3cgUGFydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9u
LWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRz
L2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tlbmxpc3QtZXhwZWN0ZWQu
dHh0CmluZGV4IDY1YTA3MjExZmVmLi42ZmY3YzYwZmJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9p
bnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tl
bmxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNo
b3VsZCBiZSBncmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xv
ciB2aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VsLnBhcnQucmVtb3ZlJykKK0ZBSUwgUGFydCBpbiBzZWxl
Y3RlZCBob3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIERPTVRva2VuTGlzdCBhdHRyaWJ1
dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdi
KDAsIDAsIDI1NSkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IGZhYjg5NmIz
YjMwLi5hZmJjMzBjM2M2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCi1GQUlMIEFjY2VzcyB0byAucGFydCByZXR1cm5zIGFuIGVtcHR5IERPTVRva2Vu
TGlzdC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0
aCcpCi1GQUlMIE11bHRpcGxlIG5hbWVzIGdpdmUgYSBET01Ub2tlbkxpc3Qgd2l0aCBtdWx0aXBs
ZSBlbnRyaWVzLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncGFydHMu
bGVuZ3RoJykKLUZBSUwgRE9NVG9rZW5MaXN0IGNyZWF0ZWQgYnkgYWNjZXNzIGlzIHBlcnNpc3Rl
ZC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0aCcp
Ci1GQUlMIENoYW5nZXMgaW4gRE9NVG9rZW5MaXN0IGFyZSByZWZlY3RlZCBpbiBhdHRyaWJ1dGUu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgnKQor
UEFTUyBBY2Nlc3MgdG8gLnBhcnQgcmV0dXJucyBhbiBlbXB0eSBET01Ub2tlbkxpc3QuIAorUEFT
UyBNdWx0aXBsZSBuYW1lcyBnaXZlIGEgRE9NVG9rZW5MaXN0IHdpdGggbXVsdGlwbGUgZW50cmll
cy4gCitQQVNTIERPTVRva2VuTGlzdCBjcmVhdGVkIGJ5IGFjY2VzcyBpcyBwZXJzaXN0ZWQuIAor
UEFTUyBDaGFuZ2VzIGluIERPTVRva2VuTGlzdCBhcmUgcmVmZWN0ZWQgaW4gYXR0cmlidXRlLiAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9qcy9kb20vZG9tLXN0
YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvanMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJh
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggNDExMTc0MWJhYmYuLmEwOGUzNWJlMzhjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2pzL2RvbS9kb20tc3RhdGljLXByb3Bl
cnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvanMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJhdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTE0MCw2ICsxNDAsNyBAQCBQQVNTIGFbImlkIl0gaXMgZm9vCiBQQVNT
IGFbImNsYXNzTmFtZSJdIGlzIAogUEFTUyBhWyJjbGFzc0xpc3QiXSBpcyAKIFBBU1MgYVsic2xv
dCJdIGlzIAorUEFTUyBhWyJwYXJ0Il0gaXMgCiBQQVNTIGFbImF0dHJpYnV0ZXMiXSBpcyBbb2Jq
ZWN0IE5hbWVkTm9kZU1hcF0KIFBBU1MgYVsic2hhZG93Um9vdCJdIGlzIG51bGwKIFBBU1MgYVsi
c2Nyb2xsVG9wIl0gaXMgMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM1MWI0OWZlMGQzLi42MmZkMDJlY2Q3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3Bh
cnQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHBhcnNpbmcgZm9yIEVsZW1lbnQgJ3BhcnQnIGF0dHJpYnV0ZSBhbmQgdGhlIElE
TCBpbnRlcmZhY2UuCisgICAgICAgIEFsc28gYWRkIGEgZmVhdHVyZSBmbGFnIGZvciBDU1MgU2hh
ZG93IFBhcnRzLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjppc05vbkVt
cHR5VG9rZW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzQXR0cmlidXRl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0QXR0cmlidXRlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6cGFydCk6CisgICAgICAgIChXZWJDb3JlOjpjbGFzc1N0cmlu
Z0hhc0NsYXNzTmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6
CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpwYXJ0TGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
UmFyZURhdGE6OnNldFBhcnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0
YTo6cGFydE5hbWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6
c2V0UGFydE5hbWVzKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAg
ICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NTaGFkb3dQYXJ0c0VuYWJs
ZWQgY29uc3QpOgorCiAyMDE5LTEwLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbQ29vcmRHcmFwaGljc10gSW1wbGVtZW50IHN5bmMgbWV0aG9kcyBm
b3IgcG9zaXRpb24sIGJvdW5kcyBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2MTVi
MDViODI0OC4uNDFhMDA3MTdiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3MTksNiAr
MTcxOSw4IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgICAgICBkb2N1bWVudCgp
LmludmFsaWRhdGVBY2Nlc3NLZXlDYWNoZSgpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhU
TUxOYW1lczo6Y2xhc3NBdHRyKQogICAgICAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKG5l
d1ZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OnBhcnRBdHRyKQor
ICAgICAgICAgICAgcGFydEF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOwogICAgICAgICBlbHNl
IGlmIChuYW1lID09IEhUTUxOYW1lczo6aWRBdHRyKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5n
IG9sZElkID0gZWxlbWVudERhdGEoKS0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICAgICAg
ICAgIEF0b21TdHJpbmcgbmV3SWQgPSBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24obmV3VmFsdWUs
IGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpOwpAQCAtMTc2MSw3ICsxNzYzLDcgQEAgdm9pZCBF
bGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0
IEF0b21TdHJpbmcmIG9sZFYKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
Ci1zdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFj
dGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorc3RhdGljIGlubGluZSBib29s
IGlzTm9uRW1wdHlUb2tlbkxpc3QoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5z
aWduZWQgbGVuZ3RoKQogewogICAgIEFTU0VSVChsZW5ndGggPiAwKTsKIApAQCAtMTc3NSwxNiAr
MTc3NywxNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29u
c3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaQogICAgIHJldHVybiBpIDwgbGVuZ3Ro
OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3Qg
QXRvbVN0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0
eVRva2VuTGlzdChjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmdWYWx1ZSkKIHsKLSAgICB1bnNpZ25l
ZCBsZW5ndGggPSBuZXdDbGFzc1N0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGgg
PSBzdHJpbmdWYWx1ZS5sZW5ndGgoKTsKIAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAobmV3Q2xhc3NTdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgIHJl
dHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJzOCgp
LCBsZW5ndGgpOwotICAgIHJldHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0
cmluZy5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKKyAgICBpZiAoc3RyaW5nVmFsdWUuaXM4Qml0
KCkpCisgICAgICAgIHJldHVybiBpc05vbkVtcHR5VG9rZW5MaXN0KHN0cmluZ1ZhbHVlLmNoYXJh
Y3RlcnM4KCksIGxlbmd0aCk7CisgICAgcmV0dXJuIGlzTm9uRW1wdHlUb2tlbkxpc3Qoc3RyaW5n
VmFsdWUuY2hhcmFjdGVyczE2KCksIGxlbmd0aCk7CiB9CiAKIHZvaWQgRWxlbWVudDo6Y2xhc3NB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQpAQCAtMTc5
NCw3ICsxNzk2LDcgQEAgdm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
QXRvbVN0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnRE
YXRhKCk7CiAKICAgICBib29sIHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS5pblF1aXJrc01v
ZGUoKTsKLSAgICBib29sIG5ld1N0cmluZ0hhc0NsYXNzZXMgPSBjbGFzc1N0cmluZ0hhc0NsYXNz
TmFtZShuZXdDbGFzc1N0cmluZyk7CisgICAgYm9vbCBuZXdTdHJpbmdIYXNDbGFzc2VzID0gaXNO
b25FbXB0eVRva2VuTGlzdChuZXdDbGFzc1N0cmluZyk7CiAKICAgICBhdXRvIG9sZENsYXNzTmFt
ZXMgPSBlbGVtZW50RGF0YSgpLT5jbGFzc05hbWVzKCk7CiAgICAgYXV0byBuZXdDbGFzc05hbWVz
ID0gbmV3U3RyaW5nSGFzQ2xhc3NlcyA/IFNwYWNlU3BsaXRTdHJpbmcobmV3Q2xhc3NTdHJpbmcs
IHNob3VsZEZvbGRDYXNlKSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKQEAgLTE4MDksNiArMTgxMSwy
MCBAQCB2b2lkIEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5n
JiBuZXdDbGFzc1N0cmluZykKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cGFydEF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmluZyYgbmV3VmFsdWUpCit7CisgICAgYm9vbCBoYXNQYXJ0
cyA9IGlzTm9uRW1wdHlUb2tlbkxpc3QobmV3VmFsdWUpOworICAgIGlmIChoYXNQYXJ0cyB8fCAh
cGFydE5hbWVzKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8gbmV3UGFydHMgPSBoYXNQYXJ0
cyA/IFNwYWNlU3BsaXRTdHJpbmcobmV3VmFsdWUsIGZhbHNlKSA6IFNwYWNlU3BsaXRTdHJpbmco
KTsKKyAgICAgICAgZW5zdXJlRWxlbWVudFJhcmVEYXRhKCkuc2V0UGFydE5hbWVzKFdURk1vdmUo
bmV3UGFydHMpKTsKKyAgICB9CisKKyAgICBpZiAoaGFzUmFyZURhdGEoKSkgeworICAgICAgICBp
ZiAoYXV0byogcGFydExpc3QgPSBlbGVtZW50UmFyZURhdGEoKS0+cGFydExpc3QoKSkKKyAgICAg
ICAgICAgIHBhcnRMaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKG5ld1ZhbHVl
KTsKKyAgICB9Cit9CisKIFVSTCBFbGVtZW50OjphYnNvbHV0ZUxpbmtVUkwoKSBjb25zdAogewog
ICAgIGlmICghaXNMaW5rKCkpCkBAIC0zNDE0LDYgKzM0MzAsMTkgQEAgRE9NVG9rZW5MaXN0JiBF
bGVtZW50OjpjbGFzc0xpc3QoKQogICAgIHJldHVybiAqZGF0YS5jbGFzc0xpc3QoKTsKIH0KIAor
aW5saW5lIFNwYWNlU3BsaXRTdHJpbmcgRWxlbWVudDo6cGFydE5hbWVzKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZWxlbWVudFJhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+cGFydE5hbWVz
KCkgOiBTcGFjZVNwbGl0U3RyaW5nKCk7Cit9CisKK0RPTVRva2VuTGlzdCYgRWxlbWVudDo6cGFy
dCgpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAgIGlm
ICghZGF0YS5wYXJ0TGlzdCgpKQorICAgICAgICBkYXRhLnNldFBhcnRMaXN0KG1ha2VVbmlxdWU8
RE9NVG9rZW5MaXN0PigqdGhpcywgSFRNTE5hbWVzOjpwYXJ0QXR0cikpOworICAgIHJldHVybiAq
ZGF0YS5wYXJ0TGlzdCgpOworfQorCiBEYXRhc2V0RE9NU3RyaW5nTWFwJiBFbGVtZW50OjpkYXRh
c2V0KCkKIHsKICAgICBFbGVtZW50UmFyZURhdGEmIGRhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURh
dGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGIyOWEwNzYzMGJhLi5jMzRiNTdlYmZjOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC00NTEsNiArNDUxLDkgQEAgcHVibGljOgogCiAgICAgV0VCQ09S
RV9FWFBPUlQgRE9NVG9rZW5MaXN0JiBjbGFzc0xpc3QoKTsKIAorICAgIFNwYWNlU3BsaXRTdHJp
bmcgcGFydE5hbWVzKCkgY29uc3Q7CisgICAgRE9NVG9rZW5MaXN0JiBwYXJ0KCk7CisKICAgICBE
YXRhc2V0RE9NU3RyaW5nTWFwJiBkYXRhc2V0KCk7CiAKICNpZiBFTkFCTEUoVklERU8pCkBAIC02
MTMsMTAgKzYxNiw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGNsZWFyVGFiSW5kZXhFeHBsaWNp
dGx5SWZOZWVkZWQoKTsKICAgICB2b2lkIHNldFRhYkluZGV4RXhwbGljaXRseShpbnQpOwogCi0g
ICAgLy8gY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKCkgZXhpc3RzIHRvIHNoYXJlIGNvZGUgYmV0d2Vl
bgotICAgIC8vIHBhcnNlQXR0cmlidXRlIChjYWxsZWQgdmlhIHNldEF0dHJpYnV0ZSgpKSBhbmQK
LSAgICAvLyBzdmdBdHRyaWJ1dGVDaGFuZ2VkIChjYWxsZWQgd2hlbiBlbGVtZW50LmNsYXNzTmFt
ZS5iYXNlVmFsdWUgaXMgc2V0KQogICAgIHZvaWQgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKTsKKyAgICB2b2lkIHBhcnRBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlKTsKIAogICAgIHZvaWQgYWRkU2hhZG93Um9v
dChSZWY8U2hhZG93Um9vdD4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA0YzU1NTBh
ZWUxYi4uNGM1MWQwYWU1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKQEAgLTM0LDYgKzM0LDcg
QEAKICAgICBbQ0VSZWFjdGlvbnMsIFJlZmxlY3Q9Y2xhc3NdIGF0dHJpYnV0ZSBET01TdHJpbmcg
Y2xhc3NOYW1lOwogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERP
TVRva2VuTGlzdCBjbGFzc0xpc3Q7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgog
ICAgIFtDRVJlYWN0aW9ucywgRW5hYmxlZEF0UnVudGltZT1TaGFkb3dET00sIFJlZmxlY3QsIFVu
c2NvcGFibGVdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2xvdDsKKyAgICBbRW5hYmxlZEF0UnVudGlt
ZT1DU1NTaGFkb3dQYXJ0cywgU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcGFydDsKIAogICAgIFtET01KSVQ9UmVhZERPTV0gYm9v
bGVhbiBoYXNBdHRyaWJ1dGVzKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5hbWVkTm9kZU1h
cCBhdHRyaWJ1dGVzOyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggMWNiNTA1OGI1MjEuLmIwNGVkOGE2Y2Zh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDMsNyArNDMsNyBA
QCBzdHJ1Y3QgU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAjZW5k
aWYKICAgICBMYXlvdXRTaXplIHNpemVGb3JSZXNpemluZzsKICAgICBJbnRQb2ludCBzYXZlZExh
eWVyU2Nyb2xsUG9zaXRpb247Ci0gICAgdm9pZCogcG9pbnRlcnNbOF07CisgICAgdm9pZCogcG9p
bnRlcnNbMTBdOwogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAgdm9pZCog
aW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJh
cmVEYXRhLmgKaW5kZXggY2U4YjQ4ZTkzMzguLmI4NDY5YTA5ODg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlc2l6ZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHlsZVByb3Bl
cnR5TWFwLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwMiw2ICsxMDMsMTIgQEAgcHVi
bGljOgogICAgIGJvb2wgaGFzRWxlbWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2hh
c0VsZW1lbnRJZGVudGlmaWVyOyB9CiAgICAgdm9pZCBzZXRIYXNFbGVtZW50SWRlbnRpZmllcihi
b29sIHZhbHVlKSB7IG1faGFzRWxlbWVudElkZW50aWZpZXIgPSB2YWx1ZTsgfQogCisgICAgRE9N
VG9rZW5MaXN0KiBwYXJ0TGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFydExpc3QuZ2V0KCk7IH0K
KyAgICB2b2lkIHNldFBhcnRMaXN0KHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+IHBhcnRM
aXN0KSB7IG1fcGFydExpc3QgPSBXVEZNb3ZlKHBhcnRMaXN0KTsgfQorCisgICAgY29uc3QgU3Bh
Y2VTcGxpdFN0cmluZyYgcGFydE5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9wYXJ0TmFtZXM7IH0K
KyAgICB2b2lkIHNldFBhcnROYW1lcyhTcGFjZVNwbGl0U3RyaW5nJiYgcGFydE5hbWVzKSB7IG1f
cGFydE5hbWVzID0gV1RGTW92ZShwYXJ0TmFtZXMpOyB9CisKICNpZiBFTkFCTEUoSU5URVJTRUNU
SU9OX09CU0VSVkVSKQogICAgIEludGVyc2VjdGlvbk9ic2VydmVyRGF0YSogaW50ZXJzZWN0aW9u
T2JzZXJ2ZXJEYXRhKCkgeyByZXR1cm4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEuZ2V0KCk7
IH0KICAgICB2b2lkIHNldEludGVyc2VjdGlvbk9ic2VydmVyRGF0YShzdGQ6OnVuaXF1ZV9wdHI8
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhPiYmIGRhdGEpIHsgbV9pbnRlcnNlY3Rpb25PYnNlcnZl
ckRhdGEgPSBXVEZNb3ZlKGRhdGEpOyB9CkBAIC0xODYsNiArMTkzLDkgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8U3R5bGVQcm9wZXJ0eU1hcD4gbV9hdHRyaWJ1dGVTdHlsZU1hcDsKICNlbmRpZgog
CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9wYXJ0TGlzdDsKKyAgICBTcGFj
ZVNwbGl0U3RyaW5nIG1fcGFydE5hbWVzOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVu
dChQc2V1ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCmluZGV4IGY4MGQ1ZDZkMTM2Li5mYjI2ZGI3NmZlNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTMzMyw2ICszMzMsNyBAQCBvbndlYmtp
dHdpbGxyZXZlYWxyaWdodAogb253ZWJraXR3aWxscmV2ZWFsdG9wCiBvcGVuCiBvcHRpbXVtCitw
YXJ0CiBwYXR0ZXJuCiBwbGFjZWhvbGRlcgogcGxheXNpbmxpbmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggY2YzM2EwMGQxYmMuLmI5OWRmZjY5
ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApA
QCAtMzczLDYgKzM3Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhenlJbWFnZUxvYWRpbmdF
bmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2xhenlJbWFnZUxvYWRpbmdFbmFibGVkID0gYXJl
RW5hYmxlZDsgfQogICAgIGJvb2wgbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2xhenlJbWFnZUxvYWRpbmdFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldENTU1NoYWRv
d1BhcnRzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzQ1NTU2hhZG93UGFydHNFbmFibGVk
ID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBjc3NTaGFkb3dQYXJ0c0VuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzQ1NTU2hhZG93UGFydHNFbmFibGVkOyB9CisKICAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUnVudGltZUVuYWJsZWRGZWF0dXJlcyYgc2hhcmVkRmVhdHVyZXMoKTsKIAogI2lm
IEhBVkUoTlNVUkxTRVNTSU9OX1dFQlNPQ0tFVCkKQEAgLTU3NCw2ICs1NzcsNyBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCBtX2xhenlJbWFnZUxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQgeyB0cnVlIH07CisgICAgYm9vbCBtX2lz
Q1NTU2hhZG93UGFydHNFbmFibGVkIHsgZmFsc2UgfTsKIAogICAgIGZyaWVuZCBjbGFzcyBXVEY6
Ok5ldmVyRGVzdHJveWVkPFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM+OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ZTc2NzAwOWZiNWYuLmRiYjY0MGZjNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5
LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NT
IFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bDoKKworICAgICAgICBBZGQgZXhwZXJpbWVudGFsIGZlYXR1cmUsIGRlZmF1bHQgdG8gZGlzYWJs
ZWQgZm9yIG5vdy4KKwogMjAxOS0xMC0wMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIHJhY2VzIGNvbmRpdGlvbiB3aGVuIHZhbGlkYXRpbmcgY2Fw
dHVyZSBzYW5kYm94IGV4dGVuc2lvbiByZXZvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbAppbmRleCAzNjZhMGVkYTRmZC4uMTdlMTRjYzEzZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTQ0MSw2ICsxNDQxLDE0IEBA
IEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDoKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKICAgd2ViY29yZU5hbWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAogCitD
U1NTaGFkb3dQYXJ0c0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQorICBodW1hblJlYWRhYmxlTmFtZTogIkNTUyBTaGFkb3cgUGFydHMiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBDU1MgU2hhZG93IFBhcnRzIgorICBjYXRlZ29yeTogZXhw
ZXJpbWVudGFsCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKICMg
Rm9yIGludGVybmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMg
WW91IG11c3QgcHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb24gZm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCmluZGV4IDc4YmI3MTljMjgxLi4zMmJlMDRiMDYxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3Bh
cnQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRp
YWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgY3NzU2hhZG93UGFydHNFbmFibGVk
XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDpd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorCiAyMDE5LTA5LTMwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgKaW5kZXggMTAwMmQ3MjhmZDguLmZlMzU2YzlkMjNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKQEAgLTIwMSw2ICsyMDEsNyBAQAogI2RlZmluZSBXZWJLaXRQdW5jaE91dFdoaXRlQmFj
a2dyb3VuZHNJbkRhcmtNb2RlUHJlZmVyZW5jZUtleSBAIldlYktpdFB1bmNoT3V0V2hpdGVCYWNr
Z3JvdW5kc0luRGFya01vZGUiCiAjZGVmaW5lIFdlYktpdEZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0
Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1NoYWRvd1BhcnRz
RW5hYmxlZCIKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBi
b3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5k
IGJlY2F1c2UgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQppbmRleCBjNjg1NDlkZDRiYi4uMDRhNmYzNjQ2OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjkx
LDYgKzY5MSw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2VuZGlmCiAgICAgICAgIEBOTywgV2Vi
S2l0Q29yZU1hdGhNTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBA
Tk8sIFdlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTM1MDcsNiArMzUwOCwxNiBAQCAt
ICh2b2lkKXNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6KEJPT0wpZmxhZwog
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0TGlua1ByZWxvYWRSZXNw
b25zaXZlSW1hZ2VzRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWNzc1NoYWRv
d1BhcnRzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dENTU1NoYWRvd1BhcnRzRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldENT
U1NoYWRvd1BhcnRzRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTpmbGFnIGZvcktleTpXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
K30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFs
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKaW5kZXggZGVmMDI1MWRmNmIuLmNkYWY3YzJmM2QyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKQEAgLTYxNSw2ICs2MTUsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgogLSAodm9p
ZClzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOihCT09MKWZsYWc7CiAtIChC
T09MKWxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0Q1NT
U2hhZG93UGFydHNFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKWNzc1NoYWRvd1BhcnRzRW5h
YmxlZDsKKwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdmlzdWFsVmlld3BvcnRBUElFbmFi
bGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgQ1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxhcmdlSW1hZ2VBc3luY0RlY29kaW5n
RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCAxZTkyNTg1ODRkMy4uYzkxMjI5YzIwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMxODcsNiArMzE4Nyw3IEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1h
Z2VzRW5hYmxlZChbcHJlZmVyZW5jZXMgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxl
ZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlh
bG9nRWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIGRpYWxvZ0VsZW1lbnRFbmFibGVkXSk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRLZXlnZW5FbGVt
ZW50RW5hYmxlZChbcHJlZmVyZW5jZXMga2V5Z2VuRWxlbWVudEVuYWJsZWRdKTsKKyAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU1NoYWRvd1BhcnRzRW5h
YmxlZChbcHJlZmVyZW5jZXMgY3NzU2hhZG93UGFydHNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUo
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNl
cy5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA3M2VhODg4NjU5Li5kZjFmZTNhMTAwMSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChlbmFibGVFeHBlcmltZW50YWxG
ZWF0dXJlcyk6CisKIDIwMTktMTAtMDEgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSByYWNlcyBjb25kaXRpb24gd2hlbiB2YWxpZGF0aW5nIGNhcHR1
cmUgc2FuZGJveCBleHRlbnNpb24gcmV2b2NhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGJhMjlmNTViNTc1Li44Mjk1YTNiMzcwNSAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODgwLDYgKzg4MCw3
IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2Vz
KiBwcmVmZXJlbmNlcykKICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFSZWNvcmRlckVuYWJsZWQ6
WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkOllF
U107CiB9CiAKIC8vIENhbGxlZCBiZWZvcmUgZWFjaCB0ZXN0Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379943</attachid>
            <date>2019-10-01 13:40:12 -0700</date>
            <delta_ts>2019-10-01 14:21:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-part-4.patch</filename>
            <type>text/plain</type>
            <size>20904</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQwOGU2ZWM0NDAwLi5kMDQ3MDY0Y2Jj
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTkt
MTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBQYXJzZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5s
aXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDEgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgdGVz
dHMgZm9yIENTUyBTaGFkb3cgUGFydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9u
LWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRz
L2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tlbmxpc3QtZXhwZWN0ZWQu
dHh0CmluZGV4IDY1YTA3MjExZmVmLi42ZmY3YzYwZmJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9p
bnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tl
bmxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNo
b3VsZCBiZSBncmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xv
ciB2aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VsLnBhcnQucmVtb3ZlJykKK0ZBSUwgUGFydCBpbiBzZWxl
Y3RlZCBob3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIERPTVRva2VuTGlzdCBhdHRyaWJ1
dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdi
KDAsIDAsIDI1NSkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IGZhYjg5NmIz
YjMwLi5hZmJjMzBjM2M2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCi1GQUlMIEFjY2VzcyB0byAucGFydCByZXR1cm5zIGFuIGVtcHR5IERPTVRva2Vu
TGlzdC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0
aCcpCi1GQUlMIE11bHRpcGxlIG5hbWVzIGdpdmUgYSBET01Ub2tlbkxpc3Qgd2l0aCBtdWx0aXBs
ZSBlbnRyaWVzLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncGFydHMu
bGVuZ3RoJykKLUZBSUwgRE9NVG9rZW5MaXN0IGNyZWF0ZWQgYnkgYWNjZXNzIGlzIHBlcnNpc3Rl
ZC4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxlbmd0aCcp
Ci1GQUlMIENoYW5nZXMgaW4gRE9NVG9rZW5MaXN0IGFyZSByZWZlY3RlZCBpbiBhdHRyaWJ1dGUu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgnKQor
UEFTUyBBY2Nlc3MgdG8gLnBhcnQgcmV0dXJucyBhbiBlbXB0eSBET01Ub2tlbkxpc3QuIAorUEFT
UyBNdWx0aXBsZSBuYW1lcyBnaXZlIGEgRE9NVG9rZW5MaXN0IHdpdGggbXVsdGlwbGUgZW50cmll
cy4gCitQQVNTIERPTVRva2VuTGlzdCBjcmVhdGVkIGJ5IGFjY2VzcyBpcyBwZXJzaXN0ZWQuIAor
UEFTUyBDaGFuZ2VzIGluIERPTVRva2VuTGlzdCBhcmUgcmVmZWN0ZWQgaW4gYXR0cmlidXRlLiAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9y
LWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZG9tLXN0YXRp
Yy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBhNTFhNmFkYzJk
NC4uZWVjNTIyN2EzMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9kb20tc3RhdGlj
LXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2pzL2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0xMzcsNiArMTM3LDcgQEAgUEFTUyBhWyJpZCJdIGlzIGZvbwogUEFTUyBhWyJjbGFzc05h
bWUiXSBpcyAKIFBBU1MgYVsiY2xhc3NMaXN0Il0gaXMgCiBQQVNTIGFbInNsb3QiXSBpcyAKK1BB
U1MgYVsicGFydCJdIGlzIAogUEFTUyBhWyJhdHRyaWJ1dGVzIl0gaXMgW29iamVjdCBOYW1lZE5v
ZGVNYXBdCiBQQVNTIGFbInNoYWRvd1Jvb3QiXSBpcyBudWxsCiBQQVNTIGFbInNjcm9sbFRvcCJd
IGlzIDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvanMvZG9tL2Rv
bS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2pzL2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1p
dGVyYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDQxMTE3NDFiYWJmLi5hMDhlMzViZTM4YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9qcy9kb20vZG9tLXN0YXRpYy1w
cm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2pzL2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0xNDAsNiArMTQwLDcgQEAgUEFTUyBhWyJpZCJdIGlzIGZvbwog
UEFTUyBhWyJjbGFzc05hbWUiXSBpcyAKIFBBU1MgYVsiY2xhc3NMaXN0Il0gaXMgCiBQQVNTIGFb
InNsb3QiXSBpcyAKK1BBU1MgYVsicGFydCJdIGlzIAogUEFTUyBhWyJhdHRyaWJ1dGVzIl0gaXMg
W29iamVjdCBOYW1lZE5vZGVNYXBdCiBQQVNTIGFbInNoYWRvd1Jvb3QiXSBpcyBudWxsCiBQQVNT
IGFbInNjcm9sbFRvcCJdIGlzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNTFiNDlmZTBkMy4uNjJmZDAyZWNk
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxOS0xMC0wMSAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cgUGFydHNdIFBhcnNl
ICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBwYXJzaW5nIGZvciBFbGVtZW50ICdwYXJ0JyBhdHRyaWJ1dGUgYW5kIHRo
ZSBJREwgaW50ZXJmYWNlLgorICAgICAgICBBbHNvIGFkZCBhIGZlYXR1cmUgZmxhZyBmb3IgQ1NT
IFNoYWRvdyBQYXJ0cy4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6aXNO
b25FbXB0eVRva2VuTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGFzc0F0dHJp
YnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cGFydEF0dHJpYnV0ZUNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cGFydE5hbWVzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Y2xhc3NT
dHJpbmdIYXNDbGFzc05hbWUpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6Cisg
ICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEu
Y3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnRSYXJlRGF0YTo6cGFydExpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRQYXJ0TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFy
ZURhdGE6OnBhcnROYW1lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURh
dGE6OnNldFBhcnROYW1lcyk6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzU2hhZG93UGFydHNF
bmFibGVkIGNvbnN0KToKKwogMjAxOS0xMC0wMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3JkR3JhcGhpY3NdIEltcGxlbWVudCBzeW5jIG1ldGhv
ZHMgZm9yIHBvc2l0aW9uLCBib3VuZHMgb3JpZ2luCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
NjE1YjA1YjgyNDguLjQxYTAwNzE3YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xNzE5
LDYgKzE3MTksOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgogICAgICAgICAgICAgZG9jdW1l
bnQoKS5pbnZhbGlkYXRlQWNjZXNzS2V5Q2FjaGUoKTsKICAgICAgICAgZWxzZSBpZiAobmFtZSA9
PSBIVE1MTmFtZXM6OmNsYXNzQXR0cikKICAgICAgICAgICAgIGNsYXNzQXR0cmlidXRlQ2hhbmdl
ZChuZXdWYWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0QXR0
cikKKyAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKICAgICAgICAg
ZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OmlkQXR0cikgewogICAgICAgICAgICAgQXRvbVN0
cmluZyBvbGRJZCA9IGVsZW1lbnREYXRhKCktPmlkRm9yU3R5bGVSZXNvbHV0aW9uKCk7CiAgICAg
ICAgICAgICBBdG9tU3RyaW5nIG5ld0lkID0gbWFrZUlkRm9yU3R5bGVSZXNvbHV0aW9uKG5ld1Zh
bHVlLCBkb2N1bWVudCgpLmluUXVpcmtzTW9kZSgpKTsKQEAgLTE3NjEsNyArMTc2Myw3IEBAIHZv
aWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBj
b25zdCBBdG9tU3RyaW5nJiBvbGRWCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgotc3RhdGljIGlubGluZSBib29sIGNsYXNzU3RyaW5nSGFzQ2xhc3NOYW1lKGNvbnN0IENo
YXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc05vbkVtcHR5VG9rZW5MaXN0KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMs
IHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBBU1NFUlQobGVuZ3RoID4gMCk7CiAKQEAgLTE3NzUs
MTYgKzE3NzcsMTYgQEAgc3RhdGljIGlubGluZSBib29sIGNsYXNzU3RyaW5nSGFzQ2xhc3NOYW1l
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2kKICAgICByZXR1cm4gaSA8IGxl
bmd0aDsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGNsYXNzU3RyaW5nSGFzQ2xhc3NOYW1lKGNv
bnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQorc3RhdGljIGlubGluZSBib29sIGlzTm9u
RW1wdHlUb2tlbkxpc3QoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nVmFsdWUpCiB7Ci0gICAgdW5z
aWduZWQgbGVuZ3RoID0gbmV3Q2xhc3NTdHJpbmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgbGVu
Z3RoID0gc3RyaW5nVmFsdWUubGVuZ3RoKCk7CiAKICAgICBpZiAoIWxlbmd0aCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG5ld0NsYXNzU3RyaW5nLmlzOEJpdCgpKQotICAgICAg
ICByZXR1cm4gY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUobmV3Q2xhc3NTdHJpbmcuY2hhcmFjdGVy
czgoKSwgbGVuZ3RoKTsKLSAgICByZXR1cm4gY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUobmV3Q2xh
c3NTdHJpbmcuY2hhcmFjdGVyczE2KCksIGxlbmd0aCk7CisgICAgaWYgKHN0cmluZ1ZhbHVlLmlz
OEJpdCgpKQorICAgICAgICByZXR1cm4gaXNOb25FbXB0eVRva2VuTGlzdChzdHJpbmdWYWx1ZS5j
aGFyYWN0ZXJzOCgpLCBsZW5ndGgpOworICAgIHJldHVybiBpc05vbkVtcHR5VG9rZW5MaXN0KHN0
cmluZ1ZhbHVlLmNoYXJhY3RlcnMxNigpLCBsZW5ndGgpOwogfQogCiB2b2lkIEVsZW1lbnQ6OmNs
YXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdDbGFzc1N0cmluZykKQEAg
LTE3OTQsNyArMTc5Niw3IEBAIHZvaWQgRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQogICAgICAgICBlbnN1cmVVbmlxdWVFbGVt
ZW50RGF0YSgpOwogCiAgICAgYm9vbCBzaG91bGRGb2xkQ2FzZSA9IGRvY3VtZW50KCkuaW5RdWly
a3NNb2RlKCk7Ci0gICAgYm9vbCBuZXdTdHJpbmdIYXNDbGFzc2VzID0gY2xhc3NTdHJpbmdIYXND
bGFzc05hbWUobmV3Q2xhc3NTdHJpbmcpOworICAgIGJvb2wgbmV3U3RyaW5nSGFzQ2xhc3NlcyA9
IGlzTm9uRW1wdHlUb2tlbkxpc3QobmV3Q2xhc3NTdHJpbmcpOwogCiAgICAgYXV0byBvbGRDbGFz
c05hbWVzID0gZWxlbWVudERhdGEoKS0+Y2xhc3NOYW1lcygpOwogICAgIGF1dG8gbmV3Q2xhc3NO
YW1lcyA9IG5ld1N0cmluZ0hhc0NsYXNzZXMgPyBTcGFjZVNwbGl0U3RyaW5nKG5ld0NsYXNzU3Ry
aW5nLCBzaG91bGRGb2xkQ2FzZSkgOiBTcGFjZVNwbGl0U3RyaW5nKCk7CkBAIC0xODA5LDYgKzE4
MTEsMjAgQEAgdm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbVN0
cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnBhcnRBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlKQoreworICAgIGJvb2wgaGFz
UGFydHMgPSBpc05vbkVtcHR5VG9rZW5MaXN0KG5ld1ZhbHVlKTsKKyAgICBpZiAoaGFzUGFydHMg
fHwgIXBhcnROYW1lcygpLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIG5ld1BhcnRzID0gaGFz
UGFydHMgPyBTcGFjZVNwbGl0U3RyaW5nKG5ld1ZhbHVlLCBmYWxzZSkgOiBTcGFjZVNwbGl0U3Ry
aW5nKCk7CisgICAgICAgIGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLnNldFBhcnROYW1lcyhXVEZN
b3ZlKG5ld1BhcnRzKSk7CisgICAgfQorCisgICAgaWYgKGhhc1JhcmVEYXRhKCkpIHsKKyAgICAg
ICAgaWYgKGF1dG8qIHBhcnRMaXN0ID0gZWxlbWVudFJhcmVEYXRhKCktPnBhcnRMaXN0KCkpCisg
ICAgICAgICAgICBwYXJ0TGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZChuZXdW
YWx1ZSk7CisgICAgfQorfQorCiBVUkwgRWxlbWVudDo6YWJzb2x1dGVMaW5rVVJMKCkgY29uc3QK
IHsKICAgICBpZiAoIWlzTGluaygpKQpAQCAtMzQxNCw2ICszNDMwLDE5IEBAIERPTVRva2VuTGlz
dCYgRWxlbWVudDo6Y2xhc3NMaXN0KCkKICAgICByZXR1cm4gKmRhdGEuY2xhc3NMaXN0KCk7CiB9
CiAKK2lubGluZSBTcGFjZVNwbGl0U3RyaW5nIEVsZW1lbnQ6OnBhcnROYW1lcygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGVsZW1lbnRSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPnBhcnRO
YW1lcygpIDogU3BhY2VTcGxpdFN0cmluZygpOworfQorCitET01Ub2tlbkxpc3QmIEVsZW1lbnQ6
OnBhcnQoKQoreworICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKKyAg
ICBpZiAoIWRhdGEucGFydExpc3QoKSkKKyAgICAgICAgZGF0YS5zZXRQYXJ0TGlzdChtYWtlVW5p
cXVlPERPTVRva2VuTGlzdD4oKnRoaXMsIEhUTUxOYW1lczo6cGFydEF0dHIpKTsKKyAgICByZXR1
cm4gKmRhdGEucGFydExpc3QoKTsKK30KKwogRGF0YXNldERPTVN0cmluZ01hcCYgRWxlbWVudDo6
ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhJiBkYXRhID0gZW5zdXJlRWxlbWVudFJh
cmVEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBiMjlhMDc2MzBiYS4uYzM0YjU3ZWJmYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDUxLDYgKzQ1MSw5IEBAIHB1YmxpYzoKIAogICAgIFdF
QkNPUkVfRVhQT1JUIERPTVRva2VuTGlzdCYgY2xhc3NMaXN0KCk7CiAKKyAgICBTcGFjZVNwbGl0
U3RyaW5nIHBhcnROYW1lcygpIGNvbnN0OworICAgIERPTVRva2VuTGlzdCYgcGFydCgpOworCiAg
ICAgRGF0YXNldERPTVN0cmluZ01hcCYgZGF0YXNldCgpOwogCiAjaWYgRU5BQkxFKFZJREVPKQpA
QCAtNjEzLDEwICs2MTYsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBjbGVhclRhYkluZGV4RXhw
bGljaXRseUlmTmVlZGVkKCk7CiAgICAgdm9pZCBzZXRUYWJJbmRleEV4cGxpY2l0bHkoaW50KTsK
IAotICAgIC8vIGNsYXNzQXR0cmlidXRlQ2hhbmdlZCgpIGV4aXN0cyB0byBzaGFyZSBjb2RlIGJl
dHdlZW4KLSAgICAvLyBwYXJzZUF0dHJpYnV0ZSAoY2FsbGVkIHZpYSBzZXRBdHRyaWJ1dGUoKSkg
YW5kCi0gICAgLy8gc3ZnQXR0cmlidXRlQ2hhbmdlZCAoY2FsbGVkIHdoZW4gZWxlbWVudC5jbGFz
c05hbWUuYmFzZVZhbHVlIGlzIHNldCkKICAgICB2b2lkIGNsYXNzQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBBdG9tU3RyaW5nJiBuZXdDbGFzc1N0cmluZyk7CisgICAgdm9pZCBwYXJ0QXR0cmlidXRl
Q2hhbmdlZChjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSk7CiAKICAgICB2b2lkIGFkZFNoYWRv
d1Jvb3QoUmVmPFNoYWRvd1Jvb3Q+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggNGM1
NTUwYWVlMWIuLjRjNTFkMGFlNTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCkBAIC0zNCw2ICsz
NCw3IEBACiAgICAgW0NFUmVhY3Rpb25zLCBSZWZsZWN0PWNsYXNzXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGNsYXNzTmFtZTsKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01Ub2tlbkxpc3QgY2xhc3NMaXN0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0
XS4KICAgICBbQ0VSZWFjdGlvbnMsIEVuYWJsZWRBdFJ1bnRpbWU9U2hhZG93RE9NLCBSZWZsZWN0
LCBVbnNjb3BhYmxlXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNsb3Q7CisgICAgW0VuYWJsZWRBdFJ1
bnRpbWU9Q1NTU2hhZG93UGFydHMsIFNhbWVPYmplY3QsIFB1dEZvcndhcmRzPXZhbHVlXSByZWFk
b25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHBhcnQ7CiAKICAgICBbRE9NSklUPVJlYWRET01d
IGJvb2xlYW4gaGFzQXR0cmlidXRlcygpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYW1lZE5v
ZGVNYXAgYXR0cmlidXRlczsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDFjYjUwNThiNTIxLi5iMDRlZDhh
NmNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQzLDcgKzQz
LDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEgewog
I2VuZGlmCiAgICAgTGF5b3V0U2l6ZSBzaXplRm9yUmVzaXppbmc7CiAgICAgSW50UG9pbnQgc2F2
ZWRMYXllclNjcm9sbFBvc2l0aW9uOwotICAgIHZvaWQqIHBvaW50ZXJzWzhdOworICAgIHZvaWQq
IHBvaW50ZXJzWzEwXTsKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgIHZv
aWQqIGludGVyc2VjdGlvbk9ic2VydmVyRGF0YTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oCmluZGV4IGNlOGI0OGU5MzM4Li5iODQ2OWEwOTg4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZXNpemVPYnNlcnZlci5oIgogI2luY2x1ZGUgIlNoYWRv
d1Jvb3QuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCiAjaW5jbHVkZSAiU3R5bGVQ
cm9wZXJ0eU1hcC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMDIsNiArMTAzLDEyIEBA
IHB1YmxpYzoKICAgICBib29sIGhhc0VsZW1lbnRJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9oYXNFbGVtZW50SWRlbnRpZmllcjsgfQogICAgIHZvaWQgc2V0SGFzRWxlbWVudElkZW50aWZp
ZXIoYm9vbCB2YWx1ZSkgeyBtX2hhc0VsZW1lbnRJZGVudGlmaWVyID0gdmFsdWU7IH0KIAorICAg
IERPTVRva2VuTGlzdCogcGFydExpc3QoKSBjb25zdCB7IHJldHVybiBtX3BhcnRMaXN0LmdldCgp
OyB9CisgICAgdm9pZCBzZXRQYXJ0TGlzdChzdGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBw
YXJ0TGlzdCkgeyBtX3BhcnRMaXN0ID0gV1RGTW92ZShwYXJ0TGlzdCk7IH0KKworICAgIGNvbnN0
IFNwYWNlU3BsaXRTdHJpbmcmIHBhcnROYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFydE5hbWVz
OyB9CisgICAgdm9pZCBzZXRQYXJ0TmFtZXMoU3BhY2VTcGxpdFN0cmluZyYmIHBhcnROYW1lcykg
eyBtX3BhcnROYW1lcyA9IFdURk1vdmUocGFydE5hbWVzKTsgfQorCiAjaWYgRU5BQkxFKElOVEVS
U0VDVElPTl9PQlNFUlZFUikKICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEqIGludGVyc2Vj
dGlvbk9ic2VydmVyRGF0YSgpIHsgcmV0dXJuIG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhLmdl
dCgpOyB9CiAgICAgdm9pZCBzZXRJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEoc3RkOjp1bmlxdWVf
cHRyPEludGVyc2VjdGlvbk9ic2VydmVyRGF0YT4mJiBkYXRhKSB7IG1faW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJEYXRhID0gV1RGTW92ZShkYXRhKTsgfQpAQCAtMTg2LDYgKzE5Myw5IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlNYXA+IG1fYXR0cmlidXRlU3R5bGVNYXA7CiAjZW5k
aWYKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+IG1fcGFydExpc3Q7CisgICAg
U3BhY2VTcGxpdFN0cmluZyBtX3BhcnROYW1lczsKKwogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0Vs
ZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgppbmRleCBmODBkNWQ2ZDEzNi4uZmIyNmRiNzZmZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0zMzMsNiArMzMzLDcgQEAgb253
ZWJraXR3aWxscmV2ZWFscmlnaHQKIG9ud2Via2l0d2lsbHJldmVhbHRvcAogb3Blbgogb3B0aW11
bQorcGFydAogcGF0dGVybgogcGxhY2Vob2xkZXIKIHBsYXlzaW5saW5lCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGNmMzNhMDBkMWJjLi5iOTlk
ZmY2OWVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgKQEAgLTM3Myw2ICszNzMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMYXp5SW1hZ2VMb2Fk
aW5nRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9
IGFyZUVuYWJsZWQ7IH0KICAgICBib29sIGxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDsgfQogCisgICAgdm9pZCBzZXRDU1NT
aGFkb3dQYXJ0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0NTU1NoYWRvd1BhcnRzRW5h
YmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgY3NzU2hhZG93UGFydHNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZDsgfQorCiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMmIHNoYXJlZEZlYXR1cmVzKCk7CiAK
ICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC01NzQsNiArNTc3LDcgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3NlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkIHsgdHJ1ZSB9OworICAgIGJvb2wg
bV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCB7IGZhbHNlIH07CiAKICAgICBmcmllbmQgY2xhc3Mg
V1RGOjpOZXZlckRlc3Ryb3llZDxSdW50aW1lRW5hYmxlZEZlYXR1cmVzPjsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGU3NjcwMDlmYjVmLi5kYmI2NDBmYzc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMC0wMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W0NTUyBTaGFkb3cgUGFydHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKKyAgICAgICAgQWRkIGV4cGVyaW1lbnRhbCBmZWF0dXJlLCBkZWZhdWx0IHRvIGRp
c2FibGVkIGZvciBub3cuCisKIDIwMTktMTAtMDEgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByYWNlcyBjb25kaXRpb24gd2hlbiB2YWxpZGF0aW5n
IGNhcHR1cmUgc2FuZGJveCBleHRlbnNpb24gcmV2b2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMzY2YTBlZGE0ZmQuLjE3ZTE0Y2MxM2ZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE0NDEsNiArMTQ0MSwx
NCBAQCBGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6CiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIHdlYmNvcmVOYW1lOiBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQK
IAorQ1NTU2hhZG93UGFydHNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgU2hhZG93IFBhcnRzIgorICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIFNoYWRvdyBQYXJ0cyIKKyAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwor
CiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4u
CiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCA3OGJiNzE5YzI4MS4uMzJiZTA0YjA2MWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0xMC0wMSAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cgUGFydHNdIFBhcnNl
ICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBp
bml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGNzc1NoYWRvd1BhcnRzRW5h
YmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJs
ZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2Vz
Q2hhbmdlZDpdKToKKwogMjAxOS0wOS0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlc3VycmVjdCBNYWMgQ01ha2UgYnVpbGQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCmluZGV4IDEwMDJkNzI4ZmQ4Li5mZTM1NmM5ZDIzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCkBAIC0yMDEsNiArMjAxLDcgQEAKICNkZWZpbmUgV2ViS2l0UHVuY2hPdXRXaGl0
ZUJhY2tncm91bmRzSW5EYXJrTW9kZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRQdW5jaE91dFdoaXRl
QmFja2dyb3VuZHNJbkRhcmtNb2RlIgogI2RlZmluZSBXZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtl
eSBAIldlYktpdFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQiCisjZGVmaW5lIFdl
YktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NTaGFkb3dQ
YXJ0c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZh
dGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2Rz
IGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzY4NTQ5ZGQ0YmIuLjA0YTZmMzY0NjkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAg
LTY5MSw2ICs2OTEsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICNlbmRpZgogICAgICAgICBATk8s
IFdlYktpdENvcmVNYXRoTUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJL
aXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAg
ICAgQE5PLCBXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0zNTA3LDYgKzM1MDgsMTYg
QEAgLSAodm9pZClzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOihCT09MKWZs
YWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTCljc3NT
aGFkb3dQYXJ0c0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClz
ZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRl
cm5hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGRlZjAyNTFkZjZiLi5jZGFmN2MyZjNkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCkBAIC02MTUsNiArNjE1LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0g
KHZvaWQpc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDooQk9PTClmbGFnOwog
LSAoQk9PTClsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOwogCistICh2b2lkKXNl
dENTU1NoYWRvd1BhcnRzRW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTCljc3NTaGFkb3dQYXJ0
c0VuYWJsZWQ7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHZpc3VhbFZpZXdwb3J0QVBJ
RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIENTU09NVmlld1Njcm9sbGluZ0FQ
SUVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBsYXJnZUltYWdlQXN5bmNEZWNv
ZGluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggMWU5MjU4NTg0ZDMuLmM5MTIyOWMyMGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zMTg3LDYgKzMxODcsNyBAQCAtICh2b2lkKV9wcmVm
ZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVyZW5jZXMKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkUmVzcG9uc2l2
ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dERpYWxvZ0VsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBkaWFsb2dFbGVtZW50RW5hYmxlZF0p
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0S2V5Z2Vu
RWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIGtleWdlbkVsZW1lbnRFbmFibGVkXSk7CisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NTaGFkb3dQYXJ0
c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1NoYWRvd1BhcnRzRW5hYmxlZF0pOwogCiAjaWYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRMZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVy
ZW5jZXMubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNzNlYTg4ODY1OS4uZGYxZmUzYTEw
MDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOS0xMC0wMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cgUGFydHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVu
dGFsRmVhdHVyZXMpOgorCiAyMDE5LTEwLTAxICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgcmFjZXMgY29uZGl0aW9uIHdoZW4gdmFsaWRhdGluZyBj
YXB0dXJlIHNhbmRib3ggZXh0ZW5zaW9uIHJldm9jYXRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBiYTI5ZjU1YjU3NS4uODI5NWEzYjM3MDUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg4MCw2ICs4
ODAsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJl
bmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhUmVjb3JkZXJFbmFi
bGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5h
YmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFn
ZXNFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5hYmxl
ZDpZRVNdOwogfQogCiAvLyBDYWxsZWQgYmVmb3JlIGVhY2ggdGVzdC4K
</data>
<flag name="review"
          id="395659"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379949</attachid>
            <date>2019-10-01 14:21:11 -0700</date>
            <delta_ts>2019-10-01 15:48:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-part-5.patch</filename>
            <type>text/plain</type>
            <size>20989</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQwOGU2ZWM0NDAwLi5hMTQ4ZmJhNTIy
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTkt
MTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBQYXJzZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlz
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hh
ZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQudHh0OgorCiAyMDE5LTEwLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQgV1BUIHRlc3Rz
IGZvciBDU1MgU2hhZG93IFBhcnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1j
aGFuZ2UtcGFydC1uYW1lLWlkbC1kb210b2tlbmxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9p
bnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0LWV4cGVjdGVkLnR4
dAppbmRleCA2NWEwNzIxMWZlZi4uNmZmN2M2MGZiYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52
YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5s
aXN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91
bGQgYmUgZ3JlZW46CiAKLUZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29sb3Ig
dmlhIHBhcnQgSURMIERPTVRva2VuTGlzdCBhdHRyaWJ1dGUuIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdlbC5wYXJ0LnJlbW92ZScpCitGQUlMIFBhcnQgaW4gc2VsZWN0
ZWQgaG9zdCBjaGFuZ2VkIGNvbG9yIHZpYSBwYXJ0IElETCBET01Ub2tlbkxpc3QgYXR0cmlidXRl
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigw
LCAwLCAyNTUpIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3BhcnQtbmFtZS1pZGwtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVjdGVkLnR4dAppbmRleCBmYWI4OTZiM2Iz
MC4uYWZiYzMwYzNjNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvcGFydC1uYW1lLWlkbC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNoYWRvdy1wYXJ0cy9wYXJ0LW5hbWUtaWRsLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAotRkFJTCBBY2Nlc3MgdG8gLnBhcnQgcmV0dXJucyBhbiBlbXB0eSBET01Ub2tlbkxp
c3QuIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgn
KQotRkFJTCBNdWx0aXBsZSBuYW1lcyBnaXZlIGEgRE9NVG9rZW5MaXN0IHdpdGggbXVsdGlwbGUg
ZW50cmllcy4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3BhcnRzLmxl
bmd0aCcpCi1GQUlMIERPTVRva2VuTGlzdCBjcmVhdGVkIGJ5IGFjY2VzcyBpcyBwZXJzaXN0ZWQu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwYXJ0cy5sZW5ndGgnKQot
RkFJTCBDaGFuZ2VzIGluIERPTVRva2VuTGlzdCBhcmUgcmVmZWN0ZWQgaW4gYXR0cmlidXRlLiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncGFydHMubGVuZ3RoJykKK1BB
U1MgQWNjZXNzIHRvIC5wYXJ0IHJldHVybnMgYW4gZW1wdHkgRE9NVG9rZW5MaXN0LiAKK1BBU1Mg
TXVsdGlwbGUgbmFtZXMgZ2l2ZSBhIERPTVRva2VuTGlzdCB3aXRoIG11bHRpcGxlIGVudHJpZXMu
IAorUEFTUyBET01Ub2tlbkxpc3QgY3JlYXRlZCBieSBhY2Nlc3MgaXMgcGVyc2lzdGVkLiAKK1BB
U1MgQ2hhbmdlcyBpbiBET01Ub2tlbkxpc3QgYXJlIHJlZmVjdGVkIGluIGF0dHJpYnV0ZS4gCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1p
bi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL2RvbS1zdGF0aWMt
cHJvcGVydHktZm9yLWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYTUxYTZhZGMyZDQu
LmVlYzUyMjdhMzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9kb20vZG9tLXN0YXRpYy1w
cm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vZG9tLXN0YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMTM3LDYgKzEzNyw3IEBAIFBBU1MgYVsiaWQiXSBpcyBmb28KIFBBU1MgYVsiY2xhc3NOYW1l
Il0gaXMgCiBQQVNTIGFbImNsYXNzTGlzdCJdIGlzIAogUEFTUyBhWyJzbG90Il0gaXMgCitQQVNT
IGFbInBhcnQiXSBpcyAKIFBBU1MgYVsiYXR0cmlidXRlcyJdIGlzIFtvYmplY3QgTmFtZWROb2Rl
TWFwXQogUEFTUyBhWyJzaGFkb3dSb290Il0gaXMgbnVsbAogUEFTUyBhWyJzY3JvbGxUb3AiXSBp
cyAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2pzL2RvbS9kb20t
c3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9qcy9kb20vZG9tLXN0YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRl
cmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA0MTExNzQxYmFiZi4uYTA4ZTM1YmUzOGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvanMvZG9tL2RvbS1zdGF0aWMtcHJv
cGVydHktZm9yLWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9qcy9kb20vZG9tLXN0YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMTQwLDYgKzE0MCw3IEBAIFBBU1MgYVsiaWQiXSBpcyBmb28KIFBB
U1MgYVsiY2xhc3NOYW1lIl0gaXMgCiBQQVNTIGFbImNsYXNzTGlzdCJdIGlzIAogUEFTUyBhWyJz
bG90Il0gaXMgCitQQVNTIGFbInBhcnQiXSBpcyAKIFBBU1MgYVsiYXR0cmlidXRlcyJdIGlzIFtv
YmplY3QgTmFtZWROb2RlTWFwXQogUEFTUyBhWyJzaGFkb3dSb290Il0gaXMgbnVsbAogUEFTUyBh
WyJzY3JvbGxUb3AiXSBpcyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUxYjQ5ZmUwZDMuLmJmYTA4ZDM2MTc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTktMTAtMDEgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZG93IFBhcnRzXSBQYXJzZSAn
cGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgQWRkIHBhcnNpbmcgZm9yIEVsZW1lbnQgJ3BhcnQnIGF0dHJpYnV0ZSBhbmQgdGhlIElE
TCBpbnRlcmZhY2UuCisgICAgICAgIEFsc28gYWRkIGEgZmVhdHVyZSBmbGFnIGZvciBDU1MgU2hh
ZG93IFBhcnRzLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjppc05vbkVt
cHR5VG9rZW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzQXR0cmlidXRl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0QXR0cmlidXRlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6cGFydCk6CisgICAgICAgIChXZWJDb3JlOjpjbGFzc1N0cmlu
Z0hhc0NsYXNzTmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6
CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpwYXJ0TGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
UmFyZURhdGE6OnNldFBhcnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0
YTo6cGFydE5hbWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6
c2V0UGFydE5hbWVzKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAg
ICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NTaGFkb3dQYXJ0c0VuYWJs
ZWQgY29uc3QpOgorCiAyMDE5LTEwLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbQ29vcmRHcmFwaGljc10gSW1wbGVtZW50IHN5bmMgbWV0aG9kcyBm
b3IgcG9zaXRpb24sIGJvdW5kcyBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2MTVi
MDViODI0OC4uNTAxNDRhOTBmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3MTksNiAr
MTcxOSw4IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgICAgICBkb2N1bWVudCgp
LmludmFsaWRhdGVBY2Nlc3NLZXlDYWNoZSgpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhU
TUxOYW1lczo6Y2xhc3NBdHRyKQogICAgICAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKG5l
d1ZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OnBhcnRBdHRyKQor
ICAgICAgICAgICAgcGFydEF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOwogICAgICAgICBlbHNl
IGlmIChuYW1lID09IEhUTUxOYW1lczo6aWRBdHRyKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5n
IG9sZElkID0gZWxlbWVudERhdGEoKS0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICAgICAg
ICAgIEF0b21TdHJpbmcgbmV3SWQgPSBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24obmV3VmFsdWUs
IGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpOwpAQCAtMTc2MSw3ICsxNzYzLDcgQEAgdm9pZCBF
bGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0
IEF0b21TdHJpbmcmIG9sZFYKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
Ci1zdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3QgQ2hhcmFj
dGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorc3RhdGljIGlubGluZSBib29s
IGlzTm9uRW1wdHlUb2tlbkxpc3QoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5z
aWduZWQgbGVuZ3RoKQogewogICAgIEFTU0VSVChsZW5ndGggPiAwKTsKIApAQCAtMTc3NSwxNiAr
MTc3NywxNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29u
c3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaQogICAgIHJldHVybiBpIDwgbGVuZ3Ro
OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgY2xhc3NTdHJpbmdIYXNDbGFzc05hbWUoY29uc3Qg
QXRvbVN0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0
eVRva2VuTGlzdChjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmdWYWx1ZSkKIHsKLSAgICB1bnNpZ25l
ZCBsZW5ndGggPSBuZXdDbGFzc1N0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGgg
PSBzdHJpbmdWYWx1ZS5sZW5ndGgoKTsKIAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAobmV3Q2xhc3NTdHJpbmcuaXM4Qml0KCkpCi0gICAgICAgIHJl
dHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0cmluZy5jaGFyYWN0ZXJzOCgp
LCBsZW5ndGgpOwotICAgIHJldHVybiBjbGFzc1N0cmluZ0hhc0NsYXNzTmFtZShuZXdDbGFzc1N0
cmluZy5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKKyAgICBpZiAoc3RyaW5nVmFsdWUuaXM4Qml0
KCkpCisgICAgICAgIHJldHVybiBpc05vbkVtcHR5VG9rZW5MaXN0KHN0cmluZ1ZhbHVlLmNoYXJh
Y3RlcnM4KCksIGxlbmd0aCk7CisgICAgcmV0dXJuIGlzTm9uRW1wdHlUb2tlbkxpc3Qoc3RyaW5n
VmFsdWUuY2hhcmFjdGVyczE2KCksIGxlbmd0aCk7CiB9CiAKIHZvaWQgRWxlbWVudDo6Y2xhc3NB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21TdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQpAQCAtMTc5
NCw3ICsxNzk2LDcgQEAgdm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
QXRvbVN0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnRE
YXRhKCk7CiAKICAgICBib29sIHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS5pblF1aXJrc01v
ZGUoKTsKLSAgICBib29sIG5ld1N0cmluZ0hhc0NsYXNzZXMgPSBjbGFzc1N0cmluZ0hhc0NsYXNz
TmFtZShuZXdDbGFzc1N0cmluZyk7CisgICAgYm9vbCBuZXdTdHJpbmdIYXNDbGFzc2VzID0gaXNO
b25FbXB0eVRva2VuTGlzdChuZXdDbGFzc1N0cmluZyk7CiAKICAgICBhdXRvIG9sZENsYXNzTmFt
ZXMgPSBlbGVtZW50RGF0YSgpLT5jbGFzc05hbWVzKCk7CiAgICAgYXV0byBuZXdDbGFzc05hbWVz
ID0gbmV3U3RyaW5nSGFzQ2xhc3NlcyA/IFNwYWNlU3BsaXRTdHJpbmcobmV3Q2xhc3NTdHJpbmcs
IHNob3VsZEZvbGRDYXNlKSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKQEAgLTE4MDksNiArMTgxMSwy
MyBAQCB2b2lkIEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9tU3RyaW5n
JiBuZXdDbGFzc1N0cmluZykKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cGFydEF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmluZyYgbmV3VmFsdWUpCit7CisgICAgaWYgKCFSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmNzc1NoYWRvd1BhcnRzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBib29sIGhhc1BhcnRzID0gaXNOb25FbXB0eVRva2Vu
TGlzdChuZXdWYWx1ZSk7CisgICAgaWYgKGhhc1BhcnRzIHx8ICFwYXJ0TmFtZXMoKS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgYXV0byBuZXdQYXJ0cyA9IGhhc1BhcnRzID8gU3BhY2VTcGxpdFN0cmlu
ZyhuZXdWYWx1ZSwgZmFsc2UpIDogU3BhY2VTcGxpdFN0cmluZygpOworICAgICAgICBlbnN1cmVF
bGVtZW50UmFyZURhdGEoKS5zZXRQYXJ0TmFtZXMoV1RGTW92ZShuZXdQYXJ0cykpOworICAgIH0K
KworICAgIGlmIChoYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIGlmIChhdXRvKiBwYXJ0TGlzdCA9
IGVsZW1lbnRSYXJlRGF0YSgpLT5wYXJ0TGlzdCgpKQorICAgICAgICAgICAgcGFydExpc3QtPmFz
c29jaWF0ZWRBdHRyaWJ1dGVWYWx1ZUNoYW5nZWQobmV3VmFsdWUpOworICAgIH0KK30KKwogVVJM
IEVsZW1lbnQ6OmFic29sdXRlTGlua1VSTCgpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0xpbmsoKSkK
QEAgLTM0MTQsNiArMzQzMywxOSBAQCBET01Ub2tlbkxpc3QmIEVsZW1lbnQ6OmNsYXNzTGlzdCgp
CiAgICAgcmV0dXJuICpkYXRhLmNsYXNzTGlzdCgpOwogfQogCitpbmxpbmUgU3BhY2VTcGxpdFN0
cmluZyBFbGVtZW50OjpwYXJ0TmFtZXMoKSBjb25zdAoreworICAgIHJldHVybiBlbGVtZW50UmFy
ZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5wYXJ0TmFtZXMoKSA6IFNwYWNlU3BsaXRTdHJp
bmcoKTsKK30KKworRE9NVG9rZW5MaXN0JiBFbGVtZW50OjpwYXJ0KCkKK3sKKyAgICBhdXRvJiBk
YXRhID0gZW5zdXJlRWxlbWVudFJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLnBhcnRMaXN0KCkp
CisgICAgICAgIGRhdGEuc2V0UGFydExpc3QobWFrZVVuaXF1ZTxET01Ub2tlbkxpc3Q+KCp0aGlz
LCBIVE1MTmFtZXM6OnBhcnRBdHRyKSk7CisgICAgcmV0dXJuICpkYXRhLnBhcnRMaXN0KCk7Cit9
CisKIERhdGFzZXRET01TdHJpbmdNYXAmIEVsZW1lbnQ6OmRhdGFzZXQoKQogewogICAgIEVsZW1l
bnRSYXJlRGF0YSYgZGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggYjI5YTA3NjMwYmEuLmMzNGI1N2ViZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAg
LTQ1MSw2ICs0NTEsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBET01Ub2tlbkxp
c3QmIGNsYXNzTGlzdCgpOwogCisgICAgU3BhY2VTcGxpdFN0cmluZyBwYXJ0TmFtZXMoKSBjb25z
dDsKKyAgICBET01Ub2tlbkxpc3QmIHBhcnQoKTsKKwogICAgIERhdGFzZXRET01TdHJpbmdNYXAm
IGRhdGFzZXQoKTsKIAogI2lmIEVOQUJMRShWSURFTykKQEAgLTYxMywxMCArNjE2LDggQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgY2xlYXJUYWJJbmRleEV4cGxpY2l0bHlJZk5lZWRlZCgpOwogICAg
IHZvaWQgc2V0VGFiSW5kZXhFeHBsaWNpdGx5KGludCk7CiAKLSAgICAvLyBjbGFzc0F0dHJpYnV0
ZUNoYW5nZWQoKSBleGlzdHMgdG8gc2hhcmUgY29kZSBiZXR3ZWVuCi0gICAgLy8gcGFyc2VBdHRy
aWJ1dGUgKGNhbGxlZCB2aWEgc2V0QXR0cmlidXRlKCkpIGFuZAotICAgIC8vIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQgKGNhbGxlZCB3aGVuIGVsZW1lbnQuY2xhc3NOYW1lLmJhc2VWYWx1ZSBpcyBzZXQp
CiAgICAgdm9pZCBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmluZyYgbmV3Q2xh
c3NTdHJpbmcpOworICAgIHZvaWQgcGFydEF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbVN0cmlu
ZyYgbmV3VmFsdWUpOwogCiAgICAgdm9pZCBhZGRTaGFkb3dSb290KFJlZjxTaGFkb3dSb290PiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IDRjNTU1MGFlZTFiLi40YzUxZDBhZTU0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtMzQsNiArMzQsNyBAQAogICAgIFtDRVJlYWN0aW9u
cywgUmVmbGVjdD1jbGFzc10gYXR0cmlidXRlIERPTVN0cmluZyBjbGFzc05hbWU7CiAgICAgW1B1
dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGNsYXNzTGlz
dDsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCiAgICAgW0NFUmVhY3Rpb25zLCBF
bmFibGVkQXRSdW50aW1lPVNoYWRvd0RPTSwgUmVmbGVjdCwgVW5zY29wYWJsZV0gYXR0cmlidXRl
IERPTVN0cmluZyBzbG90OworICAgIFtFbmFibGVkQXRSdW50aW1lPUNTU1NoYWRvd1BhcnRzLCBT
YW1lT2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2Vu
TGlzdCBwYXJ0OwogCiAgICAgW0RPTUpJVD1SZWFkRE9NXSBib29sZWFuIGhhc0F0dHJpYnV0ZXMo
KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTmFtZWROb2RlTWFwIGF0dHJpYnV0ZXM7IC8vIEZJ
WE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmNwcAppbmRleCAxY2I1MDU4YjUyMS4uYjA0ZWQ4YTZjZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuY3BwCkBAIC00Myw3ICs0Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFz
RWxlbWVudFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsKICNlbmRpZgogICAgIExheW91dFNpemUg
c2l6ZUZvclJlc2l6aW5nOwogICAgIEludFBvaW50IHNhdmVkTGF5ZXJTY3JvbGxQb3NpdGlvbjsK
LSAgICB2b2lkKiBwb2ludGVyc1s4XTsKKyAgICB2b2lkKiBwb2ludGVyc1sxMF07CiAjaWYgRU5B
QkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICB2b2lkKiBpbnRlcnNlY3Rpb25PYnNlcnZl
ckRhdGE7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCBjZThi
NDhlOTMzOC4uYjg0NjlhMDk4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgK
QEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
UmVzaXplT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCisjaW5jbHVkZSAiU3Bh
Y2VTcGxpdFN0cmluZy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTAyLDYgKzEwMywxMiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNF
bGVtZW50SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzRWxlbWVudElkZW50aWZpZXI7
IH0KICAgICB2b2lkIHNldEhhc0VsZW1lbnRJZGVudGlmaWVyKGJvb2wgdmFsdWUpIHsgbV9oYXNF
bGVtZW50SWRlbnRpZmllciA9IHZhbHVlOyB9CiAKKyAgICBET01Ub2tlbkxpc3QqIHBhcnRMaXN0
KCkgY29uc3QgeyByZXR1cm4gbV9wYXJ0TGlzdC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UGFydExp
c3Qoc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gcGFydExpc3QpIHsgbV9wYXJ0TGlzdCA9
IFdURk1vdmUocGFydExpc3QpOyB9CisKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBwYXJ0
TmFtZXMoKSBjb25zdCB7IHJldHVybiBtX3BhcnROYW1lczsgfQorICAgIHZvaWQgc2V0UGFydE5h
bWVzKFNwYWNlU3BsaXRTdHJpbmcmJiBwYXJ0TmFtZXMpIHsgbV9wYXJ0TmFtZXMgPSBXVEZNb3Zl
KHBhcnROYW1lcyk7IH0KKwogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAgICAg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKiBpbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEoKSB7IHJl
dHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVyRGF0YS5nZXQoKTsgfQogICAgIHZvaWQgc2V0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKHN0ZDo6dW5pcXVlX3B0cjxJbnRlcnNlY3Rpb25PYnNlcnZl
ckRhdGE+JiYgZGF0YSkgeyBtX2ludGVyc2VjdGlvbk9ic2VydmVyRGF0YSA9IFdURk1vdmUoZGF0
YSk7IH0KQEAgLTE4Niw2ICsxOTMsOSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVByb3Bl
cnR5TWFwPiBtX2F0dHJpYnV0ZVN0eWxlTWFwOwogI2VuZGlmCiAKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8RE9NVG9rZW5MaXN0PiBtX3BhcnRMaXN0OworICAgIFNwYWNlU3BsaXRTdHJpbmcgbV9wYXJ0
TmFtZXM7CisKICAgICB2b2lkIHJlbGVhc2VQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqKTsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggZjgw
ZDVkNmQxMzYuLmZiMjZkYjc2ZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgpAQCAtMzMzLDYgKzMzMyw3IEBAIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0CiBv
bndlYmtpdHdpbGxyZXZlYWx0b3AKIG9wZW4KIG9wdGltdW0KK3BhcnQKIHBhdHRlcm4KIHBsYWNl
aG9sZGVyCiBwbGF5c2lubGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAppbmRleCBjZjMzYTAwZDFiYy4uYjk5ZGZmNjllYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0zNzMsNiArMzczLDkgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoYm9vbCBhcmVFbmFi
bGVkKSB7IG1fbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9v
bCBsYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF6eUltYWdlTG9h
ZGluZ0VuYWJsZWQ7IH0KIAorICAgIHZvaWQgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNDU1NTaGFkb3dQYXJ0c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAg
ICBib29sIGNzc1NoYWRvd1BhcnRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDU1NTaGFk
b3dQYXJ0c0VuYWJsZWQ7IH0KKwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzJiBzaGFyZWRGZWF0dXJlcygpOwogCiAjaWYgSEFWRShOU1VSTFNFU1NJT05f
V0VCU09DS0VUKQpAQCAtNTc0LDYgKzU3Nyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fbGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zZWN1cmVDb250ZXh0
Q2hlY2tzRW5hYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1faXNDU1NTaGFkb3dQYXJ0c0VuYWJs
ZWQgeyBmYWxzZSB9OwogCiAgICAgZnJpZW5kIGNsYXNzIFdURjo6TmV2ZXJEZXN0cm95ZWQ8UnVu
dGltZUVuYWJsZWRGZWF0dXJlcz47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlNzY3MDA5ZmI1Zi4uNDIyZTdk
YzBkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTAtMDEgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZG93IFBhcnRzXSBQYXJz
ZSAncGFydCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDI0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKworICAgICAgICBBZGQgZXhw
ZXJpbWVudGFsIGZlYXR1cmUsIGRlZmF1bHQgdG8gZGlzYWJsZWQgZm9yIG5vdy4KKwogMjAxOS0x
MC0wMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IHJhY2VzIGNvbmRpdGlvbiB3aGVuIHZhbGlkYXRpbmcgY2FwdHVyZSBzYW5kYm94IGV4dGVuc2lv
biByZXZvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRl
eCAzNjZhMGVkYTRmZC4uMTdlMTRjYzEzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbApAQCAtMTQ0MSw2ICsxNDQxLDE0IEBAIEZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZDoKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgd2ViY29y
ZU5hbWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAogCitDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFt
ZTogIkNTUyBTaGFkb3cgUGFydHMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSBDU1MgU2hhZG93IFBhcnRzIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKICMgRm9yIGludGVybmFsIGZlYXR1cmVz
OgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3QgcHJvdmlkZSBhIGh1
bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24gZm9yIGFsbCBkZWJ1
ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDc4YmI3MTlj
MjgxLi4xMjU3ZDFlZTFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE5LTEwLTAxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gUGFyc2UgJ3BhcnQnIGF0dHJpYnV0ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDA5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIGNzc1NoYWRvd1BhcnRzRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVm
ZXJlbmNlcyBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOS0wOS0zMCAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
c3VycmVjdCBNYWMgQ01ha2UgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDEwMDJkNzI4
ZmQ4Li5mZTM1NmM5ZDIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMDEsNiArMjAxLDcg
QEAKICNkZWZpbmUgV2ViS2l0UHVuY2hPdXRXaGl0ZUJhY2tncm91bmRzSW5EYXJrTW9kZVByZWZl
cmVuY2VLZXkgQCJXZWJLaXRQdW5jaE91dFdoaXRlQmFja2dyb3VuZHNJbkRhcmtNb2RlIgogI2Rl
ZmluZSBXZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zQ1NT
SW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkFuaW1hdGlvbnNDU1NJ
bnRlZ3JhdGlvbkVuYWJsZWQiCisjZGVmaW5lIFdlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VU
X09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzY4
NTQ5ZGQ0YmIuLjA0YTZmMzY0NjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTY5MSw2ICs2OTEsNyBAQCArICh2b2lkKWlu
aXRpYWxpemUKICNlbmRpZgogICAgICAgICBATk8sIFdlYktpdENvcmVNYXRoTUxFbmFibGVkUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFn
ZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAgICAgQE5PLCBXZWJLaXRDU1NTaGFkb3dQYXJ0
c0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElP
U19GQU1JTFkpCkBAIC0zNTA3LDYgKzM1MDgsMTYgQEAgLSAodm9pZClzZXRMaW5rUHJlbG9hZFJl
c3BvbnNpdmVJbWFnZXNFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTCljc3NTaGFkb3dQYXJ0c0VuYWJsZWQKK3sKKyAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6KEJP
T0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0Q1NT
U2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIEBlbmQKIAogQGltcGxlbWVu
dGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGRl
ZjAyNTFkZjZiLi5jZGFmN2MyZjNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02MTUsNiArNjE1LDkg
QEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJu
YWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKHZvaWQpc2V0TGlua1ByZWxvYWRSZXNwb25z
aXZlSW1hZ2VzRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClsaW5rUHJlbG9hZFJlc3BvbnNp
dmVJbWFnZXNFbmFibGVkOwogCistICh2b2lkKXNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDooQk9P
TClmbGFnOworLSAoQk9PTCljc3NTaGFkb3dQYXJ0c0VuYWJsZWQ7CisKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIHZpc3VhbFZpZXdwb3J0QVBJRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0
b21pYykgQk9PTCBsYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMWU5MjU4NTg0ZDMuLmM5MTIyOWMy
MGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0z
MTg3LDYgKzMxODcsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVu
Y2VzICopcHJlZmVyZW5jZXMKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2Vz
IGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldERpYWxvZ0VsZW1lbnRFbmFibGVkKFtwcmVm
ZXJlbmNlcyBkaWFsb2dFbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0S2V5Z2VuRWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2Vz
IGtleWdlbkVsZW1lbnRFbmFibGVkXSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1No
YWRvd1BhcnRzRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEp
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMubGVnYWN5RW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAwNzNlYTg4ODY1OS4uMGVlYzkyYjk5ZDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0xMC0wMSAg
QW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkb3cg
UGFydHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bToKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKwogMjAxOS0xMC0wMSAg
eW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHJhY2Vz
IGNvbmRpdGlvbiB3aGVuIHZhbGlkYXRpbmcgY2FwdHVyZSBzYW5kYm94IGV4dGVuc2lvbiByZXZv
Y2F0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
YmEyOWY1NWI1NzUuLjgyOTVhM2IzNzA1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCkBAIC04ODAsNiArODgwLDcgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhw
ZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVm
ZXJlbmNlcyBzZXRNZWRpYVJlY29yZGVyRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRSZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMg
c2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJl
bmNlcyBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6WUVTXTsKIH0KIAogLy8gQ2FsbGVkIGJlZm9y
ZSBlYWNoIHRlc3QuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>