<?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>237400</bug_id>
          
          <creation_ts>2022-03-02 16:41:17 -0800</creation_ts>
          <short_desc>Rename RenderStyle::textDecoration() to RenderStyle::textDecorationLine()</short_desc>
          <delta_ts>2022-03-14 17:43: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>
          <dependson>237175</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oriol Brufau">obrufau</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>joepeck</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847677</commentid>
    <comment_count>0</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-02 16:41:17 -0800</bug_when>
    <thetext>Before https://webkit.org/b/237175, the text-decoration-line and text-decoration properties were 2 longhands that shared a computed value, accessed via RenderStyle::textDecoration().

But now text-decoration is a proper shorthand, and it expands to text-decoration-line, text-decoration-color, etc. So it doesn&apos;t make much sense to continue accessing the line via textDecoration(), it should be textDecorationLine() instead.

Same for RenderStyle::setTextDecoration(), etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847681</commentid>
    <comment_count>1</comment_count>
      <attachid>453679</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-02 16:52:42 -0800</bug_when>
    <thetext>Created attachment 453679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849907</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-09 16:42:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/90065611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851062</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-14 16:11:59 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 453679 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851064</commentid>
    <comment_count>4</comment_count>
      <attachid>454633</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-14 16:17:38 -0700</bug_when>
    <thetext>Created attachment 454633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851095</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-14 17:43:10 -0700</bug_when>
    <thetext>Committed r291257 (248409@main): &lt;https://commits.webkit.org/248409@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454633.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453679</attachid>
            <date>2022-03-02 16:52:42 -0800</date>
            <delta_ts>2022-03-14 16:17:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237400-20220303015241.patch</filename>
            <type>text/plain</type>
            <size>26896</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliMTJkMzRjMmQ1Mjk4
NjRhNmJmN2NkYmMyMzM4M2NmNjdlMDVmYy4uMDUzZTdjOGEyNTBmMmU2MTRiOWEzN2FhMGRhNGQ5
MDdhNWI2ZjNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIyLTAzLTAyICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlbmRlclN0
eWxlOjp0ZXh0RGVjb3JhdGlvbigpIHRvIFJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbkxpbmUo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NDAw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmVmb3Jl
IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIzNzE3NSwgdGhlIHRleHQtZGVjb3JhdGlvbi1saW5lIGFu
ZAorICAgICAgICB0ZXh0LWRlY29yYXRpb24gcHJvcGVydGllcyB3ZXJlIDIgbG9uZ2hhbmRzIHRo
YXQgc2hhcmVkIGEgY29tcHV0ZWQKKyAgICAgICAgdmFsdWUsIGFjY2Vzc2VkIHZpYSBSZW5kZXJT
dHlsZTo6dGV4dERlY29yYXRpb24oKS4KKworICAgICAgICBCdXQgbm93IHRleHQtZGVjb3JhdGlv
biBpcyBhIHByb3BlciBzaG9ydGhhbmQsIGFuZCBpdCBleHBhbmRzIHRvCisgICAgICAgIHRleHQt
ZGVjb3JhdGlvbi1saW5lLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGV0Yy4gU28gaXQgZG9lc24n
dCBtYWtlCisgICAgICAgIG11Y2ggc2Vuc2UgdG8gY29udGludWUgYWNjZXNzaW5nIHRoZSBsaW5l
IHZpYSB0ZXh0RGVjb3JhdGlvbigpLCBpdAorICAgICAgICBzaG91bGQgYmUgdGV4dERlY29yYXRp
b25MaW5lKCkgaW5zdGVhZC4KKworICAgICAgICBTYW1lIGZvciBSZW5kZXJTdHlsZTo6c2V0VGV4
dERlY29yYXRpb24oKSwgZXRjLgorCisgICAgICAgIE5vIHRlc3RzIHNpbmNlIGl0J3MganVzdCBh
IHJlbmFtZSwgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0VGV4dEF0c3BpLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6dGV4dEF0dHJpYnV0ZXMgY29uc3QpOgorICAg
ICAgICAqIGFuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXA6OkNTU1Byb3BlcnR5QW5pbWF0aW9u
V3JhcHBlck1hcCk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclBy
b3BlcnR5SW5TdHlsZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAg
ICAgKiByZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNvbGxlY3RTdHlsZXNGb3JSZW5kZXJlcik6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpSZW5kZXJT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y2hhbmdlQWZmZWN0c1Zpc3Vh
bE92ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjaGFuZ2VS
ZXF1aXJlc1JlcGFpbnRJZlRleHRPckJvcmRlck9yT3V0bGluZSBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dHlsZTo6dGV4dERlY29yYXRpb25zSW5FZmZlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uTGluZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6YWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25zSW5FZmZlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFRleHREZWNvcmF0aW9uTGluZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uTGluZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6SW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9yPT0gY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3Jh
dGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFRl
eHREZWNvcmF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxE
YXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlVmlzdWFsRGF0YTo6U3R5bGVWaXN1YWxE
YXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVZpc3VhbERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpmaW5kUmVuZGVyZXJEZWZpbmluaW5nVGV4dERlY29yYXRpb24pOgorICAgICAgICAqIHN0eWxl
L0lubGluZVRleHRCb3hTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptaW5Mb2dpY2FsVG9w
Rm9yVGV4dERlY29yYXRpb25MaW5lKToKKyAgICAgICAgKFdlYkNvcmU6Om1heExvZ2ljYWxCb3R0
b21Gb3JUZXh0RGVjb3JhdGlvbkxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6ZW5jbG9zaW5nUmVu
ZGVyZXJXaXRoVGV4dERlY29yYXRpb24pOgorICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29uc3QpOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUZXh0RGVjb3JhdGlvbkxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUZXh0RGVj
b3JhdGlvbik6IERlbGV0ZWQuCisKIDIwMjItMDMtMDIgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzXSBJbXBsZW1lbnQgJ3RleHQtZGVjb3JhdGlvbicg
YXMgYSBzaG9ydGhhbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RUZXh0QXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0VGV4dEF0c3BpLmNwcAppbmRl
eCA0ZDNjZmI3NWJhNjA2MTg0MmYyYTYxMzFmZTA3OWU0NTY3NTA0ZDAyLi5lNGNmNmMwZGEwZTVk
N2QzMGNkN2UyNzljYTdlMDI2ZGQzZGE5Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RUZXh0QXRzcGkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFRl
eHRBdHNwaS5jcHAKQEAgLTc4NCw4ICs3ODQsOCBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6
OlRleHRBdHRyaWJ1dGVzIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6dGV4dEF0dHJpYnV0ZQog
ICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgic2l6ZSJfcywgbWFrZVN0cmluZyhzdGQ6OnJv
dW5kKHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpICogNzIgLyBXZWJDb3JlOjpzY3JlZW5E
UEkoKSksICJwdCIpKTsKICAgICAgICAgYWRkQXR0cmlidXRlSWZOZWVkZWQoIndlaWdodCJfcywg
bWFrZVN0cmluZyhzdGF0aWNfY2FzdDxmbG9hdD4oc3R5bGUuZm9udENhc2NhZGUoKS53ZWlnaHQo
KSkpKTsKICAgICAgICAgYWRkQXR0cmlidXRlSWZOZWVkZWQoInN0eWxlIl9zLCBzdHlsZS5mb250
Q2FzY2FkZSgpLml0YWxpYygpID8gIml0YWxpYyIgOiAibm9ybWFsIik7Ci0gICAgICAgIGFkZEF0
dHJpYnV0ZUlmTmVlZGVkKCJzdHJpa2V0aHJvdWdoIl9zLCBzdHlsZS50ZXh0RGVjb3JhdGlvbigp
ICYgVGV4dERlY29yYXRpb25MaW5lOjpMaW5lVGhyb3VnaCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwot
ICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgidW5kZXJsaW5lIl9zLCBzdHlsZS50ZXh0RGVj
b3JhdGlvbigpICYgVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUgPyAic2luZ2xlIiA6ICJu
b25lIik7CisgICAgICAgIGFkZEF0dHJpYnV0ZUlmTmVlZGVkKCJzdHJpa2V0aHJvdWdoIl9zLCBz
dHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSAmIFRleHREZWNvcmF0aW9uTGluZTo6TGluZVRocm91
Z2ggPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICAgICAgYWRkQXR0cmlidXRlSWZOZWVkZWQoInVu
ZGVybGluZSJfcywgc3R5bGUudGV4dERlY29yYXRpb25MaW5lKCkgJiBUZXh0RGVjb3JhdGlvbkxp
bmU6OlVuZGVybGluZSA/ICJzaW5nbGUiIDogIm5vbmUiKTsKICAgICAgICAgYWRkQXR0cmlidXRl
SWZOZWVkZWQoImludmlzaWJsZSJfcywgc3R5bGUudmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6
OkhpZGRlbiA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRl
ZCgiZWRpdGFibGUiX3MsIG1fY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSA/ICJ0
cnVlIiA6ICJmYWxzZSIpOwogICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgiZGlyZWN0aW9u
Il9zLCBzdHlsZS5kaXJlY3Rpb24oKSA9PSBUZXh0RGlyZWN0aW9uOjpMVFIgPyAibHRyIiA6ICJy
dGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFu
aW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRp
b24uY3BwCmluZGV4IDc0NTNmMGMxMjVmODA0MTA4MWVlZTc4MDhhOWRmMjZiMjA0NWYzMGEuLjU2
YmYzZTNhYjZhODVlZWJmMGQyOWJmN2EzYTllMjNiNjFhMDYzOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcApAQCAtMjc1OCw3ICsy
NzU4LDcgQEAgQ1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVyTWFwOjpDU1NQcm9wZXJ0eUFuaW1h
dGlvbldyYXBwZXJNYXAoKQogICAgICAgICBuZXcgRGlzY3JldGVQcm9wZXJ0eVdyYXBwZXI8UnVi
eVBvc2l0aW9uPihDU1NQcm9wZXJ0eVdlYmtpdFJ1YnlQb3NpdGlvbiwgJlJlbmRlclN0eWxlOjpy
dWJ5UG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0UnVieVBvc2l0aW9uKSwKICAgICAgICAgbmV3
IERpc2NyZXRlUHJvcGVydHlXcmFwcGVyPFRhYmxlTGF5b3V0VHlwZT4oQ1NTUHJvcGVydHlUYWJs
ZUxheW91dCwgJlJlbmRlclN0eWxlOjp0YWJsZUxheW91dCwgJlJlbmRlclN0eWxlOjpzZXRUYWJs
ZUxheW91dCksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxUZXh0QWxpZ25N
b2RlPihDU1NQcm9wZXJ0eVRleHRBbGlnbiwgJlJlbmRlclN0eWxlOjp0ZXh0QWxpZ24sICZSZW5k
ZXJTdHlsZTo6c2V0VGV4dEFsaWduKSwKLSAgICAgICAgbmV3IERpc2NyZXRlUHJvcGVydHlXcmFw
cGVyPE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+PihDU1NQcm9wZXJ0eVRleHREZWNvcmF0
aW9uTGluZSwgJlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbiwgJlJlbmRlclN0eWxlOjpzZXRU
ZXh0RGVjb3JhdGlvbiksCisgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxPcHRp
b25TZXQ8VGV4dERlY29yYXRpb25MaW5lPj4oQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbkxpbmUs
ICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25MaW5lLCAmUmVuZGVyU3R5bGU6OnNldFRleHRE
ZWNvcmF0aW9uTGluZSksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxUZXh0
RGVjb3JhdGlvblN0eWxlPihDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJT
dHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlv
blN0eWxlKSwKICAgICAgICAgbmV3IERpc2NyZXRlUHJvcGVydHlXcmFwcGVyPGNvbnN0IENvbG9y
Jj4oQ1NTUHJvcGVydHlUZXh0RW1waGFzaXNDb2xvciwgJlJlbmRlclN0eWxlOjp0ZXh0RW1waGFz
aXNDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RW1waGFzaXNDb2xvciksCiAgICAgICAgIG5l
dyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxPcHRpb25TZXQ8VGV4dEVtcGhhc2lzUG9zaXRpb24+
PihDU1NQcm9wZXJ0eVRleHRFbXBoYXNpc1Bvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnRleHRFbXBo
YXNpc1Bvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnNldFRleHRFbXBoYXNpc1Bvc2l0aW9uKSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAK
aW5kZXggMGY2ZjNmYTM4NDJhMTMzYTYwODdmYzM1NWIwOWExZTU1OTE4N2E5Ni4uODIwODdhYTBm
ZTI0M2JmODgyMzczNjg1Y2MyODkyMjJhMGM2MWE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM1MjYsNyArMzUyNiw3
IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9w
ZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgICAgICAgICBpZiAoc3R5bGUudGV4dERlY29yYXRpb25Db2xvcigpICE9IFJlbmRl
clN0eWxlOjpjdXJyZW50Q29sb3IoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgICAgIHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvbkxpbmVGbGFnc1RvQ1NTVmFs
dWUoc3R5bGUudGV4dERlY29yYXRpb24oKSk7CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4
dERlY29yYXRpb25MaW5lRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLnRleHREZWNvcmF0aW9uTGluZSgp
KTsKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
VGV4dEFsaWduTGFzdDoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlVmFs
dWUoc3R5bGUudGV4dEFsaWduTGFzdCgpKTsKQEAgLTM1MzYsNyArMzUzNiw3IEBAIFJlZlB0cjxD
U1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUo
Y29uc3QgUmVuZGVyU3R5CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3Jh
dGlvbjoKICAgICAgICAgICAgIHJldHVybiBnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFu
ZFByb3BlcnRpZXMod2Via2l0VGV4dERlY29yYXRpb25TaG9ydGhhbmQoKSk7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbkxpbmU6Ci0gICAgICAgICAgICByZXR1cm4gcmVu
ZGVyVGV4dERlY29yYXRpb25MaW5lRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLnRleHREZWNvcmF0aW9u
KCkpOworICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9uTGluZUZsYWdzVG9D
U1NWYWx1ZShzdHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0RGVjb3JhdGlvblN0eWxlOgogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRE
ZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUudGV4dERlY29yYXRpb25TdHlsZSgp
KTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uQ29sb3I6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA1NzE1MWIwMDMyN2VkMTIyMjZiM2M3Y2Q4
ZDI5MzY4ZGM1ZWExOTQzLi5mMTViMmRjY2EzZTRmN2U3Yjk2M2VkZjcyMzE0NTQxMmRiZTUyOGJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTY4NDQsOCArNjg0NCw3
IEBACiAgICAgICAgIH0sCiAgICAgICAgICJ0ZXh0LWRlY29yYXRpb24tbGluZSI6IHsKICAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgIm5hbWUtZm9y
LW1ldGhvZHMiOiAiVGV4dERlY29yYXRpb24iLAotICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIi
OiAiVGV4dERlY29yYXRpb24iLAorICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiVGV4dERl
Y29yYXRpb25MaW5lIiwKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKICAgICAgICAgICAg
ICAgICAgICAgIi13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLWxpbmUiCiAgICAgICAgICAgICAgICAg
XQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFp
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVy
LmNwcAppbmRleCA2NzU1NjhhZmY2MTE4ZjAxM2JkMWQ0ZjU1YTZjMzY0ZmE4YWYzOGU4Li5lZDIy
OWU5ODY3ODE5MjMzMTA3OThjZTk2NWE1NTlkOTRkMmFmOGM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcApAQCAtMzY5LDcgKzM2
OSw3IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RTdHlsZXNGb3JSZW5kZXJlcihUZXh0RGVjb3JhdGlv
blBhaW50ZXI6OlN0eWxlcyYgcmVzdWx0LCBjb25zCiAgICAgYXV0byogY3VycmVudCA9ICZyZW5k
ZXJlcjsKICAgICBkbyB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHN0eWxlID0gc3R5bGVGb3JSZW5k
ZXJlcigqY3VycmVudCk7Ci0gICAgICAgIGV4dHJhY3REZWNvcmF0aW9ucyhzdHlsZSwgc3R5bGUu
dGV4dERlY29yYXRpb24oKSk7CisgICAgICAgIGV4dHJhY3REZWNvcmF0aW9ucyhzdHlsZSwgc3R5
bGUudGV4dERlY29yYXRpb25MaW5lKCkpOwogCiAgICAgICAgIGlmIChjdXJyZW50LT5pc1J1YnlU
ZXh0KCkpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBlOGEyMjZlYmU1Y2U4MGUxOWI3ZDBhNDczOWZl
YWIzNGI3N2FjMzhkLi40NDEzYmJjOTVkYzRiNjUzMDZhNGJjOWIxN2Y0YTA1YjE4NGNmODVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAg
LTE1NCw3ICsxNTQsNyBAQCBSZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUoQ3JlYXRlRGVmYXVsdFN0
eWxlVGFnKQogICAgIG1faW5oZXJpdGVkRmxhZ3MudmlzaWJpbGl0eSA9IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihpbml0aWFsVmlzaWJpbGl0eSgpKTsKICAgICBtX2luaGVyaXRlZEZsYWdzLnRleHRB
bGlnbiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbml0aWFsVGV4dEFsaWduKCkpOwogICAgIG1f
aW5oZXJpdGVkRmxhZ3MudGV4dFRyYW5zZm9ybSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbml0
aWFsVGV4dFRyYW5zZm9ybSgpKTsKLSAgICBtX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9u
cyA9IGluaXRpYWxUZXh0RGVjb3JhdGlvbigpLnRvUmF3KCk7CisgICAgbV9pbmhlcml0ZWRGbGFn
cy50ZXh0RGVjb3JhdGlvbkxpbmVzID0gaW5pdGlhbFRleHREZWNvcmF0aW9uTGluZSgpLnRvUmF3
KCk7CiAgICAgbV9pbmhlcml0ZWRGbGFncy5jdXJzb3IgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
aW5pdGlhbEN1cnNvcigpKTsKICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgbV9p
bmhlcml0ZWRGbGFncy5jdXJzb3JWaXNpYmlsaXR5ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGlu
aXRpYWxDdXJzb3JWaXNpYmlsaXR5KCkpOwpAQCAtNjI4LDcgKzYyOCw3IEBAIGlubGluZSBib29s
IFJlbmRlclN0eWxlOjpjaGFuZ2VBZmZlY3RzVmlzdWFsT3ZlcmZsb3coY29uc3QgUmVuZGVyU3R5
bGUmIG90aGVyKSBjCiAgICAgICAgICYmICFhcmVQb2ludGluZ1RvRXF1YWxEYXRhKG1fcmFyZUlu
aGVyaXRlZERhdGEtPnRleHRTaGFkb3csIG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPnRleHRT
aGFkb3cpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChtX2luaGVyaXRlZEZsYWdz
LnRleHREZWNvcmF0aW9ucyAhPSBvdGhlci5tX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9u
cworICAgIGlmIChtX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMgIT0gb3RoZXIu
bV9pbmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbkxpbmVzCiAgICAgICAgIHx8IG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uU3R5bGUgIT0gb3RoZXIubV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25TdHlsZQogICAgICAgICB8fCBtX3JhcmVJbmhlcml0
ZWREYXRhLT50ZXh0RGVjb3JhdGlvblRoaWNrbmVzcyAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWRE
YXRhLT50ZXh0RGVjb3JhdGlvblRoaWNrbmVzcwogICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWRE
YXRhLT50ZXh0VW5kZXJsaW5lT2Zmc2V0ICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPnRl
eHRVbmRlcmxpbmVPZmZzZXQKQEAgLTExNzAsOCArMTE3MCw4IEBAIGJvb2wgUmVuZGVyU3R5bGU6
OmNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBSZW5kZXJTdHlsZSYgb3RoZXIsIE9wdGlvblNl
dDxTdHlsCiBib29sIFJlbmRlclN0eWxlOjpjaGFuZ2VSZXF1aXJlc1JlcGFpbnRJZlRleHRPckJv
cmRlck9yT3V0bGluZShjb25zdCBSZW5kZXJTdHlsZSYgb3RoZXIsIE9wdGlvblNldDxTdHlsZURp
ZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk+JikgY29uc3QKIHsKICAgICBpZiAobV9p
bmhlcml0ZWREYXRhLT5jb2xvciAhPSBvdGhlci5tX2luaGVyaXRlZERhdGEtPmNvbG9yCi0gICAg
ICAgIHx8IG1faW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRpb25zICE9IG90aGVyLm1faW5oZXJp
dGVkRmxhZ3MudGV4dERlY29yYXRpb25zCi0gICAgICAgIHx8IG1fdmlzdWFsRGF0YS0+dGV4dERl
Y29yYXRpb24gIT0gb3RoZXIubV92aXN1YWxEYXRhLT50ZXh0RGVjb3JhdGlvbgorICAgICAgICB8
fCBtX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMgIT0gb3RoZXIubV9pbmhlcml0
ZWRGbGFncy50ZXh0RGVjb3JhdGlvbkxpbmVzCisgICAgICAgIHx8IG1fdmlzdWFsRGF0YS0+dGV4
dERlY29yYXRpb25MaW5lICE9IG90aGVyLm1fdmlzdWFsRGF0YS0+dGV4dERlY29yYXRpb25MaW5l
CiAgICAgICAgIHx8IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uU3R5bGUg
IT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25TdHlsZQogICAg
ICAgICB8fCBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50ZXh0RGVjb3JhdGlvbkNvbG9yICE9IG90
aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uQ29sb3IKICAgICAgICAg
fHwgbV9yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25Ta2lwSW5rICE9IG90aGVyLm1f
cmFyZUluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uU2tpcEluawpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwOTA1OGY3OWNlNzE3NTUwMzRm
ZGE4NDhkNDJhYzZhOTkyZDQ0ZTY4Li41NzJlMDU0YTA4NGQ3YTQ4NzlmZDMwZjM2MjYyMTU0ZDVj
OWI3ODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aApAQCAtMzcyLDggKzM3Miw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZW5ndGgmIHRleHRJbmRl
bnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVJbmhlcml0ZWREYXRhLT5pbmRlbnQ7IH0KICAgICBU
ZXh0QWxpZ25Nb2RlIHRleHRBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRB
bGlnbk1vZGU+KG1faW5oZXJpdGVkRmxhZ3MudGV4dEFsaWduKTsgfQogICAgIFRleHRUcmFuc2Zv
cm0gdGV4dFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRUcmFuc2Zv
cm0+KG1faW5oZXJpdGVkRmxhZ3MudGV4dFRyYW5zZm9ybSk7IH0KLSAgICBPcHRpb25TZXQ8VGV4
dERlY29yYXRpb25MaW5lPiB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpIGNvbnN0IHsgcmV0dXJu
IE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+Ojpmcm9tUmF3KG1faW5oZXJpdGVkRmxhZ3Mu
dGV4dERlY29yYXRpb25zKTsgfQotICAgIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRl
eHREZWNvcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGlu
ZT46OmZyb21SYXcobV92aXN1YWxEYXRhLT50ZXh0RGVjb3JhdGlvbik7IH0KKyAgICBPcHRpb25T
ZXQ8VGV4dERlY29yYXRpb25MaW5lPiB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpIGNvbnN0IHsg
cmV0dXJuIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+Ojpmcm9tUmF3KG1faW5oZXJpdGVk
RmxhZ3MudGV4dERlY29yYXRpb25MaW5lcyk7IH0KKyAgICBPcHRpb25TZXQ8VGV4dERlY29yYXRp
b25MaW5lPiB0ZXh0RGVjb3JhdGlvbkxpbmUoKSBjb25zdCB7IHJldHVybiBPcHRpb25TZXQ8VGV4
dERlY29yYXRpb25MaW5lPjo6ZnJvbVJhdyhtX3Zpc3VhbERhdGEtPnRleHREZWNvcmF0aW9uTGlu
ZSk7IH0KICAgICBUZXh0RGVjb3JhdGlvblN0eWxlIHRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0RGVjb3JhdGlvblN0eWxlPihtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT50ZXh0RGVjb3JhdGlvblN0eWxlKTsgfQogICAgIFRleHREZWNvcmF0aW9uU2tp
cEluayB0ZXh0RGVjb3JhdGlvblNraXBJbmsoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxU
ZXh0RGVjb3JhdGlvblNraXBJbms+KG1fcmFyZUluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9u
U2tpcEluayk7IH0KICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPiht
X3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CkBAIC05OTIsOSAr
OTkyLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGV4dEluZGVudChMZW5ndGgmJiBsZW5ndGgp
IHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBpbmRlbnQsIFdURk1vdmUobGVuZ3RoKSk7
IH0KICAgICB2b2lkIHNldFRleHRBbGlnbihUZXh0QWxpZ25Nb2RlIHYpIHsgbV9pbmhlcml0ZWRG
bGFncy50ZXh0QWxpZ24gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lkIHNl
dFRleHRUcmFuc2Zvcm0oVGV4dFRyYW5zZm9ybSB2KSB7IG1faW5oZXJpdGVkRmxhZ3MudGV4dFRy
YW5zZm9ybSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2KTsgfQotICAgIHZvaWQgYWRkVG9UZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdChPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB2KSB7IG1f
aW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRpb25zIHw9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2
LnRvUmF3KCkpOyB9Ci0gICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChPcHRpb25T
ZXQ8VGV4dERlY29yYXRpb25MaW5lPiB2KSB7IG1faW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRp
b25zID0gdi50b1JhdygpOyB9Ci0gICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvbihPcHRpb25TZXQ8
VGV4dERlY29yYXRpb25MaW5lPiB2KSB7IFNFVF9WQVIobV92aXN1YWxEYXRhLCB0ZXh0RGVjb3Jh
dGlvbiwgdi50b1JhdygpKTsgfQorICAgIHZvaWQgYWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVj
dChPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB2KSB7IG1faW5oZXJpdGVkRmxhZ3MudGV4
dERlY29yYXRpb25MaW5lcyB8PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odi50b1JhdygpKTsgfQor
ICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25zSW5FZmZlY3QoT3B0aW9uU2V0PFRleHREZWNvcmF0
aW9uTGluZT4gdikgeyBtX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMgPSB2LnRv
UmF3KCk7IH0KKyAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uTGluZShPcHRpb25TZXQ8VGV4dERl
Y29yYXRpb25MaW5lPiB2KSB7IFNFVF9WQVIobV92aXN1YWxEYXRhLCB0ZXh0RGVjb3JhdGlvbkxp
bmUsIHYudG9SYXcoKSk7IH0KICAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uU3R5bGUoVGV4dERl
Y29yYXRpb25TdHlsZSB2KSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgdGV4dERl
Y29yYXRpb25TdHlsZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHYpKTsgfQogICAgIHZvaWQgc2V0
VGV4dERlY29yYXRpb25Ta2lwSW5rKFRleHREZWNvcmF0aW9uU2tpcEluayBza2lwSW5rKSB7IFNF
VF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgdGV4dERlY29yYXRpb25Ta2lwSW5rLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oc2tpcEluaykpOyB9CiAgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24oVGV4dFVuZGVybGluZVBvc2l0aW9uIHBvc2l0aW9uKSB7IFNFVF9WQVIobV9yYXJlSW5o
ZXJpdGVkRGF0YSwgdGV4dFVuZGVybGluZVBvc2l0aW9uLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
cG9zaXRpb24pKTsgfQpAQCAtMTYyNiw3ICsxNjI2LDcgQEAgcHVibGljOgogICAgIC8vIFJldHVy
bmluZyAtMTAwJSBwZXJjZW50IGhlcmUgbWVhbnMgdGhlIGxpbmUtaGVpZ2h0IGlzIG5vdCBzZXQu
CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTGluZUhlaWdodCgpIHsgcmV0dXJuIExlbmd0aCgt
MTAwLjBmLCBMZW5ndGhUeXBlOjpQZXJjZW50KTsgfQogICAgIHN0YXRpYyBUZXh0QWxpZ25Nb2Rl
IGluaXRpYWxUZXh0QWxpZ24oKSB7IHJldHVybiBUZXh0QWxpZ25Nb2RlOjpTdGFydDsgfQotICAg
IHN0YXRpYyBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiBpbml0aWFsVGV4dERlY29yYXRp
b24oKSB7IHJldHVybiBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB7IH07IH0KKyAgICBz
dGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT4gaW5pdGlhbFRleHREZWNvcmF0aW9u
TGluZSgpIHsgcmV0dXJuIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHsgfTsgfQogICAg
IHN0YXRpYyBUZXh0RGVjb3JhdGlvblN0eWxlIGluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxlKCkg
eyByZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZTo6U29saWQ7IH0KICAgICBzdGF0aWMgVGV4dERl
Y29yYXRpb25Ta2lwSW5rIGluaXRpYWxUZXh0RGVjb3JhdGlvblNraXBJbmsoKSB7IHJldHVybiBU
ZXh0RGVjb3JhdGlvblNraXBJbms6OkF1dG87IH0KICAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBv
c2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJs
aW5lUG9zaXRpb246OkF1dG87IH0KQEAgLTE5NzMsNyArMTk3Myw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIHVuc2lnbmVkIHZpc2liaWxpdHkgOiAyOyAvLyBWaXNpYmlsaXR5CiAgICAgICAgIHVuc2ln
bmVkIHRleHRBbGlnbiA6IDQ7IC8vIFRleHRBbGlnbk1vZGUKICAgICAgICAgdW5zaWduZWQgdGV4
dFRyYW5zZm9ybSA6IDI7IC8vIFRleHRUcmFuc2Zvcm0KLSAgICAgICAgdW5zaWduZWQgdGV4dERl
Y29yYXRpb25zIDogVGV4dERlY29yYXRpb25CaXRzOworICAgICAgICB1bnNpZ25lZCB0ZXh0RGVj
b3JhdGlvbkxpbmVzIDogVGV4dERlY29yYXRpb25MaW5lQml0czsKICAgICAgICAgdW5zaWduZWQg
Y3Vyc29yIDogNjsgLy8gQ3Vyc29yVHlwZQogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkK
ICAgICAgICAgdW5zaWduZWQgY3Vyc29yVmlzaWJpbGl0eSA6IDE7IC8vIEN1cnNvclZpc2liaWxp
dHkKQEAgLTIxNDAsNyArMjE0MCw3IEBAIGlubGluZSBib29sIFJlbmRlclN0eWxlOjpJbmhlcml0
ZWRGbGFnczo6b3BlcmF0b3I9PShjb25zdCBJbmhlcml0ZWRGbGFncyYgb3RoZXIpCiAgICAgICAg
ICYmIHZpc2liaWxpdHkgPT0gb3RoZXIudmlzaWJpbGl0eQogICAgICAgICAmJiB0ZXh0QWxpZ24g
PT0gb3RoZXIudGV4dEFsaWduCiAgICAgICAgICYmIHRleHRUcmFuc2Zvcm0gPT0gb3RoZXIudGV4
dFRyYW5zZm9ybQotICAgICAgICAmJiB0ZXh0RGVjb3JhdGlvbnMgPT0gb3RoZXIudGV4dERlY29y
YXRpb25zCisgICAgICAgICYmIHRleHREZWNvcmF0aW9uTGluZXMgPT0gb3RoZXIudGV4dERlY29y
YXRpb25MaW5lcwogICAgICAgICAmJiBjdXJzb3IgPT0gb3RoZXIuY3Vyc29yCiAjaWYgRU5BQkxF
KENVUlNPUl9WSVNJQklMSVRZKQogICAgICAgICAmJiBjdXJzb3JWaXNpYmlsaXR5ID09IG90aGVy
LmN1cnNvclZpc2liaWxpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggMGE5NGI2ZGYzZDQ3NDhiNDJhYTM3Y2Nj
ZWRjMzdiYzkzNzUyNmFmYi4uMDU1MWNlYzYxN2U1MWRhZWIzMTNmYzdlN2MyNWY1YWI4NWZmZGY3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmgKQEAgLTczNCw3ICs3MzQsNyBAQCBlbnVtIGNsYXNzIFRleHRUcmFuc2Zv
cm0gOiB1aW50OF90IHsKICAgICBOb25lCiB9OwogCi1zdGF0aWMgY29uc3Qgc2l6ZV90IFRleHRE
ZWNvcmF0aW9uQml0cyA9IDQ7CitzdGF0aWMgY29uc3Qgc2l6ZV90IFRleHREZWNvcmF0aW9uTGlu
ZUJpdHMgPSA0OwogZW51bSBjbGFzcyBUZXh0RGVjb3JhdGlvbkxpbmUgOiB1aW50OF90IHsKICAg
ICBOb25lICAgICAgICAgID0gMCwKICAgICBVbmRlcmxpbmUgICAgID0gMSA8PCAwLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcAppbmRl
eCAxMGE0NDdiZDBhZTI0N2U1ZWE2NzVhNGI3YTQ3YTE2ZTFkYTI4MDU2Li40OThmODNmMzE3NDI1
NmEzNDZiZmNlZTJjZGQzMmVlZGE2YTMxMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcApAQCAtMjgsNyArMjgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFN0eWxlVmlzdWFsRGF0YTo6U3R5bGVWaXN1YWxEYXRhKCkKICAg
ICA6IGhhc0NsaXAoZmFsc2UpCi0gICAgLCB0ZXh0RGVjb3JhdGlvbihSZW5kZXJTdHlsZTo6aW5p
dGlhbFRleHREZWNvcmF0aW9uKCkudG9SYXcoKSkKKyAgICAsIHRleHREZWNvcmF0aW9uTGluZShS
ZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uTGluZSgpLnRvUmF3KCkpCiAgICAgLCB6
b29tKFJlbmRlclN0eWxlOjppbml0aWFsWm9vbSgpKQogewogfQpAQCAtMzksNyArMzksNyBAQCBp
bmxpbmUgU3R5bGVWaXN1YWxEYXRhOjpTdHlsZVZpc3VhbERhdGEoY29uc3QgU3R5bGVWaXN1YWxE
YXRhJiBvdGhlcikKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVWaXN1YWxEYXRhPigpCiAgICAgLCBj
bGlwKG90aGVyLmNsaXApCiAgICAgLCBoYXNDbGlwKG90aGVyLmhhc0NsaXApCi0gICAgLCB0ZXh0
RGVjb3JhdGlvbihvdGhlci50ZXh0RGVjb3JhdGlvbikKKyAgICAsIHRleHREZWNvcmF0aW9uTGlu
ZShvdGhlci50ZXh0RGVjb3JhdGlvbkxpbmUpCiAgICAgLCB6b29tKFJlbmRlclN0eWxlOjppbml0
aWFsWm9vbSgpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlVmlzdWFsRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlVmlzdWFsRGF0YS5oCmluZGV4IGQ0MThhY2I1MGEyNGY4YTNiMjE4ZGRlMThjMzNlMWFhODhh
OGNiM2IuLjUwMjRmYTFkMTIxNjliZDdkMTkxMmJiYzQyYzg0NWQyNjIxNDIyZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgKQEAgLTQx
LDE0ICs0MSwxNCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gY2xpcCA9PSBvdGhl
ci5jbGlwCiAgICAgICAgICAgICAmJiBoYXNDbGlwID09IG90aGVyLmhhc0NsaXAKLSAgICAgICAg
ICAgICYmIHRleHREZWNvcmF0aW9uID09IG90aGVyLnRleHREZWNvcmF0aW9uCisgICAgICAgICAg
ICAmJiB0ZXh0RGVjb3JhdGlvbkxpbmUgPT0gb3RoZXIudGV4dERlY29yYXRpb25MaW5lCiAgICAg
ICAgICAgICAmJiB6b29tID09IG90aGVyLnpvb207CiAgICAgfQogICAgIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBTdHlsZVZpc3VhbERhdGEmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09
IG90aGVyKTsgfQogCiAgICAgTGVuZ3RoQm94IGNsaXA7CiAgICAgYm9vbCBoYXNDbGlwIDogMTsK
LSAgICB1bnNpZ25lZCB0ZXh0RGVjb3JhdGlvbiA6IFRleHREZWNvcmF0aW9uQml0czsgLy8gVGV4
dCBkZWNvcmF0aW9ucyBkZWZpbmVkICpvbmx5KiBieSB0aGlzIGVsZW1lbnQuCisgICAgdW5zaWdu
ZWQgdGV4dERlY29yYXRpb25MaW5lIDogVGV4dERlY29yYXRpb25MaW5lQml0czsgLy8gVGV4dCBk
ZWNvcmF0aW9ucyBkZWZpbmVkICpvbmx5KiBieSB0aGlzIGVsZW1lbnQuCiAgICAgZmxvYXQgem9v
bTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lu
bGluZVRleHRCb3guY3BwCmluZGV4IDE1MWQwMGQ3MjRiNmNlZGZkZTdmZTdiZjRhOWQ2OTA4M2U3
YjNmNTUuLmZiNDM4MjM4OTQ3YmM2ZjBkNDIxNzIyY2VmNGI4NGZhZDBiZmIzOTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcApAQCAt
NDUzLDcgKzQ1Myw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyQm94TW9kZWxPYmplY3QmIGZpbmRS
ZW5kZXJlckRlZmluaW5pbmdUZXh0RGVjb3JhdGlvbihMZWdhY3lJCiAgICAgd2hpbGUgKHBhcmVu
dEJveCkgewogICAgICAgICByZW5kZXJlciA9ICZwYXJlbnRCb3gtPnJlbmRlcmVyKCk7CiAKLSAg
ICAgICAgaWYgKCFyZW5kZXJlci0+c3R5bGUoKS50ZXh0RGVjb3JhdGlvbigpLmlzRW1wdHkoKSkK
KyAgICAgICAgaWYgKCFyZW5kZXJlci0+c3R5bGUoKS50ZXh0RGVjb3JhdGlvbkxpbmUoKS5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBwYXJlbnRCb3ggPSBwYXJlbnRC
b3gtPnBhcmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvSW5saW5lVGV4
dEJveFN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0lubGluZVRleHRCb3hTdHlsZS5j
cHAKaW5kZXggZjVjODI4MzVlMTQ5MGFkYTNhMzJjOTVkNWIwYTczNTkzZTJjYzE2MS4uNDFjY2Vl
Y2FlZjFhMjkwMzk0NTg5NmQ4MTljZDViYzJkMGU1NTdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvSW5saW5lVGV4dEJveFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9JbmxpbmVUZXh0Qm94U3R5bGUuY3BwCkBAIC00OSwxMyArNDksMTMgQEAgc3RhdGljIGJv
b2wgaXNBbmNlc3RvckFuZFdpdGhpbkJsb2NrKGNvbnN0IFJlbmRlcklubGluZSYgYW5jZXN0b3Is
IGNvbnN0IFJlbmRlck8KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lkIG1pbkxv
Z2ljYWxUb3BGb3JUZXh0RGVjb3JhdGlvbkxpbmUoY29uc3QgSW5saW5lSXRlcmF0b3I6OkxpbmVJ
dGVyYXRvciYgbGluZSwgZmxvYXQmIG1pbkxvZ2ljYWxUb3AsIGNvbnN0IFJlbmRlckVsZW1lbnQq
IGRlY29yYXRpb25SZW5kZXJlciwgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT4gdGV4dERl
Y29yYXRpb24pCitzdGF0aWMgdm9pZCBtaW5Mb2dpY2FsVG9wRm9yVGV4dERlY29yYXRpb25MaW5l
KGNvbnN0IElubGluZUl0ZXJhdG9yOjpMaW5lSXRlcmF0b3ImIGxpbmUsIGZsb2F0JiBtaW5Mb2dp
Y2FsVG9wLCBjb25zdCBSZW5kZXJFbGVtZW50KiBkZWNvcmF0aW9uUmVuZGVyZXIsIE9wdGlvblNl
dDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uTGluZSkKIHsKICAgICBmb3IgKGF1
dG8gcnVuID0gbGluZS0+Zmlyc3RMZWFmQm94KCk7IHJ1bjsgcnVuLnRyYXZlcnNlTmV4dE9uTGlu
ZSgpKSB7CiAgICAgICAgIGlmIChydW4tPnJlbmRlcmVyKCkuaXNPdXRPZkZsb3dQb3NpdGlvbmVk
KCkpCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gUG9zaXRpb25lZCBwbGFjZWhvbGRlcnMgZG9u
J3QgYWZmZWN0IGNhbGN1bGF0aW9ucy4KIAotICAgICAgICBpZiAoIShydW4tPnN0eWxlKCkudGV4
dERlY29yYXRpb25zSW5FZmZlY3QoKSAmIHRleHREZWNvcmF0aW9uKSkKKyAgICAgICAgaWYgKCEo
cnVuLT5zdHlsZSgpLnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkgJiB0ZXh0RGVjb3JhdGlvbkxp
bmUpKQogICAgICAgICAgICAgY29udGludWU7IC8vIElmIHRoZSB0ZXh0IGRlY29yYXRpb24gaXNu
J3QgaW4gZWZmZWN0IG9uIHRoZSBjaGlsZCwgdGhlbiBpdCBtdXN0IGJlIG91dHNpZGUgb2YgfGRl
Y29yYXRpb25SZW5kZXJlcnwncyBoaWVyYXJjaHkuCiAKICAgICAgICAgaWYgKGRlY29yYXRpb25S
ZW5kZXJlciAmJiBkZWNvcmF0aW9uUmVuZGVyZXItPmlzUmVuZGVySW5saW5lKCkgJiYgIWlzQW5j
ZXN0b3JBbmRXaXRoaW5CbG9jayhkb3duY2FzdDxSZW5kZXJJbmxpbmU+KCpkZWNvcmF0aW9uUmVu
ZGVyZXIpLCAmcnVuLT5yZW5kZXJlcigpKSkKQEAgLTY2LDEzICs2NiwxMyBAQCBzdGF0aWMgdm9p
ZCBtaW5Mb2dpY2FsVG9wRm9yVGV4dERlY29yYXRpb25MaW5lKGNvbnN0IElubGluZUl0ZXJhdG9y
OjpMaW5lSXRlcmF0bwogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgbWF4TG9naWNhbEJvdHRvbUZv
clRleHREZWNvcmF0aW9uTGluZShjb25zdCBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yJiBs
aW5lLCBmbG9hdCYgbWF4TG9naWNhbEJvdHRvbSwgY29uc3QgUmVuZGVyRWxlbWVudCogZGVjb3Jh
dGlvblJlbmRlcmVyLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB0ZXh0RGVjb3JhdGlv
bikKK3N0YXRpYyB2b2lkIG1heExvZ2ljYWxCb3R0b21Gb3JUZXh0RGVjb3JhdGlvbkxpbmUoY29u
c3QgSW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvciYgbGluZSwgZmxvYXQmIG1heExvZ2ljYWxC
b3R0b20sIGNvbnN0IFJlbmRlckVsZW1lbnQqIGRlY29yYXRpb25SZW5kZXJlciwgT3B0aW9uU2V0
PFRleHREZWNvcmF0aW9uTGluZT4gdGV4dERlY29yYXRpb25MaW5lKQogewogICAgIGZvciAoYXV0
byBydW4gPSBsaW5lLT5maXJzdExlYWZCb3goKTsgcnVuOyBydW4udHJhdmVyc2VOZXh0T25MaW5l
KCkpIHsKICAgICAgICAgaWYgKHJ1bi0+cmVuZGVyZXIoKS5pc091dE9mRmxvd1Bvc2l0aW9uZWQo
KSkKICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24n
dCBhZmZlY3QgY2FsY3VsYXRpb25zLgogCi0gICAgICAgIGlmICghKHJ1bi0+c3R5bGUoKS50ZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdCgpICYgdGV4dERlY29yYXRpb24pKQorICAgICAgICBpZiAoIShy
dW4tPnN0eWxlKCkudGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSAmIHRleHREZWNvcmF0aW9uTGlu
ZSkpCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gSWYgdGhlIHRleHQgZGVjb3JhdGlvbiBpc24n
dCBpbiBlZmZlY3Qgb24gdGhlIGNoaWxkLCB0aGVuIGl0IG11c3QgYmUgb3V0c2lkZSBvZiB8ZGVj
b3JhdGlvblJlbmRlcmVyfCdzIGhpZXJhcmNoeS4KIAogICAgICAgICBpZiAoZGVjb3JhdGlvblJl
bmRlcmVyICYmIGRlY29yYXRpb25SZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUoKSAmJiAhaXNBbmNl
c3RvckFuZFdpdGhpbkJsb2NrKGRvd25jYXN0PFJlbmRlcklubGluZT4oKmRlY29yYXRpb25SZW5k
ZXJlciksICZydW4tPnJlbmRlcmVyKCkpKQpAQCAtODMsNyArODMsNyBAQCBzdGF0aWMgdm9pZCBt
YXhMb2dpY2FsQm90dG9tRm9yVGV4dERlY29yYXRpb25MaW5lKGNvbnN0IElubGluZUl0ZXJhdG9y
OjpMaW5lSXRlcgogICAgIH0KIH0KIAotc3RhdGljIGNvbnN0IFJlbmRlckVsZW1lbnQqIGVuY2xv
c2luZ1JlbmRlcmVyV2l0aFRleHREZWNvcmF0aW9uKGNvbnN0IFJlbmRlclRleHQmIHJlbmRlcmVy
LCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB0ZXh0RGVjb3JhdGlvbiwgYm9vbCBmaXJz
dExpbmUpCitzdGF0aWMgY29uc3QgUmVuZGVyRWxlbWVudCogZW5jbG9zaW5nUmVuZGVyZXJXaXRo
VGV4dERlY29yYXRpb24oY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIE9wdGlvblNldDxUZXh0
RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uTGluZSwgYm9vbCBmaXJzdExpbmUpCiB7CiAg
ICAgY29uc3QgUmVuZGVyRWxlbWVudCogY3VycmVudCA9IHJlbmRlcmVyLnBhcmVudCgpOwogICAg
IGRvIHsKQEAgLTkzLDcgKzkzLDcgQEAgc3RhdGljIGNvbnN0IFJlbmRlckVsZW1lbnQqIGVuY2xv
c2luZ1JlbmRlcmVyV2l0aFRleHREZWNvcmF0aW9uKGNvbnN0IFJlbmRlclRleHQKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRv
VXNlID0gZmlyc3RMaW5lID8gY3VycmVudC0+Zmlyc3RMaW5lU3R5bGUoKSA6IGN1cnJlbnQtPnN0
eWxlKCk7Ci0gICAgICAgIGlmIChzdHlsZVRvVXNlLnRleHREZWNvcmF0aW9uKCkgJiB0ZXh0RGVj
b3JhdGlvbikKKyAgICAgICAgaWYgKHN0eWxlVG9Vc2UudGV4dERlY29yYXRpb25MaW5lKCkgJiB0
ZXh0RGVjb3JhdGlvbkxpbmUpCiAgICAgICAgICAgICByZXR1cm4gY3VycmVudDsKICAgICAgICAg
Y3VycmVudCA9IGN1cnJlbnQtPnBhcmVudCgpOwogICAgIH0gd2hpbGUgKGN1cnJlbnQgJiYgKCFj
dXJyZW50LT5lbGVtZW50KCkgfHwgKCFpczxIVE1MQW5jaG9yRWxlbWVudD4oKmN1cnJlbnQtPmVs
ZW1lbnQoKSkgJiYgIWN1cnJlbnQtPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmZv
bnRUYWcpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAppbmRleCBiZmYy
OWMwMWNmOTViYjNiZWIzNzc5YTE4NDhhYWFlODg3MDc5MGI2Li4xZWI5NjY3NjgxOWRiZTQ0NTk0
Njc3NWNlYjRlZTU1ZDc3NDRjN2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUFkanVzdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVy
LmNwcApAQCAtNDE5LDkgKzQxOSw5IEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHls
ZSYgc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAgICAgfQog
CiAgICAgaWYgKHNob3VsZEluaGVyaXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChzdHlsZSwgbV9l
bGVtZW50KSkKLSAgICAgICAgc3R5bGUuYWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChzdHls
ZS50ZXh0RGVjb3JhdGlvbigpKTsKKyAgICAgICAgc3R5bGUuYWRkVG9UZXh0RGVjb3JhdGlvbnNJ
bkVmZmVjdChzdHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSk7CiAgICAgZWxzZQotICAgICAgICBz
dHlsZS5zZXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChzdHlsZS50ZXh0RGVjb3JhdGlvbigpKTsK
KyAgICAgICAgc3R5bGUuc2V0VGV4dERlY29yYXRpb25zSW5FZmZlY3Qoc3R5bGUudGV4dERlY29y
YXRpb25MaW5lKCkpOwogCiAgICAgYXV0byBvdmVyZmxvd1JlcGxhY2VtZW50ID0gW10gKE92ZXJm
bG93IG92ZXJmbG93LCBPdmVyZmxvdyBvdmVyZmxvd0luT3RoZXJEaW1lbnNpb24pIC0+IHN0ZDo6
b3B0aW9uYWw8T3ZlcmZsb3c+IHsKICAgICAgICAgaWYgKG92ZXJmbG93ICE9IE92ZXJmbG93OjpW
aXNpYmxlICYmIG92ZXJmbG93ICE9IE92ZXJmbG93OjpDbGlwKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCmluZGV4IDc0NjRmODRkOGJmNmIyYjJhMzMx
MjNkNTkyYmUyOTJmMTRjYzI4ZGUuLjQ1MzE0MWExNTc4ZmY2MDA0Mzc2ZjYwZjE2ODI1ZWZjMWZi
YzBhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZl
cnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5o
CkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoU2l6ZSBjb252ZXJ0
UmFkaXVzKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVlJik7CiAgICAgc3RhdGljIExlbmd0
aFBvaW50IGNvbnZlcnRQb3NpdGlvbihCdWlsZGVyU3RhdGUmLCBjb25zdCBDU1NWYWx1ZSYpOwog
ICAgIHN0YXRpYyBMZW5ndGhQb2ludCBjb252ZXJ0UG9zaXRpb25PckF1dG8oQnVpbGRlclN0YXRl
JiwgY29uc3QgQ1NTVmFsdWUmKTsKLSAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9u
TGluZT4gY29udmVydFRleHREZWNvcmF0aW9uKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVl
Jik7CisgICAgc3RhdGljIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IGNvbnZlcnRUZXh0
RGVjb3JhdGlvbkxpbmUoQnVpbGRlclN0YXRlJiwgY29uc3QgQ1NTVmFsdWUmKTsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgVCBjb252ZXJ0TnVtYmVyKEJ1aWxkZXJTdGF0ZSYsIGNv
bnN0IENTU1ZhbHVlJik7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIFQgY29udmVy
dE51bWJlck9yQXV0byhCdWlsZGVyU3RhdGUmLCBjb25zdCBDU1NWYWx1ZSYpOwogICAgIHN0YXRp
YyBzaG9ydCBjb252ZXJ0V2Via2l0SHlwaGVuYXRlTGltaXRMaW5lcyhCdWlsZGVyU3RhdGUmLCBj
b25zdCBDU1NWYWx1ZSYpOwpAQCAtNDMyLDkgKzQzMiw5IEBAIGlubGluZSBMZW5ndGhQb2ludCBC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0UG9zaXRpb25PckF1dG8oQnVpbGRlclN0YXRlJiBidWls
ZGVyCiAgICAgcmV0dXJuIExlbmd0aFBvaW50KExlbmd0aChMZW5ndGhUeXBlOjpBdXRvKSwgTGVu
Z3RoKExlbmd0aFR5cGU6OkF1dG8pKTsKIH0KIAotaW5saW5lIE9wdGlvblNldDxUZXh0RGVjb3Jh
dGlvbkxpbmU+IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUZXh0RGVjb3JhdGlvbihCdWlsZGVy
U3RhdGUmLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgT3B0aW9uU2V0PFRleHREZWNv
cmF0aW9uTGluZT4gQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydFRleHREZWNvcmF0aW9uTGluZShC
dWlsZGVyU3RhdGUmLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCiB7Ci0gICAgYXV0byByZXN1bHQg
PSBSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CisgICAgYXV0byByZXN1bHQg
PSBSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uTGluZSgpOwogICAgIGlmIChpczxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewogICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnRWYWx1ZSA6
IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpKQogICAgICAgICAgICAgcmVzdWx0LmFkZChk
b3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oY3VycmVudFZhbHVlLmdldCgpKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454633</attachid>
            <date>2022-03-14 16:17:38 -0700</date>
            <delta_ts>2022-03-14 17:43:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237400-20220315001736.patch</filename>
            <type>text/plain</type>
            <size>26967</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYxYzkxNGQ3NWIzNDQ1
M2VkMjI3NWQ3MjU2NTY0YTEwYWE0MTEyNS4uMjc1ZWRjYmNkYmFkOTY2YTY4ZjMxMDhkM2MyOTMw
NGNlZDY3ODYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIyLTAzLTE0ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlbmRlclN0
eWxlOjp0ZXh0RGVjb3JhdGlvbigpIHRvIFJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbkxpbmUo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NDAw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQmVmb3JlIGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzIzNzE3NSwgdGhlIHRleHQtZGVjb3JhdGlvbi1saW5lIGFuZAor
ICAgICAgICB0ZXh0LWRlY29yYXRpb24gcHJvcGVydGllcyB3ZXJlIDIgbG9uZ2hhbmRzIHRoYXQg
c2hhcmVkIGEgY29tcHV0ZWQKKyAgICAgICAgdmFsdWUsIGFjY2Vzc2VkIHZpYSBSZW5kZXJTdHls
ZTo6dGV4dERlY29yYXRpb24oKS4KKworICAgICAgICBCdXQgbm93IHRleHQtZGVjb3JhdGlvbiBp
cyBhIHByb3BlciBzaG9ydGhhbmQgb2YgdGV4dC1kZWNvcmF0aW9uLWxpbmUuCisgICAgICAgIFNv
IGl0IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIHRvIGNvbnRpbnVlIGFjY2Vzc2luZyB0aGUgbGlu
ZSB2aWEKKyAgICAgICAgdGV4dERlY29yYXRpb24oKSwgaXQgc2hvdWxkIGJlIHRleHREZWNvcmF0
aW9uTGluZSgpIGluc3RlYWQuCisKKyAgICAgICAgU2FtZSBmb3IgUmVuZGVyU3R5bGU6OnNldFRl
eHREZWNvcmF0aW9uKCksIGV0Yy4KKworICAgICAgICBObyB0ZXN0cyBzaW5jZSBpdCdzIGp1c3Qg
YSByZW5hbWUsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdFRleHRBdHNwaS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OnRleHRBdHRyaWJ1dGVzIGNvbnN0KToKKyAg
ICAgICAgKiBhbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVyTWFwOjpDU1NQcm9wZXJ0eUFuaW1hdGlv
bldyYXBwZXJNYXApOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246CisgICAg
ICAgICogcmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjb2xsZWN0U3R5bGVzRm9yUmVuZGVyZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6UmVuZGVy
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNoYW5nZUFmZmVjdHNWaXN1
YWxPdmVyZmxvdyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y2hhbmdl
UmVxdWlyZXNSZXBhaW50SWZUZXh0T3JCb3JkZXJPck91dGxpbmUgY29uc3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U3R5bGU6OnRleHREZWNvcmF0aW9uc0luRWZmZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbkxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OmFkZFRvVGV4dERlY29yYXRpb25zSW5FZmZlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFRleHREZWNvcmF0aW9uc0luRWZmZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvbkxpbmUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvbkxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbiBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29y
YXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxU
ZXh0RGVjb3JhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFs
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVZpc3VhbERhdGE6OlN0eWxlVmlzdWFs
RGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVWaXN1YWxEYXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6ZmluZFJlbmRlcmVyRGVmaW5pbmluZ1RleHREZWNvcmF0aW9uKToKKyAgICAgICAgKiBzdHls
ZS9JbmxpbmVUZXh0Qm94U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWluTG9naWNhbFRv
cEZvclRleHREZWNvcmF0aW9uTGluZSk6CisgICAgICAgIChXZWJDb3JlOjptYXhMb2dpY2FsQm90
dG9tRm9yVGV4dERlY29yYXRpb25MaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmVuY2xvc2luZ1Jl
bmRlcmVyV2l0aFRleHREZWNvcmF0aW9uKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0IGNvbnN0KToK
KyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0VGV4dERlY29yYXRpb25MaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0VGV4dERl
Y29yYXRpb24pOiBEZWxldGVkLgorCiAyMDIyLTAzLTE0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0
c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFttb2RlbF0gPG1vZGVsIGludGVyYWN0aXZlPiBkb2Vz
bid0IGFsbG93IG1vZGVsIHRvIGJlIHJvdGF0ZWQgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RUZXh0QXRzcGku
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0VGV4dEF0c3BpLmNwcAppbmRleCA0ZDNjZmI3NWJhNjA2MTg0MmYyYTYxMzFmZTA3OWU0NTY3
NTA0ZDAyLi5lNGNmNmMwZGEwZTVkN2QzMGNkN2UyNzljYTdlMDI2ZGQzZGE5Nzc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmpl
Y3RUZXh0QXRzcGkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QWNjZXNzaWJpbGl0eU9iamVjdFRleHRBdHNwaS5jcHAKQEAgLTc4NCw4ICs3ODQsOCBAQCBBY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGk6OlRleHRBdHRyaWJ1dGVzIEFjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaTo6dGV4dEF0dHJpYnV0ZQogICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgic2l6ZSJf
cywgbWFrZVN0cmluZyhzdGQ6OnJvdW5kKHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpICog
NzIgLyBXZWJDb3JlOjpzY3JlZW5EUEkoKSksICJwdCIpKTsKICAgICAgICAgYWRkQXR0cmlidXRl
SWZOZWVkZWQoIndlaWdodCJfcywgbWFrZVN0cmluZyhzdGF0aWNfY2FzdDxmbG9hdD4oc3R5bGUu
Zm9udENhc2NhZGUoKS53ZWlnaHQoKSkpKTsKICAgICAgICAgYWRkQXR0cmlidXRlSWZOZWVkZWQo
InN0eWxlIl9zLCBzdHlsZS5mb250Q2FzY2FkZSgpLml0YWxpYygpID8gIml0YWxpYyIgOiAibm9y
bWFsIik7Ci0gICAgICAgIGFkZEF0dHJpYnV0ZUlmTmVlZGVkKCJzdHJpa2V0aHJvdWdoIl9zLCBz
dHlsZS50ZXh0RGVjb3JhdGlvbigpICYgVGV4dERlY29yYXRpb25MaW5lOjpMaW5lVGhyb3VnaCA/
ICJ0cnVlIiA6ICJmYWxzZSIpOwotICAgICAgICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgidW5kZXJs
aW5lIl9zLCBzdHlsZS50ZXh0RGVjb3JhdGlvbigpICYgVGV4dERlY29yYXRpb25MaW5lOjpVbmRl
cmxpbmUgPyAic2luZ2xlIiA6ICJub25lIik7CisgICAgICAgIGFkZEF0dHJpYnV0ZUlmTmVlZGVk
KCJzdHJpa2V0aHJvdWdoIl9zLCBzdHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSAmIFRleHREZWNv
cmF0aW9uTGluZTo6TGluZVRocm91Z2ggPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICAgICAgYWRk
QXR0cmlidXRlSWZOZWVkZWQoInVuZGVybGluZSJfcywgc3R5bGUudGV4dERlY29yYXRpb25MaW5l
KCkgJiBUZXh0RGVjb3JhdGlvbkxpbmU6OlVuZGVybGluZSA/ICJzaW5nbGUiIDogIm5vbmUiKTsK
ICAgICAgICAgYWRkQXR0cmlidXRlSWZOZWVkZWQoImludmlzaWJsZSJfcywgc3R5bGUudmlzaWJp
bGl0eSgpID09IFZpc2liaWxpdHk6OkhpZGRlbiA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgICAg
ICBhZGRBdHRyaWJ1dGVJZk5lZWRlZCgiZWRpdGFibGUiX3MsIG1fY29yZU9iamVjdC0+Y2FuU2V0
VmFsdWVBdHRyaWJ1dGUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgICAgICBhZGRBdHRyaWJ1
dGVJZk5lZWRlZCgiZGlyZWN0aW9uIl9zLCBzdHlsZS5kaXJlY3Rpb24oKSA9PSBUZXh0RGlyZWN0
aW9uOjpMVFIgPyAibHRyIiA6ICJydGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IGQyMDI2NTU5NWIyMjQzNDFiNzdkYzkx
ODM5MzFkNzlkMmU0NGIzMWEuLjZmNzRjOWYzNDgwYmUyNzlkOGRmYzg5ZDA0MWFlY2QyODlmZjlm
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1h
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0
aW9uLmNwcApAQCAtMzIwOSw3ICszMjA5LDcgQEAgQ1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVy
TWFwOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXAoKQogICAgICAgICBuZXcgRGlzY3Jl
dGVQcm9wZXJ0eVdyYXBwZXI8UnVieVBvc2l0aW9uPihDU1NQcm9wZXJ0eVdlYmtpdFJ1YnlQb3Np
dGlvbiwgJlJlbmRlclN0eWxlOjpydWJ5UG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0UnVieVBv
c2l0aW9uKSwKICAgICAgICAgbmV3IERpc2NyZXRlUHJvcGVydHlXcmFwcGVyPFRhYmxlTGF5b3V0
VHlwZT4oQ1NTUHJvcGVydHlUYWJsZUxheW91dCwgJlJlbmRlclN0eWxlOjp0YWJsZUxheW91dCwg
JlJlbmRlclN0eWxlOjpzZXRUYWJsZUxheW91dCksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3Bl
cnR5V3JhcHBlcjxUZXh0QWxpZ25Nb2RlPihDU1NQcm9wZXJ0eVRleHRBbGlnbiwgJlJlbmRlclN0
eWxlOjp0ZXh0QWxpZ24sICZSZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduKSwKLSAgICAgICAgbmV3
IERpc2NyZXRlUHJvcGVydHlXcmFwcGVyPE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+PihD
U1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uTGluZSwgJlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlv
biwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvbiksCisgICAgICAgIG5ldyBEaXNjcmV0
ZVByb3BlcnR5V3JhcHBlcjxPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPj4oQ1NTUHJvcGVy
dHlUZXh0RGVjb3JhdGlvbkxpbmUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25MaW5lLCAm
UmVuZGVyU3R5bGU6OnNldFRleHREZWNvcmF0aW9uTGluZSksCiAgICAgICAgIG5ldyBEaXNjcmV0
ZVByb3BlcnR5V3JhcHBlcjxUZXh0RGVjb3JhdGlvblN0eWxlPihDU1NQcm9wZXJ0eVRleHREZWNv
cmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0
eWxlOjpzZXRUZXh0RGVjb3JhdGlvblN0eWxlKSwKICAgICAgICAgbmV3IFByb3BlcnR5V3JhcHBl
clZpc2l0ZWRBZmZlY3RlZENvbG9yKENTU1Byb3BlcnR5VGV4dEVtcGhhc2lzQ29sb3IsIE1heWJl
SW52YWxpZENvbG9yLCAmUmVuZGVyU3R5bGU6OnRleHRFbXBoYXNpc0NvbG9yLCAmUmVuZGVyU3R5
bGU6OnNldFRleHRFbXBoYXNpc0NvbG9yLCAmUmVuZGVyU3R5bGU6OnZpc2l0ZWRMaW5rVGV4dEVt
cGhhc2lzQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xv
ciksCiAgICAgICAgIG5ldyBEaXNjcmV0ZVByb3BlcnR5V3JhcHBlcjxPcHRpb25TZXQ8VGV4dEVt
cGhhc2lzUG9zaXRpb24+PihDU1NQcm9wZXJ0eVRleHRFbXBoYXNpc1Bvc2l0aW9uLCAmUmVuZGVy
U3R5bGU6OnRleHRFbXBoYXNpc1Bvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnNldFRleHRFbXBoYXNp
c1Bvc2l0aW9uKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKaW5kZXggYWNlYmRiMzQ2NGJmZTFmMjc1ZGU0YWIwOGJhMThkZjg1Njhl
YmQ4My4uOWVhMzM5ZDY0NmY3ODk5NTE0Mzk0NjE4NTNkOGEwMzkyYzRlYjAwMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAg
LTM1NTIsNyArMzU1Miw3IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0QWxpZ246CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNy
ZWF0ZVZhbHVlKHN0eWxlLnRleHRBbGlnbigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRl
eHREZWNvcmF0aW9uOgotICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9uTGlu
ZUZsYWdzVG9DU1NWYWx1ZShzdHlsZS50ZXh0RGVjb3JhdGlvbigpKTsKKyAgICAgICAgICAgIHJl
dHVybiByZW5kZXJUZXh0RGVjb3JhdGlvbkxpbmVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUudGV4dERl
Y29yYXRpb25MaW5lKCkpOwogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVl
UG9vbC5jcmVhdGVWYWx1ZShzdHlsZS50ZXh0QWxpZ25MYXN0KCkpOwpAQCAtMzU2Miw3ICszNTYy
LDcgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclBy
b3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdFRleHREZWNvcmF0aW9uOgogICAgICAgICAgICAgcmV0dXJuIGdldENTU1Byb3BlcnR5VmFs
dWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyh3ZWJraXRUZXh0RGVjb3JhdGlvblNob3J0aGFuZCgp
KTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uTGluZToKLSAgICAgICAg
ICAgIHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvbkxpbmVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUu
dGV4dERlY29yYXRpb24oKSk7CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRp
b25MaW5lRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLnRleHREZWNvcmF0aW9uTGluZSgpKTsKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uU3R5bGU6CiAgICAgICAgICAgICByZXR1
cm4gcmVuZGVyVGV4dERlY29yYXRpb25TdHlsZUZsYWdzVG9DU1NWYWx1ZShzdHlsZS50ZXh0RGVj
b3JhdGlvblN0eWxlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb25D
b2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IDU1YTY0YTI5NDY5
MTM2YzhhNjkwYmU1YmI0OWM4NDhmZmNhNzNhOWMuLmVkNDAyODM5NjUwNTVkZGU0OGIxNjljNDFj
NWU4OTg0M2FkNGNmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAt
Njg0MSw4ICs2ODQxLDcgQEAKICAgICAgICAgfSwKICAgICAgICAgInRleHQtZGVjb3JhdGlvbi1s
aW5lIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKLSAgICAgICAgICAg
ICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJUZXh0RGVjb3JhdGlvbiIsCi0gICAgICAgICAgICAg
ICAgImNvbnZlcnRlciI6ICJUZXh0RGVjb3JhdGlvbiIsCisgICAgICAgICAgICAgICAgImNvbnZl
cnRlciI6ICJUZXh0RGVjb3JhdGlvbkxpbmUiLAogICAgICAgICAgICAgICAgICJhbGlhc2VzIjog
WwogICAgICAgICAgICAgICAgICAgICAiLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGluZSIKICAg
ICAgICAgICAgICAgICBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dERlY29yYXRpb25QYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVj
b3JhdGlvblBhaW50ZXIuY3BwCmluZGV4IDY3NTU2OGFmZjYxMThmMDEzYmQxZDRmNTVhNmMzNjRm
YThhZjM4ZTguLmVkMjI5ZTk4Njc4MTkyMzMxMDc5OGNlOTY1YTU1OWQ5NGQyYWY4YzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuY3Bw
CkBAIC0zNjksNyArMzY5LDcgQEAgc3RhdGljIHZvaWQgY29sbGVjdFN0eWxlc0ZvclJlbmRlcmVy
KFRleHREZWNvcmF0aW9uUGFpbnRlcjo6U3R5bGVzJiByZXN1bHQsIGNvbnMKICAgICBhdXRvKiBj
dXJyZW50ID0gJnJlbmRlcmVyOwogICAgIGRvIHsKICAgICAgICAgY29uc3QgYXV0byYgc3R5bGUg
PSBzdHlsZUZvclJlbmRlcmVyKCpjdXJyZW50KTsKLSAgICAgICAgZXh0cmFjdERlY29yYXRpb25z
KHN0eWxlLCBzdHlsZS50ZXh0RGVjb3JhdGlvbigpKTsKKyAgICAgICAgZXh0cmFjdERlY29yYXRp
b25zKHN0eWxlLCBzdHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSk7CiAKICAgICAgICAgaWYgKGN1
cnJlbnQtPmlzUnVieVRleHQoKSkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDU0MDk1ODBlMDYyNzVi
MzYwNTczYzJjNzI1MjY3OWQyYWUwNjA5ODEuLmNjODBlNTc2MzA3ZTI2ZDkzZWYyZGE4ODFkNTFm
MDkzMjUwYmY4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIFJlbmRlclN0eWxlOjpSZW5kZXJTdHlsZShD
cmVhdGVEZWZhdWx0U3R5bGVUYWcpCiAgICAgbV9pbmhlcml0ZWRGbGFncy52aXNpYmlsaXR5ID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGluaXRpYWxWaXNpYmlsaXR5KCkpOwogICAgIG1faW5oZXJp
dGVkRmxhZ3MudGV4dEFsaWduID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGluaXRpYWxUZXh0QWxp
Z24oKSk7CiAgICAgbV9pbmhlcml0ZWRGbGFncy50ZXh0VHJhbnNmb3JtID0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KGluaXRpYWxUZXh0VHJhbnNmb3JtKCkpOwotICAgIG1faW5oZXJpdGVkRmxhZ3Mu
dGV4dERlY29yYXRpb25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCkudG9SYXcoKTsKKyAgICBt
X2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMgPSBpbml0aWFsVGV4dERlY29yYXRp
b25MaW5lKCkudG9SYXcoKTsKICAgICBtX2luaGVyaXRlZEZsYWdzLmN1cnNvciA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihpbml0aWFsQ3Vyc29yKCkpOwogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJ
TElUWSkKICAgICBtX2luaGVyaXRlZEZsYWdzLmN1cnNvclZpc2liaWxpdHkgPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oaW5pdGlhbEN1cnNvclZpc2liaWxpdHkoKSk7CkBAIC02MzksNyArNjM5LDcg
QEAgaW5saW5lIGJvb2wgUmVuZGVyU3R5bGU6OmNoYW5nZUFmZmVjdHNWaXN1YWxPdmVyZmxvdyhj
b25zdCBSZW5kZXJTdHlsZSYgb3RoZXIpIGMKICAgICAgICAgJiYgIWFyZVBvaW50aW5nVG9FcXVh
bERhdGEobV9yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNoYWRvdywgb3RoZXIubV9yYXJlSW5oZXJp
dGVkRGF0YS0+dGV4dFNoYWRvdykpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKG1f
aW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRpb25zICE9IG90aGVyLm1faW5oZXJpdGVkRmxhZ3Mu
dGV4dERlY29yYXRpb25zCisgICAgaWYgKG1faW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRpb25M
aW5lcyAhPSBvdGhlci5tX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMKICAgICAg
ICAgfHwgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25TdHlsZSAhPSBvdGhl
ci5tX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50ZXh0RGVjb3JhdGlvblN0eWxlCiAgICAgICAgIHx8
IG1fcmFyZUluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uVGhpY2tuZXNzICE9IG90aGVyLm1f
cmFyZUluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uVGhpY2tuZXNzCiAgICAgICAgIHx8IG1f
cmFyZUluaGVyaXRlZERhdGEtPnRleHRVbmRlcmxpbmVPZmZzZXQgIT0gb3RoZXIubV9yYXJlSW5o
ZXJpdGVkRGF0YS0+dGV4dFVuZGVybGluZU9mZnNldApAQCAtMTE4MSw4ICsxMTgxLDggQEAgYm9v
bCBSZW5kZXJTdHlsZTo6Y2hhbmdlUmVxdWlyZXNSZXBhaW50KGNvbnN0IFJlbmRlclN0eWxlJiBv
dGhlciwgT3B0aW9uU2V0PFN0eWwKIGJvb2wgUmVuZGVyU3R5bGU6OmNoYW5nZVJlcXVpcmVzUmVw
YWludElmVGV4dE9yQm9yZGVyT3JPdXRsaW5lKGNvbnN0IFJlbmRlclN0eWxlJiBvdGhlciwgT3B0
aW9uU2V0PFN0eWxlRGlmZmVyZW5jZUNvbnRleHRTZW5zaXRpdmVQcm9wZXJ0eT4mKSBjb25zdAog
ewogICAgIGlmIChtX2luaGVyaXRlZERhdGEtPmNvbG9yICE9IG90aGVyLm1faW5oZXJpdGVkRGF0
YS0+Y29sb3IKLSAgICAgICAgfHwgbV9pbmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbnMgIT0g
b3RoZXIubV9pbmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbnMKLSAgICAgICAgfHwgbV92aXN1
YWxEYXRhLT50ZXh0RGVjb3JhdGlvbiAhPSBvdGhlci5tX3Zpc3VhbERhdGEtPnRleHREZWNvcmF0
aW9uCisgICAgICAgIHx8IG1faW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRpb25MaW5lcyAhPSBv
dGhlci5tX2luaGVyaXRlZEZsYWdzLnRleHREZWNvcmF0aW9uTGluZXMKKyAgICAgICAgfHwgbV92
aXN1YWxEYXRhLT50ZXh0RGVjb3JhdGlvbkxpbmUgIT0gb3RoZXIubV92aXN1YWxEYXRhLT50ZXh0
RGVjb3JhdGlvbkxpbmUKICAgICAgICAgfHwgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dGV4dERl
Y29yYXRpb25TdHlsZSAhPSBvdGhlci5tX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50ZXh0RGVjb3Jh
dGlvblN0eWxlCiAgICAgICAgIHx8IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0
aW9uQ29sb3IgIT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25D
b2xvcgogICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0RGVjb3JhdGlvblNraXBJ
bmsgIT0gb3RoZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dERlY29yYXRpb25Ta2lwSW5rCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGQwNjcy
Y2JmMGI3YjBhYWNiYTFjMDZiZDUyNTA2YTM3OTUzNzJlZTYuLmVjOTViNWE3MzM0ZDQ3YTk4NTNh
ZGQxN2E2MjkxODk5ZGI3YTRmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCkBAIC0zNzQsOCArMzc0LDggQEAgcHVibGljOgogICAgIGNvbnN0IExl
bmd0aCYgdGV4dEluZGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPmlu
ZGVudDsgfQogICAgIFRleHRBbGlnbk1vZGUgdGV4dEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VGV4dEFsaWduTW9kZT4obV9pbmhlcml0ZWRGbGFncy50ZXh0QWxpZ24pOyB9CiAg
ICAgVGV4dFRyYW5zZm9ybSB0ZXh0VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8VGV4dFRyYW5zZm9ybT4obV9pbmhlcml0ZWRGbGFncy50ZXh0VHJhbnNmb3JtKTsgfQotICAg
IE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkg
Y29uc3QgeyByZXR1cm4gT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT46OmZyb21SYXcobV9p
bmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbnMpOyB9Ci0gICAgT3B0aW9uU2V0PFRleHREZWNv
cmF0aW9uTGluZT4gdGV4dERlY29yYXRpb24oKSBjb25zdCB7IHJldHVybiBPcHRpb25TZXQ8VGV4
dERlY29yYXRpb25MaW5lPjo6ZnJvbVJhdyhtX3Zpc3VhbERhdGEtPnRleHREZWNvcmF0aW9uKTsg
fQorICAgIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uc0luRWZm
ZWN0KCkgY29uc3QgeyByZXR1cm4gT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT46OmZyb21S
YXcobV9pbmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbkxpbmVzKTsgfQorICAgIE9wdGlvblNl
dDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uTGluZSgpIGNvbnN0IHsgcmV0dXJu
IE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+Ojpmcm9tUmF3KG1fdmlzdWFsRGF0YS0+dGV4
dERlY29yYXRpb25MaW5lKTsgfQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRp
b25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5bGU+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAgVGV4
dERlY29yYXRpb25Ta2lwSW5rIHRleHREZWNvcmF0aW9uU2tpcEluaygpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU2tpcEluaz4obV9yYXJlSW5oZXJpdGVkRGF0YS0+
dGV4dERlY29yYXRpb25Ta2lwSW5rKTsgfQogICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0
VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0VW5kZXJs
aW5lUG9zaXRpb24+KG1fcmFyZUluaGVyaXRlZERhdGEtPnRleHRVbmRlcmxpbmVQb3NpdGlvbik7
IH0KQEAgLTk5Niw5ICs5OTYsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUZXh0SW5kZW50KExl
bmd0aCYmIGxlbmd0aCkgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGluZGVudCwgV1RG
TW92ZShsZW5ndGgpKTsgfQogICAgIHZvaWQgc2V0VGV4dEFsaWduKFRleHRBbGlnbk1vZGUgdikg
eyBtX2luaGVyaXRlZEZsYWdzLnRleHRBbGlnbiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2KTsg
fQogICAgIHZvaWQgc2V0VGV4dFRyYW5zZm9ybShUZXh0VHJhbnNmb3JtIHYpIHsgbV9pbmhlcml0
ZWRGbGFncy50ZXh0VHJhbnNmb3JtID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHYpOyB9Ci0gICAg
dm9pZCBhZGRUb1RleHREZWNvcmF0aW9uc0luRWZmZWN0KE9wdGlvblNldDxUZXh0RGVjb3JhdGlv
bkxpbmU+IHYpIHsgbV9pbmhlcml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbnMgfD0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHYudG9SYXcoKSk7IH0KLSAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uc0lu
RWZmZWN0KE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHYpIHsgbV9pbmhlcml0ZWRGbGFn
cy50ZXh0RGVjb3JhdGlvbnMgPSB2LnRvUmF3KCk7IH0KLSAgICB2b2lkIHNldFRleHREZWNvcmF0
aW9uKE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHYpIHsgU0VUX1ZBUihtX3Zpc3VhbERh
dGEsIHRleHREZWNvcmF0aW9uLCB2LnRvUmF3KCkpOyB9CisgICAgdm9pZCBhZGRUb1RleHREZWNv
cmF0aW9uc0luRWZmZWN0KE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHYpIHsgbV9pbmhl
cml0ZWRGbGFncy50ZXh0RGVjb3JhdGlvbkxpbmVzIHw9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2
LnRvUmF3KCkpOyB9CisgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChPcHRpb25T
ZXQ8VGV4dERlY29yYXRpb25MaW5lPiB2KSB7IG1faW5oZXJpdGVkRmxhZ3MudGV4dERlY29yYXRp
b25MaW5lcyA9IHYudG9SYXcoKTsgfQorICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25MaW5lKE9w
dGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHYpIHsgU0VUX1ZBUihtX3Zpc3VhbERhdGEsIHRl
eHREZWNvcmF0aW9uTGluZSwgdi50b1JhdygpKTsgfQogICAgIHZvaWQgc2V0VGV4dERlY29yYXRp
b25TdHlsZShUZXh0RGVjb3JhdGlvblN0eWxlIHYpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLCB0ZXh0RGVjb3JhdGlvblN0eWxlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odikpOyB9
CiAgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvblNraXBJbmsoVGV4dERlY29yYXRpb25Ta2lwSW5r
IHNraXBJbmspIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCB0ZXh0RGVjb3JhdGlvblNr
aXBJbmssIHN0YXRpY19jYXN0PHVuc2lnbmVkPihza2lwSW5rKSk7IH0KICAgICB2b2lkIHNldFRl
eHRVbmRlcmxpbmVQb3NpdGlvbihUZXh0VW5kZXJsaW5lUG9zaXRpb24gcG9zaXRpb24pIHsgU0VU
X1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCB0ZXh0VW5kZXJsaW5lUG9zaXRpb24sIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihwb3NpdGlvbikpOyB9CkBAIC0xNjMzLDcgKzE2MzMsNyBAQCBwdWJsaWM6
CiAgICAgLy8gUmV0dXJuaW5nIC0xMDAlIHBlcmNlbnQgaGVyZSBtZWFucyB0aGUgbGluZS1oZWln
aHQgaXMgbm90IHNldC4KICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxMaW5lSGVpZ2h0KCkgeyBy
ZXR1cm4gTGVuZ3RoKC0xMDAuMGYsIExlbmd0aFR5cGU6OlBlcmNlbnQpOyB9CiAgICAgc3RhdGlj
IFRleHRBbGlnbk1vZGUgaW5pdGlhbFRleHRBbGlnbigpIHsgcmV0dXJuIFRleHRBbGlnbk1vZGU6
OlN0YXJ0OyB9Ci0gICAgc3RhdGljIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IGluaXRp
YWxUZXh0RGVjb3JhdGlvbigpIHsgcmV0dXJuIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+
IHsgfTsgfQorICAgIHN0YXRpYyBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiBpbml0aWFs
VGV4dERlY29yYXRpb25MaW5lKCkgeyByZXR1cm4gT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGlu
ZT4geyB9OyB9CiAgICAgc3RhdGljIFRleHREZWNvcmF0aW9uU3R5bGUgaW5pdGlhbFRleHREZWNv
cmF0aW9uU3R5bGUoKSB7IHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlOjpTb2xpZDsgfQogICAg
IHN0YXRpYyBUZXh0RGVjb3JhdGlvblNraXBJbmsgaW5pdGlhbFRleHREZWNvcmF0aW9uU2tpcElu
aygpIHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU2tpcEluazo6QXV0bzsgfQogICAgIHN0YXRpYyBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbigpIHsgcmV0
dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbjo6QXV0bzsgfQpAQCAtMTk4MCw3ICsxOTgwLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgdmlzaWJpbGl0eSA6IDI7IC8vIFZpc2liaWxpdHkK
ICAgICAgICAgdW5zaWduZWQgdGV4dEFsaWduIDogNDsgLy8gVGV4dEFsaWduTW9kZQogICAgICAg
ICB1bnNpZ25lZCB0ZXh0VHJhbnNmb3JtIDogMjsgLy8gVGV4dFRyYW5zZm9ybQotICAgICAgICB1
bnNpZ25lZCB0ZXh0RGVjb3JhdGlvbnMgOiBUZXh0RGVjb3JhdGlvbkJpdHM7CisgICAgICAgIHVu
c2lnbmVkIHRleHREZWNvcmF0aW9uTGluZXMgOiBUZXh0RGVjb3JhdGlvbkxpbmVCaXRzOwogICAg
ICAgICB1bnNpZ25lZCBjdXJzb3IgOiA2OyAvLyBDdXJzb3JUeXBlCiAjaWYgRU5BQkxFKENVUlNP
Ul9WSVNJQklMSVRZKQogICAgICAgICB1bnNpZ25lZCBjdXJzb3JWaXNpYmlsaXR5IDogMTsgLy8g
Q3Vyc29yVmlzaWJpbGl0eQpAQCAtMjE0Nyw3ICsyMTQ3LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVy
U3R5bGU6OkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09KGNvbnN0IEluaGVyaXRlZEZsYWdzJiBv
dGhlcikKICAgICAgICAgJiYgdmlzaWJpbGl0eSA9PSBvdGhlci52aXNpYmlsaXR5CiAgICAgICAg
ICYmIHRleHRBbGlnbiA9PSBvdGhlci50ZXh0QWxpZ24KICAgICAgICAgJiYgdGV4dFRyYW5zZm9y
bSA9PSBvdGhlci50ZXh0VHJhbnNmb3JtCi0gICAgICAgICYmIHRleHREZWNvcmF0aW9ucyA9PSBv
dGhlci50ZXh0RGVjb3JhdGlvbnMKKyAgICAgICAgJiYgdGV4dERlY29yYXRpb25MaW5lcyA9PSBv
dGhlci50ZXh0RGVjb3JhdGlvbkxpbmVzCiAgICAgICAgICYmIGN1cnNvciA9PSBvdGhlci5jdXJz
b3IKICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgICAgICYmIGN1cnNvclZpc2li
aWxpdHkgPT0gb3RoZXIuY3Vyc29yVmlzaWJpbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCAxYWJmNjlhNGYw
YTA3Mzg0NzkxNDA3MTRkZGU5ZjI4ZmM0ZGIzODdiLi5hNzdlMWIxOTIxY2M5OWUzMmEzN2RjNzU5
MTgxNDk1M2FiMWNkOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNzM0LDcgKzczNCw3IEBAIGVudW0gY2xh
c3MgVGV4dFRyYW5zZm9ybSA6IHVpbnQ4X3QgewogICAgIE5vbmUKIH07CiAKLXN0YXRpYyBjb25z
dCBzaXplX3QgVGV4dERlY29yYXRpb25CaXRzID0gNDsKK3N0YXRpYyBjb25zdCBzaXplX3QgVGV4
dERlY29yYXRpb25MaW5lQml0cyA9IDQ7CiBlbnVtIGNsYXNzIFRleHREZWNvcmF0aW9uTGluZSA6
IHVpbnQ4X3QgewogICAgIE5vbmUgICAgICAgICAgPSAwLAogICAgIFVuZGVybGluZSAgICAgPSAx
IDw8IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVW
aXN1YWxEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3Vh
bERhdGEuY3BwCmluZGV4IDEwYTQ0N2JkMGFlMjQ3ZTVlYTY3NWE0YjdhNDdhMTZlMWRhMjgwNTYu
LjQ5OGY4M2YzMTc0MjU2YTM0NmJmY2VlMmNkZDMyZWVkYTZhMzEzMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwCkBAIC0yOCw3
ICsyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3R5bGVWaXN1YWxEYXRhOjpTdHlsZVZp
c3VhbERhdGEoKQogICAgIDogaGFzQ2xpcChmYWxzZSkKLSAgICAsIHRleHREZWNvcmF0aW9uKFJl
bmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb24oKS50b1JhdygpKQorICAgICwgdGV4dERl
Y29yYXRpb25MaW5lKFJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb25MaW5lKCkudG9S
YXcoKSkKICAgICAsIHpvb20oUmVuZGVyU3R5bGU6OmluaXRpYWxab29tKCkpCiB7CiB9CkBAIC0z
OSw3ICszOSw3IEBAIGlubGluZSBTdHlsZVZpc3VhbERhdGE6OlN0eWxlVmlzdWFsRGF0YShjb25z
dCBTdHlsZVZpc3VhbERhdGEmIG90aGVyKQogICAgIDogUmVmQ291bnRlZDxTdHlsZVZpc3VhbERh
dGE+KCkKICAgICAsIGNsaXAob3RoZXIuY2xpcCkKICAgICAsIGhhc0NsaXAob3RoZXIuaGFzQ2xp
cCkKLSAgICAsIHRleHREZWNvcmF0aW9uKG90aGVyLnRleHREZWNvcmF0aW9uKQorICAgICwgdGV4
dERlY29yYXRpb25MaW5lKG90aGVyLnRleHREZWNvcmF0aW9uTGluZSkKICAgICAsIHpvb20oUmVu
ZGVyU3R5bGU6OmluaXRpYWxab29tKCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgKaW5kZXggZDQxOGFjYjUwYTI0ZjhhM2IyMThk
ZGUxOGMzM2UxYWE4OGE4Y2IzYi4uNTAyNGZhMWQxMjE2OWJkN2QxOTEyYmJjNDJjODQ1ZDI2MjE0
MjJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlz
dWFsRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3Vh
bERhdGEuaApAQCAtNDEsMTQgKzQxLDE0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biBjbGlwID09IG90aGVyLmNsaXAKICAgICAgICAgICAgICYmIGhhc0NsaXAgPT0gb3RoZXIuaGFz
Q2xpcAotICAgICAgICAgICAgJiYgdGV4dERlY29yYXRpb24gPT0gb3RoZXIudGV4dERlY29yYXRp
b24KKyAgICAgICAgICAgICYmIHRleHREZWNvcmF0aW9uTGluZSA9PSBvdGhlci50ZXh0RGVjb3Jh
dGlvbkxpbmUKICAgICAgICAgICAgICYmIHpvb20gPT0gb3RoZXIuem9vbTsKICAgICB9CiAgICAg
Ym9vbCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlVmlzdWFsRGF0YSYgb3RoZXIpIGNvbnN0IHsgcmV0
dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CiAKICAgICBMZW5ndGhCb3ggY2xpcDsKICAgICBib29s
IGhhc0NsaXAgOiAxOwotICAgIHVuc2lnbmVkIHRleHREZWNvcmF0aW9uIDogVGV4dERlY29yYXRp
b25CaXRzOyAvLyBUZXh0IGRlY29yYXRpb25zIGRlZmluZWQgKm9ubHkqIGJ5IHRoaXMgZWxlbWVu
dC4KKyAgICB1bnNpZ25lZCB0ZXh0RGVjb3JhdGlvbkxpbmUgOiBUZXh0RGVjb3JhdGlvbkxpbmVC
aXRzOyAvLyBUZXh0IGRlY29yYXRpb25zIGRlZmluZWQgKm9ubHkqIGJ5IHRoaXMgZWxlbWVudC4K
ICAgICBmbG9hdCB6b29tOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKaW5kZXggMTUxZDAwZDcyNGI2Y2VkZmRlN2Zl
N2JmNGE5ZDY5MDgzZTdiM2Y1NS4uZmI0MzgyMzg5NDdiYzZmMGQ0MjE3MjJjZWY0Yjg0ZmFkMGJm
YjM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRl
eHRCb3guY3BwCkBAIC00NTMsNyArNDUzLDcgQEAgc3RhdGljIGlubGluZSBSZW5kZXJCb3hNb2Rl
bE9iamVjdCYgZmluZFJlbmRlcmVyRGVmaW5pbmluZ1RleHREZWNvcmF0aW9uKExlZ2FjeUkKICAg
ICB3aGlsZSAocGFyZW50Qm94KSB7CiAgICAgICAgIHJlbmRlcmVyID0gJnBhcmVudEJveC0+cmVu
ZGVyZXIoKTsKIAotICAgICAgICBpZiAoIXJlbmRlcmVyLT5zdHlsZSgpLnRleHREZWNvcmF0aW9u
KCkuaXNFbXB0eSgpKQorICAgICAgICBpZiAoIXJlbmRlcmVyLT5zdHlsZSgpLnRleHREZWNvcmF0
aW9uTGluZSgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIHBhcmVu
dEJveCA9IHBhcmVudEJveC0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9JbmxpbmVUZXh0Qm94U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvSW5saW5l
VGV4dEJveFN0eWxlLmNwcAppbmRleCBmNWM4MjgzNWUxNDkwYWRhM2EzMmM5NWQ1YjBhNzM1OTNl
MmNjMTYxLi40MWNjZWVjYWVmMWEyOTAzOTQ1ODk2ZDgxOWNkNWJjMmQwZTU1N2RjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9JbmxpbmVUZXh0Qm94U3R5bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL0lubGluZVRleHRCb3hTdHlsZS5jcHAKQEAgLTQ5LDEzICs0OSwx
MyBAQCBzdGF0aWMgYm9vbCBpc0FuY2VzdG9yQW5kV2l0aGluQmxvY2soY29uc3QgUmVuZGVySW5s
aW5lJiBhbmNlc3RvciwgY29uc3QgUmVuZGVyTwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3Rh
dGljIHZvaWQgbWluTG9naWNhbFRvcEZvclRleHREZWNvcmF0aW9uTGluZShjb25zdCBJbmxpbmVJ
dGVyYXRvcjo6TGluZUl0ZXJhdG9yJiBsaW5lLCBmbG9hdCYgbWluTG9naWNhbFRvcCwgY29uc3Qg
UmVuZGVyRWxlbWVudCogZGVjb3JhdGlvblJlbmRlcmVyLCBPcHRpb25TZXQ8VGV4dERlY29yYXRp
b25MaW5lPiB0ZXh0RGVjb3JhdGlvbikKK3N0YXRpYyB2b2lkIG1pbkxvZ2ljYWxUb3BGb3JUZXh0
RGVjb3JhdGlvbkxpbmUoY29uc3QgSW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvciYgbGluZSwg
ZmxvYXQmIG1pbkxvZ2ljYWxUb3AsIGNvbnN0IFJlbmRlckVsZW1lbnQqIGRlY29yYXRpb25SZW5k
ZXJlciwgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT4gdGV4dERlY29yYXRpb25MaW5lKQog
ewogICAgIGZvciAoYXV0byBydW4gPSBsaW5lLT5maXJzdExlYWZCb3goKTsgcnVuOyBydW4udHJh
dmVyc2VOZXh0T25MaW5lKCkpIHsKICAgICAgICAgaWYgKHJ1bi0+cmVuZGVyZXIoKS5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBs
YWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2FsY3VsYXRpb25zLgogCi0gICAgICAgIGlmICghKHJ1
bi0+c3R5bGUoKS50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpICYgdGV4dERlY29yYXRpb24pKQor
ICAgICAgICBpZiAoIShydW4tPnN0eWxlKCkudGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSAmIHRl
eHREZWNvcmF0aW9uTGluZSkpCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gSWYgdGhlIHRleHQg
ZGVjb3JhdGlvbiBpc24ndCBpbiBlZmZlY3Qgb24gdGhlIGNoaWxkLCB0aGVuIGl0IG11c3QgYmUg
b3V0c2lkZSBvZiB8ZGVjb3JhdGlvblJlbmRlcmVyfCdzIGhpZXJhcmNoeS4KIAogICAgICAgICBp
ZiAoZGVjb3JhdGlvblJlbmRlcmVyICYmIGRlY29yYXRpb25SZW5kZXJlci0+aXNSZW5kZXJJbmxp
bmUoKSAmJiAhaXNBbmNlc3RvckFuZFdpdGhpbkJsb2NrKGRvd25jYXN0PFJlbmRlcklubGluZT4o
KmRlY29yYXRpb25SZW5kZXJlciksICZydW4tPnJlbmRlcmVyKCkpKQpAQCAtNjYsMTMgKzY2LDEz
IEBAIHN0YXRpYyB2b2lkIG1pbkxvZ2ljYWxUb3BGb3JUZXh0RGVjb3JhdGlvbkxpbmUoY29uc3Qg
SW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvCiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCBtYXhM
b2dpY2FsQm90dG9tRm9yVGV4dERlY29yYXRpb25MaW5lKGNvbnN0IElubGluZUl0ZXJhdG9yOjpM
aW5lSXRlcmF0b3ImIGxpbmUsIGZsb2F0JiBtYXhMb2dpY2FsQm90dG9tLCBjb25zdCBSZW5kZXJF
bGVtZW50KiBkZWNvcmF0aW9uUmVuZGVyZXIsIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+
IHRleHREZWNvcmF0aW9uKQorc3RhdGljIHZvaWQgbWF4TG9naWNhbEJvdHRvbUZvclRleHREZWNv
cmF0aW9uTGluZShjb25zdCBJbmxpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yJiBsaW5lLCBmbG9h
dCYgbWF4TG9naWNhbEJvdHRvbSwgY29uc3QgUmVuZGVyRWxlbWVudCogZGVjb3JhdGlvblJlbmRl
cmVyLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiB0ZXh0RGVjb3JhdGlvbkxpbmUpCiB7
CiAgICAgZm9yIChhdXRvIHJ1biA9IGxpbmUtPmZpcnN0TGVhZkJveCgpOyBydW47IHJ1bi50cmF2
ZXJzZU5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAocnVuLT5yZW5kZXJlcigpLmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9uZWQgcGxh
Y2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAKLSAgICAgICAgaWYgKCEocnVu
LT5zdHlsZSgpLnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkgJiB0ZXh0RGVjb3JhdGlvbikpCisg
ICAgICAgIGlmICghKHJ1bi0+c3R5bGUoKS50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpICYgdGV4
dERlY29yYXRpb25MaW5lKSkKICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBJZiB0aGUgdGV4dCBk
ZWNvcmF0aW9uIGlzbid0IGluIGVmZmVjdCBvbiB0aGUgY2hpbGQsIHRoZW4gaXQgbXVzdCBiZSBv
dXRzaWRlIG9mIHxkZWNvcmF0aW9uUmVuZGVyZXJ8J3MgaGllcmFyY2h5LgogCiAgICAgICAgIGlm
IChkZWNvcmF0aW9uUmVuZGVyZXIgJiYgZGVjb3JhdGlvblJlbmRlcmVyLT5pc1JlbmRlcklubGlu
ZSgpICYmICFpc0FuY2VzdG9yQW5kV2l0aGluQmxvY2soZG93bmNhc3Q8UmVuZGVySW5saW5lPigq
ZGVjb3JhdGlvblJlbmRlcmVyKSwgJnJ1bi0+cmVuZGVyZXIoKSkpCkBAIC04Myw3ICs4Myw3IEBA
IHN0YXRpYyB2b2lkIG1heExvZ2ljYWxCb3R0b21Gb3JUZXh0RGVjb3JhdGlvbkxpbmUoY29uc3Qg
SW5saW5lSXRlcmF0b3I6OkxpbmVJdGVyCiAgICAgfQogfQogCi1zdGF0aWMgY29uc3QgUmVuZGVy
RWxlbWVudCogZW5jbG9zaW5nUmVuZGVyZXJXaXRoVGV4dERlY29yYXRpb24oY29uc3QgUmVuZGVy
VGV4dCYgcmVuZGVyZXIsIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbkxpbmU+IHRleHREZWNvcmF0
aW9uLCBib29sIGZpcnN0TGluZSkKK3N0YXRpYyBjb25zdCBSZW5kZXJFbGVtZW50KiBlbmNsb3Np
bmdSZW5kZXJlcldpdGhUZXh0RGVjb3JhdGlvbihjb25zdCBSZW5kZXJUZXh0JiByZW5kZXJlciwg
T3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT4gdGV4dERlY29yYXRpb25MaW5lLCBib29sIGZp
cnN0TGluZSkKIHsKICAgICBjb25zdCBSZW5kZXJFbGVtZW50KiBjdXJyZW50ID0gcmVuZGVyZXIu
cGFyZW50KCk7CiAgICAgZG8gewpAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgY29uc3QgUmVuZGVy
RWxlbWVudCogZW5jbG9zaW5nUmVuZGVyZXJXaXRoVGV4dERlY29yYXRpb24oY29uc3QgUmVuZGVy
VGV4dAogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlVG9Vc2UgPSBmaXJzdExpbmUgPyBjdXJyZW50LT5maXJzdExpbmVTdHlsZSgp
IDogY3VycmVudC0+c3R5bGUoKTsKLSAgICAgICAgaWYgKHN0eWxlVG9Vc2UudGV4dERlY29yYXRp
b24oKSAmIHRleHREZWNvcmF0aW9uKQorICAgICAgICBpZiAoc3R5bGVUb1VzZS50ZXh0RGVjb3Jh
dGlvbkxpbmUoKSAmIHRleHREZWNvcmF0aW9uTGluZSkKICAgICAgICAgICAgIHJldHVybiBjdXJy
ZW50OwogICAgICAgICBjdXJyZW50ID0gY3VycmVudC0+cGFyZW50KCk7CiAgICAgfSB3aGlsZSAo
Y3VycmVudCAmJiAoIWN1cnJlbnQtPmVsZW1lbnQoKSB8fCAoIWlzPEhUTUxBbmNob3JFbGVtZW50
PigqY3VycmVudC0+ZWxlbWVudCgpKSAmJiAhY3VycmVudC0+ZWxlbWVudCgpLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6Zm9udFRhZykpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIu
Y3BwCmluZGV4IGJmZjI5YzAxY2Y5NWJiM2JlYjM3NzlhMTg0OGFhYWU4ODcwNzkwYjYuLjFlYjk2
Njc2ODE5ZGJlNDQ1OTQ2Nzc1Y2ViNGVlNTVkNzc0NGM3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC00MTksOSArNDE5LDkgQEAgdm9pZCBBZGp1c3Rlcjo6YWRq
dXN0KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHVzZXJBZ2VudEFwcGVh
cmFuY2UKICAgICB9CiAKICAgICBpZiAoc2hvdWxkSW5oZXJpdFRleHREZWNvcmF0aW9uc0luRWZm
ZWN0KHN0eWxlLCBtX2VsZW1lbnQpKQotICAgICAgICBzdHlsZS5hZGRUb1RleHREZWNvcmF0aW9u
c0luRWZmZWN0KHN0eWxlLnRleHREZWNvcmF0aW9uKCkpOworICAgICAgICBzdHlsZS5hZGRUb1Rl
eHREZWNvcmF0aW9uc0luRWZmZWN0KHN0eWxlLnRleHREZWNvcmF0aW9uTGluZSgpKTsKICAgICBl
bHNlCi0gICAgICAgIHN0eWxlLnNldFRleHREZWNvcmF0aW9uc0luRWZmZWN0KHN0eWxlLnRleHRE
ZWNvcmF0aW9uKCkpOworICAgICAgICBzdHlsZS5zZXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChz
dHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUoKSk7CiAKICAgICBhdXRvIG92ZXJmbG93UmVwbGFjZW1l
bnQgPSBbXSAoT3ZlcmZsb3cgb3ZlcmZsb3csIE92ZXJmbG93IG92ZXJmbG93SW5PdGhlckRpbWVu
c2lvbikgLT4gc3RkOjpvcHRpb25hbDxPdmVyZmxvdz4gewogICAgICAgICBpZiAob3ZlcmZsb3cg
IT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgb3ZlcmZsb3cgIT0gT3ZlcmZsb3c6OkNsaXApIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKaW5kZXggNzQ2NGY4
NGQ4YmY2YjJiMmEzMzEyM2Q1OTJiZTI5MmYxNGNjMjhkZS4uNDUzMTQxYTE1NzhmZjYwMDQzNzZm
NjBmMTY4MjVlZmMxZmJjMGFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ29udmVydGVyLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBMZW5n
dGhTaXplIGNvbnZlcnRSYWRpdXMoQnVpbGRlclN0YXRlJiwgY29uc3QgQ1NTVmFsdWUmKTsKICAg
ICBzdGF0aWMgTGVuZ3RoUG9pbnQgY29udmVydFBvc2l0aW9uKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0
IENTU1ZhbHVlJik7CiAgICAgc3RhdGljIExlbmd0aFBvaW50IGNvbnZlcnRQb3NpdGlvbk9yQXV0
byhCdWlsZGVyU3RhdGUmLCBjb25zdCBDU1NWYWx1ZSYpOwotICAgIHN0YXRpYyBPcHRpb25TZXQ8
VGV4dERlY29yYXRpb25MaW5lPiBjb252ZXJ0VGV4dERlY29yYXRpb24oQnVpbGRlclN0YXRlJiwg
Y29uc3QgQ1NTVmFsdWUmKTsKKyAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGlu
ZT4gY29udmVydFRleHREZWNvcmF0aW9uTGluZShCdWlsZGVyU3RhdGUmLCBjb25zdCBDU1NWYWx1
ZSYpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBUIGNvbnZlcnROdW1iZXIoQnVp
bGRlclN0YXRlJiwgY29uc3QgQ1NTVmFsdWUmKTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dGF0aWMgVCBjb252ZXJ0TnVtYmVyT3JBdXRvKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVl
Jik7CiAgICAgc3RhdGljIHNob3J0IGNvbnZlcnRXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKEJ1
aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVlJik7CkBAIC00MzIsOSArNDMyLDkgQEAgaW5saW5l
IExlbmd0aFBvaW50IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRQb3NpdGlvbk9yQXV0byhCdWls
ZGVyU3RhdGUmIGJ1aWxkZXIKICAgICByZXR1cm4gTGVuZ3RoUG9pbnQoTGVuZ3RoKExlbmd0aFR5
cGU6OkF1dG8pLCBMZW5ndGgoTGVuZ3RoVHlwZTo6QXV0bykpOwogfQogCi1pbmxpbmUgT3B0aW9u
U2V0PFRleHREZWNvcmF0aW9uTGluZT4gQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydFRleHREZWNv
cmF0aW9uKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKK2lubGluZSBPcHRp
b25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0VGV4dERl
Y29yYXRpb25MaW5lKEJ1aWxkZXJTdGF0ZSYsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKIHsKLSAg
ICBhdXRvIHJlc3VsdCA9IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb24oKTsKKyAg
ICBhdXRvIHJlc3VsdCA9IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb25MaW5lKCk7
CiAgICAgaWYgKGlzPENTU1ZhbHVlTGlzdD4odmFsdWUpKSB7CiAgICAgICAgIGZvciAoYXV0byYg
Y3VycmVudFZhbHVlIDogZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpCiAgICAgICAgICAg
ICByZXN1bHQuYWRkKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPihjdXJyZW50VmFsdWUuZ2V0
KCkpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>