<?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>183247</bug_id>
          
          <creation_ts>2018-03-01 09:23:20 -0800</creation_ts>
          <short_desc>Implement createImageBitmap(Blob)</short_desc>
          <delta_ts>2018-06-15 11:20:33 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=178573</see_also>
          <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>182424</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</reporter>
          <assigned_to name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402918</commentid>
    <comment_count>0</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2018-03-01 09:23:20 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402920</commentid>
    <comment_count>1</comment_count>
      <attachid>334820</attachid>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2018-03-01 09:31:07 -0800</bug_when>
    <thetext>Created attachment 334820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403930</commentid>
    <comment_count>2</comment_count>
      <attachid>335080</attachid>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2018-03-06 02:55:14 -0800</bug_when>
    <thetext>Created attachment 335080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403952</commentid>
    <comment_count>3</comment_count>
      <attachid>335082</attachid>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2018-03-06 03:56:31 -0800</bug_when>
    <thetext>Created attachment 335082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412416</commentid>
    <comment_count>4</comment_count>
      <attachid>335082</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-04-06 11:30:11 -0700</bug_when>
    <thetext>Comment on attachment 335082
Patch

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

&gt; Source/WebCore/html/ImageBitmap.cpp:592
&gt; +void ImageBitmap::createFromBuffer(
&gt; +    Ref&lt;ArrayBuffer&gt;&amp;&amp; arrayBuffer,
&gt; +    String mimeType,
&gt; +    long long expectedContentLength,
&gt; +    const URL&amp; sourceUrl,
&gt; +    ImageBitmapOptions&amp;&amp; options,
&gt; +    std::optional&lt;IntRect&gt; rect,
&gt; +    ImageBitmap::Promise&amp;&amp; promise)

We normally just put everything on a single line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412442</commentid>
    <comment_count>5</comment_count>
      <attachid>335082</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-06 12:33:37 -0700</bug_when>
    <thetext>Comment on attachment 335082
Patch

Clearing flags on attachment: 335082

Committed r230350: &lt;https://trac.webkit.org/changeset/230350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412443</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-06 12:33:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412446</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-06 12:34:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/39245905&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334820</attachid>
            <date>2018-03-01 09:31:07 -0800</date>
            <delta_ts>2018-03-05 05:24:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183247-20180301183105.patch</filename>
            <type>text/plain</type>
            <size>22617</size>
            <attacher name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU0NTk0NzcyMTUyMmE5
NTlkMTVmZmY5NGQ0YTg3NThkMTJlNGQ4Yy4uMzg2ZmEyNjAzYTk5ZWI4NjE3Njc3MjkyMzg1NWE0
MjhlNmFiMTc4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAzLTAxICBNczJn
ZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY3JlYXRlSW1hZ2VC
aXRtYXAoQmxvYikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MzI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzOgorICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UuaHRtbAor
ICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1pbnZhbGlkLWFyZ3MuaHRtbAorCisgICAgICAg
ICogZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVh
ZGVyTG9hZGVyOjp1cmwpOiBleHBvc2UgdGhlIEJsb2IncyBVUkwuCisgICAgICAgICogaHRtbC9J
bWFnZUJpdG1hcC5jcHA6IGltcGxlbWVudCBjcmVhdGVJbWFnZUJpdG1hcChCbG9iKS4KKyAgICAg
ICAgKiBodG1sL0ltYWdlQml0bWFwLmg6IGFsbG93IHRoZSBCbG9iSW1hZ2VPYnNlcnZlciBjbGFz
cyBhY2Nlc3MgdG8gdGhlIGNyZWF0aW9uIGZ1bmN0aW9uLgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6IHJldXNlIGV4dHJhY3RlZCBjb2RlLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmlzUERGUmVzb3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwOiBleHRyYWN0IHNvbWUgY29kZSBmcm9tIENhY2hlZEltYWdlIHRvIHJldXNl
LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZTo6aXNQREZSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6aXNQb3N0U2Ny
aXB0UmVzb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6IGFkZCBk
ZWNsYXJhdGlvbnMuCisKIDIwMTgtMDMtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9icm93c2luZy1jb250ZXh0Lmh0bWwgZmFpbHMgd2l0aCBhc3luYyBwb2xpY3kg
ZGVsZWdhdGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJM
b2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCmluZGV4
IGFkZDJjMjZjMmM0MWIwNzczNWI3YjAzMGEyOWQxNzZmYzQyNzNiOTUuLmYzZGM2YzQ3OGM5ODAw
NGE3YjEzNDBjMzI5ZWQ2ODgwOGI3MjE4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVJlYWRlckxvYWRlci5oCkBAIC04Miw2ICs4Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVu
Y29kaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0RGF0YVR5cGUoY29uc3QgU3RyaW5n
JiBkYXRhVHlwZSkgeyBtX2RhdGFUeXBlID0gZGF0YVR5cGU7IH0KIAorICAgIGNvbnN0IFVSTCYg
dXJsKCkgeyByZXR1cm4gbV91cmxGb3JSZWFkaW5nOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCB0
ZXJtaW5hdGUoKTsKICAgICB2b2lkIGNsZWFudXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1h
cC5jcHAKaW5kZXggZTEwZDNiNGU4NzRhMGJkODNjZTIwYjVmMGI4MjM3NmZiMzA5YWM2YS4uNmQ4
NzdiMDA2YTk5ZjIyMjIwODc2ZmQ4NjYzYmNiN2M3NmM1ZTgyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9J
bWFnZUJpdG1hcC5jcHAKQEAgLTQ3NCw2ICs0NzQsMzUgQEAgdm9pZCBJbWFnZUJpdG1hcDo6Y3Jl
YXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEltYWdlQml0bWFwPiYg
ZXgKICAgICBwcm9taXNlLnJlc29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkpOwogfQogCitjbGFz
cyBCbG9iSW1hZ2VPYnNlcnZlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEJsb2JJbWFnZU9i
c2VydmVyPiwgcHVibGljIEltYWdlT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
QmxvYkltYWdlT2JzZXJ2ZXI+IGNyZWF0ZShCbG9iJiBibG9iLCBjb25zdCBVUkwmIHNvdXJjZVVy
bCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJsb2JJbWFnZU9ic2VydmVy
KGJsb2IsIHNvdXJjZVVybCkpOworICAgIH0KKworICAgIFVSTCBzb3VyY2VVcmwoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX3NvdXJjZVVybDsgfQorICAgIFN0cmluZyBtaW1lVHlwZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmxvYi0+dHlwZSgpOyB9CisgICAgbG9uZyBsb25nIGV4
cGVjdGVkQ29udGVudExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYmxvYi0+c2l6ZSgpOyB9CisK
KyAgICB2b2lkIGRlY29kZWRTaXplQ2hhbmdlZChjb25zdCBJbWFnZSYsIGxvbmcgbG9uZykgb3Zl
cnJpZGUgeyB9CisKKyAgICB2b2lkIGRpZERyYXcoY29uc3QgSW1hZ2UmKSBvdmVycmlkZSB7IH0K
KworICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKGNvbnN0IEltYWdlJikgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIHZvaWQgaW1hZ2VGcmFtZUF2YWlsYWJsZShjb25zdCBJbWFn
ZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IEludFJlY3QqID0gbnVsbHB0ciwgRGVjb2Rp
bmdTdGF0dXMgPSBEZWNvZGluZ1N0YXR1czo6SW52YWxpZCkgb3ZlcnJpZGUgeyB9CisgICAgdm9p
ZCBjaGFuZ2VkSW5SZWN0KGNvbnN0IEltYWdlJiwgY29uc3QgSW50UmVjdCogPSBudWxscHRyKSBv
dmVycmlkZSB7IH0KKworcHJpdmF0ZToKKyAgICBCbG9iSW1hZ2VPYnNlcnZlcihCbG9iJiBibG9i
LCBjb25zdCBVUkwmIHNvdXJjZVVybCkKKyAgICAgICAgOiBtX2Jsb2IoJmJsb2IpCisgICAgICAg
ICwgbV9zb3VyY2VVcmwoc291cmNlVXJsKQorICAgIHsgfQorCisgICAgUmVmUHRyPEJsb2I+IG1f
YmxvYjsKKyAgICBVUkwgbV9zb3VyY2VVcmw7Cit9OworCiBjbGFzcyBQZW5kaW5nSW1hZ2VCaXRt
YXAgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRmlsZVJlYWRlckxvYWRl
ckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVmUHRyPEJsb2I+JiYgYmxvYiwgSW1h
Z2VCaXRtYXBPcHRpb25zJiYgb3B0aW9ucywgc3RkOjpvcHRpb25hbDxJbnRSZWN0PiByZWN0LCBJ
bWFnZUJpdG1hcDo6UHJvbWlzZSYmIHByb21pc2UpCkBAIC01MzQsMzMgKzU2Myw1NCBAQCBwcml2
YXRlOgogICAgICAgICBkZWxldGUgdGhpczsKICAgICB9CiAKLSAgICB2b2lkIGNyZWF0ZUltYWdl
Qml0bWFwKFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXJyYXlCdWZmZXIpCisgICAgdm9pZCBjcmVhdGVJ
bWFnZUJpdG1hcChSZWZQdHI8QXJyYXlCdWZmZXI+JiYgYXJyYXlCdWZmZXIpCiAgICAgewotICAg
ICAgICBVTlVTRURfUEFSQU0oYXJyYXlCdWZmZXIpOworICAgICAgICBpZiAoIWFycmF5QnVmZmVy
KSB7CisgICAgICAgICAgICBtX3Byb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yLCAiQW4g
ZXJyb3Igb2NjdXJlZCByZWFkaW5nIHRoZSBCbG9iIGFyZ3VtZW50IHRvIGNyZWF0ZUltYWdlQml0
bWFwIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgICAgICAvLyAzLiBS
ZWFkIHRoZSBCbG9iIG9iamVjdCdzIGRhdGEuIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgcmVh
ZGluZyBvZiB0aGUgb2JqZWN0LAotICAgICAgICAvLyAgICB0aGVuIHJlamVjdCB0aGUgcHJvbWlz
ZSB3aXRoIGFuICJJbnZhbGlkU3RhdGVFcnJvciIgRE9NRXhjZXB0aW9uLCBhbmQgYWJvcnQKLSAg
ICAgICAgLy8gICAgdGhlc2Ugc3RlcHMuCisgICAgICAgIGlmICghYXJyYXlCdWZmZXItPmJ5dGVM
ZW5ndGgoKSkgeworICAgICAgICAgICAgbV9wcm9taXNlLnJlamVjdChJbnZhbGlkU3RhdGVFcnJv
ciwgIkNhbm5vdCBjcmVhdGUgYW4gSW1hZ2VCaXRtYXAgZnJvbSBhbiBlbXB0eSBCbG9iIik7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIHNoYXJlZEJ1ZmZl
ciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihhcnJheUJ1
ZmZlci0+ZGF0YSgpKSwgYXJyYXlCdWZmZXItPmJ5dGVMZW5ndGgoKSk7CisgICAgICAgIGF1dG8g
b2JzZXJ2ZXIgPSBCbG9iSW1hZ2VPYnNlcnZlcjo6Y3JlYXRlKCptX2Jsb2IsIG1fYmxvYkxvYWRl
ci51cmwoKSk7CisgICAgICAgIGF1dG8gaW1hZ2UgPSBJbWFnZTo6Y3JlYXRlKG9ic2VydmVyLmdl
dCgpKTsKKyAgICAgICAgaWYgKCFpbWFnZSkgeworICAgICAgICAgICAgbV9wcm9taXNlLnJlamVj
dChJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSB0eXBlIG9mIHRoZSBCbG9iIGFyZ3VtZW50IHRvIGNy
ZWF0ZUltYWdlQml0bWFwIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQogCi0gICAgICAgIC8vIDQuIEFwcGx5IHRoZSBpbWFnZSBzbmlmZmluZyBydWxl
cyB0byBkZXRlcm1pbmUgdGhlIGZpbGUgZm9ybWF0IG9mIHRoZSBpbWFnZSBkYXRhLAotICAgICAg
ICAvLyAgICB3aXRoIE1JTUUgdHlwZSBvZiB0aGUgQmxvYiAoYXMgZ2l2ZW4gYnkgdGhlIEJsb2Ig
b2JqZWN0J3MgdHlwZSBhdHRyaWJ1dGUpIGdpdmluZwotICAgICAgICAvLyAgICB0aGUgb2ZmaWNp
YWwgdHlwZS4KKyAgICAgICAgYXV0byByZXN1bHQgPSBpbWFnZS0+c2V0RGF0YShzaGFyZWRCdWZm
ZXIuY29weVJlZigpLCB0cnVlKTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBFbmNvZGVkRGF0YVN0
YXR1czo6Q29tcGxldGUpIHsKKyAgICAgICAgICAgIG1fcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0
YXRlRXJyb3IsICJDYW5ub3QgZGVjb2RlIHRoZSBkYXRhIGluIHRoZSBCbG9iIGFyZ3VtZW50IHRv
IGNyZWF0ZUltYWdlQml0bWFwIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBhdXRvIHNvdXJjZVJlY3RhbmdsZSA9IGNyb3BwZWRTb3VyY2VSZWN0YW5nbGVXaXRo
Rm9ybWF0dGluZyhyb3VuZGVkSW50U2l6ZShpbWFnZS0+c2l6ZSgpKSwgbV9vcHRpb25zLCBtX3Jl
Y3QpOworICAgICAgICBpZiAoc291cmNlUmVjdGFuZ2xlLmhhc0V4Y2VwdGlvbigpKSB7CisgICAg
ICAgICAgICBtX3Byb21pc2UucmVqZWN0KHNvdXJjZVJlY3RhbmdsZS5yZWxlYXNlRXhjZXB0aW9u
KCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBvdXRw
dXRTaXplID0gb3V0cHV0U2l6ZUZvclNvdXJjZVJlY3RhbmdsZShzb3VyY2VSZWN0YW5nbGUucmV0
dXJuVmFsdWUoKSwgbV9vcHRpb25zKTsKKyAgICAgICAgYXV0byBiaXRtYXBEYXRhID0gSW1hZ2VC
dWZmZXI6OmNyZWF0ZShGbG9hdFNpemUob3V0cHV0U2l6ZS53aWR0aCgpLCBvdXRwdXRTaXplLmhl
aWdodCgpKSwgYnVmZmVyUmVuZGVyaW5nTW9kZSk7CisgICAgICAgIGlmICghYml0bWFwRGF0YSkg
eworICAgICAgICAgICAgbV9wcm9taXNlLnJlamVjdChJbnZhbGlkU3RhdGVFcnJvciwgIkNhbm5v
dCBjcmVhdGUgYW4gaW1hZ2UgYnVmZmVyIGZyb20gdGhlIEJsb2IgYXJndW1lbnQgdG8gY3JlYXRl
SW1hZ2VCaXRtYXAiKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgICAg
IC8vIDUuIElmIHRoZSBpbWFnZSBkYXRhIGlzIG5vdCBpbiBhIHN1cHBvcnRlZCBpbWFnZSBmaWxl
IGZvcm1hdCAoZS5nLiBpdCdzIG5vdCBhbiBpbWFnZQotICAgICAgICAvLyAgICBhdCBhbGwpLCBv
ciBpZiB0aGUgaW1hZ2UgZGF0YSBpcyBjb3JydXB0ZWQgaW4gc29tZSBmYXRhbCB3YXkgc3VjaCB0
aGF0IHRoZSBpbWFnZQotICAgICAgICAvLyAgICBkaW1lbnNpb25zIGNhbm5vdCBiZSBvYnRhaW5l
ZCAoZS5nLiBhIHZlY3RvciBncmFwaGljIHdpdGggbm8gaW50cmluc2ljIHNpemUpLCB0aGVuCi0g
ICAgICAgIC8vICAgIHJlamVjdCB0aGUgcHJvbWlzZSB3aXRoIGFuICJJbnZhbGlkU3RhdGVFcnJv
ciIgRE9NRXhjZXB0aW9uLCBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIEZsb2F0UmVj
dCBkZXN0UmVjdChGbG9hdFBvaW50KCksIG91dHB1dFNpemUpOworICAgICAgICBJbWFnZVBhaW50
aW5nT3B0aW9ucyBwYWludGluZ09wdGlvbnM7CisgICAgICAgIHBhaW50aW5nT3B0aW9ucy5tX2lu
dGVycG9sYXRpb25RdWFsaXR5ID0gaW50ZXJwb2xhdGlvblF1YWxpdHlGb3JSZXNpemVRdWFsaXR5
KG1fb3B0aW9ucy5yZXNpemVRdWFsaXR5KTsKIAotICAgICAgICAvLyA2LiBDcmVhdGUgYSBuZXcg
SW1hZ2VCaXRtYXAgb2JqZWN0LgorICAgICAgICBiaXRtYXBEYXRhLT5jb250ZXh0KCkuZHJhd0lt
YWdlKCppbWFnZSwgZGVzdFJlY3QsIHNvdXJjZVJlY3RhbmdsZS5yZWxlYXNlUmV0dXJuVmFsdWUo
KSwgcGFpbnRpbmdPcHRpb25zKTsKIAotICAgICAgICAvLyA3LiBMZXQgdGhlIEltYWdlQml0bWFw
IG9iamVjdCdzIGJpdG1hcCBkYXRhIGJlIHRoZSBpbWFnZSBkYXRhIHJlYWQgZnJvbSB0aGUgQmxv
YiBvYmplY3QsCi0gICAgICAgIC8vICAgIGNyb3BwZWQgdG8gdGhlIHNvdXJjZSByZWN0YW5nbGUg
d2l0aCBmb3JtYXR0aW5nLiBJZiB0aGlzIGlzIGFuIGFuaW1hdGVkIGltYWdlLCB0aGUKLSAgICAg
ICAgLy8gICAgSW1hZ2VCaXRtYXAgb2JqZWN0J3MgYml0bWFwIGRhdGEgbXVzdCBvbmx5IGJlIHRh
a2VuIGZyb20gdGhlIGRlZmF1bHQgaW1hZ2Ugb2YgdGhlCi0gICAgICAgIC8vICAgIGFuaW1hdGlv
biAodGhlIG9uZSB0aGF0IHRoZSBmb3JtYXQgZGVmaW5lcyBpcyB0byBiZSB1c2VkIHdoZW4gYW5p
bWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKLSAgICAgICAgLy8gICAgb3IgaXMgZGlzYWJsZWQpLCBv
ciwgaWYgdGhlcmUgaXMgbm8gc3VjaCBpbWFnZSwgdGhlIGZpcnN0IGZyYW1lIG9mIHRoZSBhbmlt
YXRpb24uCisgICAgICAgIGF1dG8gaW1hZ2VCaXRtYXAgPSBJbWFnZUJpdG1hcDo6Y3JlYXRlKFdU
Rk1vdmUoYml0bWFwRGF0YSkpOwogCi0gICAgICAgIC8vIDguIFJlc29sdmUgdGhlIHByb21pc2Ug
d2l0aCB0aGUgbmV3IEltYWdlQml0bWFwIG9iamVjdCBhcyB0aGUgdmFsdWUuCi0gICAgICAgIG1f
cHJvbWlzZS5yZWplY3QoVHlwZUVycm9yLCAiY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1
ZmZlciBvciBCbG9iIGlzIG5vdCBpbXBsZW1lbnRlZCIpOworICAgICAgICBtX3Byb21pc2UucmVz
b2x2ZShXVEZNb3ZlKGltYWdlQml0bWFwKSk7CiAgICAgfQogCiAgICAgRmlsZVJlYWRlckxvYWRl
ciBtX2Jsb2JMb2FkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0
bWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKaW5kZXggOTVkNDliN2Vh
NmI1MDM5NDI1N2IxODIwMWVjMzU4ODhhZTU4NzcwYi4uNGFlMzUyNDQxZTkxZTE2ODE3YmE3MWI1
OWE0ZWQ3ZTIxZmE3MmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJp
dG1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaApAQCAtMzQsNiAr
MzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCbG9iOworY2xhc3MgQmxvYklt
YWdlT2JzZXJ2ZXI7CiBjbGFzcyBIVE1MQ2FudmFzRWxlbWVudDsKIGNsYXNzIEhUTUxJbWFnZUVs
ZW1lbnQ7CiBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwpAQCAtODAsNiArODEsNyBAQCBwdWJsaWM6
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiB0cmFuc2Zlck93bmVyc2hpcEFuZENs
b3NlKCk7CiAKIHByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIEJsb2JJbWFnZU9ic2VydmVyOwog
ICAgIGZyaWVuZCBjbGFzcyBQZW5kaW5nSW1hZ2VCaXRtYXA7CiAKICAgICBzdGF0aWMgUmVmPElt
YWdlQml0bWFwPiBjcmVhdGUoc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiYmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDAwOTMwNTYzZmUw
N2E3MmM4MzQ3YmVkMjVjMTExMDFiNzRhNGRjYjkuLmNlMGE0NDdlNTcxN2E4YzVlOWMzZmI0NWVl
MDcxYzIzYWVkNzYxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZElt
YWdlLmNwcApAQCAtMzExLDE2ICszMTEsMTIgQEAgdm9pZCBDYWNoZWRJbWFnZTo6Y2hlY2tTaG91
bGRQYWludEJyb2tlbkltYWdlKCkKIAogYm9vbCBDYWNoZWRJbWFnZTo6aXNQREZSZXNvdXJjZSgp
IGNvbnN0CiB7Ci0gICAgaWYgKG1fcmVzcG9uc2UubWltZVR5cGUoKS5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiB1cmwoKS5wYXRoKCkuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnBkZiIp
OwotICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1BERk1JTUVUeXBlKG1fcmVzcG9uc2Uu
bWltZVR5cGUoKSk7CisgICAgcmV0dXJuIEltYWdlOjppc1BERlJlc291cmNlKG1fcmVzcG9uc2Uu
bWltZVR5cGUoKSwgdXJsKCkpOwogfQogCiBib29sIENhY2hlZEltYWdlOjppc1Bvc3RTY3JpcHRS
ZXNvdXJjZSgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fcmVzcG9uc2UubWltZVR5cGUoKS5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiB1cmwoKS5wYXRoKCkuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2Fz
ZSgiLnBzIik7Ci0gICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzUG9zdFNjcmlwdE1JTUVU
eXBlKG1fcmVzcG9uc2UubWltZVR5cGUoKSk7CisgICAgcmV0dXJuIEltYWdlOjppc1Bvc3RTY3Jp
cHRSZXNvdXJjZShtX3Jlc3BvbnNlLm1pbWVUeXBlKCksIHVybCgpKTsKIH0KIAogdm9pZCBDYWNo
ZWRJbWFnZTo6Y2xlYXIoKQpAQCAtMzQwLDE4ICszMzYsMTIgQEAgaW5saW5lIHZvaWQgQ2FjaGVk
SW1hZ2U6OmNyZWF0ZUltYWdlKCkKIAogICAgIG1faW1hZ2VPYnNlcnZlciA9IENhY2hlZEltYWdl
T2JzZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7CiAKLSAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgp
ID09ICJpbWFnZS9zdmcreG1sIikgewotICAgICAgICBhdXRvIHN2Z0ltYWdlID0gU1ZHSW1hZ2U6
OmNyZWF0ZSgqbV9pbWFnZU9ic2VydmVyKTsKLSAgICAgICAgbV9zdmdJbWFnZUNhY2hlID0gc3Rk
OjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNhY2hlPihzdmdJbWFnZS5wdHIoKSk7Ci0gICAgICAgIG1f
aW1hZ2UgPSBXVEZNb3ZlKHN2Z0ltYWdlKTsKLSAgICB9IGVsc2UgaWYgKGlzUERGUmVzb3VyY2Uo
KSB8fCBpc1Bvc3RTY3JpcHRSZXNvdXJjZSgpKSB7Ci0jaWYgVVNFKENHKSAmJiAhVVNFKFdFQktJ
VF9JTUFHRV9ERUNPREVSUykKLSAgICAgICAgbV9pbWFnZSA9IFBERkRvY3VtZW50SW1hZ2U6OmNy
ZWF0ZShtX2ltYWdlT2JzZXJ2ZXIuZ2V0KCkpOwotI2VuZGlmCi0gICAgfSBlbHNlCi0gICAgICAg
IG1faW1hZ2UgPSBCaXRtYXBJbWFnZTo6Y3JlYXRlKG1faW1hZ2VPYnNlcnZlci5nZXQoKSk7Cisg
ICAgbV9pbWFnZSA9IEltYWdlOjpjcmVhdGUoKm1faW1hZ2VPYnNlcnZlcik7CiAKICAgICBpZiAo
bV9pbWFnZSkgeworICAgICAgICBpZiAoaXM8U1ZHSW1hZ2U+KCptX2ltYWdlKSkKKyAgICAgICAg
ICAgIG1fc3ZnSW1hZ2VDYWNoZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VDYWNoZT4oJmRv
d25jYXN0PFNWR0ltYWdlPigqbV9pbWFnZSkpOworCiAgICAgICAgIC8vIFNlbmQgcXVldWVkIGNv
bnRhaW5lciBzaXplIHJlcXVlc3RzLgogICAgICAgICBpZiAobV9pbWFnZS0+dXNlc0NvbnRhaW5l
clNpemUoKSkgewogICAgICAgICAgICAgZm9yIChhdXRvJiByZXF1ZXN0IDogbV9wZW5kaW5nQ29u
dGFpbmVyQ29udGV4dFJlcXVlc3RzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuY3BwCmluZGV4IDdiOWI2YTM3NDY1MjcwMDQ2NjJiMTVhMWZmM2Y5YjYzZDA2YjRlYzIu
LmUxNzg1NTA1NGMxZDk1M2RjZTczZTA1YzJmOTgxMzZkMjc4ZTgwOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJJbWFnZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiTUlN
RVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSA8bWF0aC5oPgpAQCAtNjEsMTEg
KzYyLDQ0IEBAIEltYWdlJiBJbWFnZTo6bnVsbEltYWdlKCkKICAgICByZXR1cm4gbnVsbEltYWdl
OwogfQogCitSZWZQdHI8SW1hZ2U+IEltYWdlOjpjcmVhdGUoSW1hZ2VPYnNlcnZlciYgb2JzZXJ2
ZXIpCit7CisgICAgYXV0byBtaW1lVHlwZSA9IG9ic2VydmVyLm1pbWVUeXBlKCk7CisgICAgaWYg
KG1pbWVUeXBlID09ICJpbWFnZS9zdmcreG1sIikKKyAgICAgICAgcmV0dXJuIFNWR0ltYWdlOjpj
cmVhdGUob2JzZXJ2ZXIpOworCisgICAgYXV0byB1cmwgPSBvYnNlcnZlci5zb3VyY2VVcmwoKTsK
KyAgICBpZiAoaXNQREZSZXNvdXJjZShtaW1lVHlwZSwgdXJsKSB8fCBpc1Bvc3RTY3JpcHRSZXNv
dXJjZShtaW1lVHlwZSwgdXJsKSkgeworI2lmIFVTRShDRykgJiYgIVVTRShXRUJLSVRfSU1BR0Vf
REVDT0RFUlMpCisgICAgICAgIHJldHVybiBQREZEb2N1bWVudEltYWdlOjpjcmVhdGUoJm9ic2Vy
dmVyKTsKKyNlbHNlCisgICAgICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCisgICAgfQorCisg
ICAgcmV0dXJuIEJpdG1hcEltYWdlOjpjcmVhdGUoJm9ic2VydmVyKTsKK30KKwogYm9vbCBJbWFn
ZTo6c3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICByZXR1cm4gTUlNRVR5
cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGUodHlwZSk7CiB9IAog
Citib29sIEltYWdlOjppc1BERlJlc291cmNlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0
IFVSTCYgdXJsKQoreworICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biB1cmwucGF0aCgpLmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5wZGYiKTsKKyAgICByZXR1
cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNQREZNSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKK2Jvb2wg
SW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0
IFVSTCYgdXJsKQoreworICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biB1cmwucGF0aCgpLmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5wcyIpOworICAgIHJldHVy
biBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Bvc3RTY3JpcHRNSU1FVHlwZShtaW1lVHlwZSk7Cit9CisK
KwogRW5jb2RlZERhdGFTdGF0dXMgSW1hZ2U6OnNldERhdGEoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4m
JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCkKIHsKICAgICBtX2VuY29kZWRJbWFnZURhdGEg
PSBXVEZNb3ZlKGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgK
aW5kZXggOGI2OTNjMjkyY2VjMTIzNTJjMWNkZGMwN2IwZTc3M2M5MmMxM2U0ZS4uYzVhY2ZhMGVl
MjE3Mzg5MTdhYWVjZDUzZmJlYzQ3NDRmMzJiMmNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5oCkBAIC04MSw3ICs4MSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB+SW1hZ2UoKTsKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPEltYWdlPiBs
b2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmVmUHRyPEltYWdlPiBjcmVhdGUoSW1hZ2VPYnNlcnZlciYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBib29sIHN1cHBvcnRzVHlwZShjb25zdCBTdHJpbmcmKTsKKyAgICBz
dGF0aWMgYm9vbCBpc1BERlJlc291cmNlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFVS
TCYpOworICAgIHN0YXRpYyBib29sIGlzUG9zdFNjcmlwdFJlc291cmNlKGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IFVSTCYpOwogCiAgICAgdmlydHVhbCBib29sIGlzQml0bWFwSW1hZ2Uo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0dlbmVyYXRlZElt
YWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4ZDkwM2Y5YjA1NTc3YjM1
OGU0MWViNDc0N2M3ZDY1YzRkYjIwLi5jYTBiNTllY2U0MzczZjIwZGNhOGJiOGMyMDc0YjFjMjY3
MWJhODcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDMtMDEgIE1zMmdlciAgPE1zMmdl
ckBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBjcmVhdGVJbWFnZUJpdG1hcChCbG9i
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMjQ3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1p
bnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDE4LTAzLTAxICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYnJvd3NpbmctY29udGV4dC5odG1sIGZhaWxzIHdpdGgg
YXN5bmMgcG9saWN5IGRlbGVnYXRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
YzBhNjI2Y2ZhOGNkYzBiODBlNWNhYTEzMmQyOGM2ZWE3NDY2OTNhNi4uZGIzYmExNjUzYjYyNDc5
Y2Q4ZTE1ZmY1ZDhhMmIwMmQxNmU4ODE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMDMtMDEgIE1zMmdlciAgPE1zMmdlckBpZ2FsaWEuY29t
PgorCisgICAgICAgIEltcGxlbWVudCBjcmVhdGVJbWFnZUJpdG1hcChCbG9iKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMjQ3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9u
cy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAv
Y3JlYXRlSW1hZ2VCaXRtYXAtZHJhd0ltYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWlu
dmFsaWQtYXJncy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDItMjggIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgTGF5b3V0VGVzdHMgd2FpdF9mb3Jfc3Rh
dGUgZmFpbCBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1h
cC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3Jl
YXRlSW1hZ2VCaXRtYXAtZHJhd0ltYWdlLWV4cGVjdGVkLnR4dAppbmRleCA2ZGZkZWM5YTQ3MTFj
ZWQxMjBkODRiZGFhMzA4MjA2ZTE4MTVlMGZhLi4xMzg5MTk5MzRiNTRiYjUwYjIxZDhjNGMzNzhm
NTJiNWE2MTRkNmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3
SW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWRyYXdJ
bWFnZS1leHBlY3RlZC50eHQKQEAgLTQ5LDkgKzQ5LDkgQEAgUEFTUyBjcmVhdGVJbWFnZUJpdG1h
cCBmcm9tIGFuIEltYWdlQml0bWFwIHNjYWxlZCBkb3duLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBj
cmUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhbiBJbWFnZUJpdG1hcCBzY2FsZWQgdXAs
IGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgCiBQQVNTIGNyZWF0ZUlt
YWdlQml0bWFwIGZyb20gYW4gSW1hZ2VCaXRtYXAgcmVzaXplZCwgYW5kIGRyYXdJbWFnZSBvbiB0
aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhbiBJ
bWFnZUJpdG1hcCB3aXRoIG5lZ2F0aXZlIHN3L3NoLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVh
dGVkIEltYWdlQml0bWFwIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlJhbmdlRXJyb3I6IENhbm5vdCBjcmVhdGUgSW1hZ2VCaXRtYXAgd2l0aCBh
IG5lZ2F0aXZlIHdpZHRoIG9yIGhlaWdodCIKLUZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBh
IEJsb2IsIGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBj
cmVhdGVJbWFnZUJpdG1hcCB3aXRoIEFycmF5QnVmZmVyIG9yIEJsb2IgaXMgbm90IGltcGxlbWVu
dGVkIgotRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGEgQmxvYiBzY2FsZWQgZG93biwgYW5k
IGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdl
Qml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiCi1GQUlM
IGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYSBCbG9iIHNjYWxlZCB1cCwgYW5kIGRyYXdJbWFnZSBv
biB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGgg
QXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiCi1GQUlMIGNyZWF0ZUltYWdl
Qml0bWFwIGZyb20gYSBCbG9iIHJlc2l6ZWQsIGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNyZWF0ZWQg
SW1hZ2VCaXRtYXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIEFycmF5QnVmZmVyIG9y
IEJsb2IgaXMgbm90IGltcGxlbWVudGVkIgorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGEg
QmxvYiwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKK1BBU1MgY3Jl
YXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2Igc2NhbGVkIGRvd24sIGFuZCBkcmF3SW1hZ2Ugb24g
dGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgCitQQVNTIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYSBC
bG9iIHNjYWxlZCB1cCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAK
K1BBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2IgcmVzaXplZCwgYW5kIGRyYXdJbWFn
ZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJv
bSBhIEJsb2Igd2l0aCBuZWdhdGl2ZSBzdy9zaCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRl
ZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJSYW5nZUVycm9yOiBDYW5ub3QgY3JlYXRlIEltYWdlQml0bWFwIHdpdGggYSBu
ZWdhdGl2ZSB3aWR0aCBvciBoZWlnaHQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUlt
YWdlQml0bWFwLWludmFsaWQtYXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFn
ZUJpdG1hcC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IDYyYzNhZjIwNDU2YTRhOGYy
MzM3ZmE5ZDE0NWYwOWJiYTQ3M2ViNTYuLmU4MGIxODNjNWU0YTNhZTdmNjZjYzk4YjdhNTkyYmVk
MDJjMWIyMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQt
YXJncy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxp
ZC1hcmdzLWV4cGVjdGVkLnR4dApAQCAtMzIsNyArMzIsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0
bWFwIHdpdGggYSBhbiBJbWFnZUJpdG1hcCBzb3VyY2UgYW5kIHNoIHNldCB0byAwCiBGQUlMIGNy
ZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhbiBJbWFnZUJpdG1hcCBzb3VyY2UgYW5kIG92ZXJzaXpl
ZCAodW5hbGxvY2F0YWJsZSkgY3JvcCByZWdpb24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgY3Jl
YXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGEgQmxvYiBzb3VyY2UgYW5kIHN3IHNldCB0byAwIAogUEFT
UyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYSBCbG9iIHNvdXJjZSBhbmQgc2ggc2V0IHRvIDAg
Ci1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFuZCBvdmVyc2l6
ZWQgKHVuYWxsb2NhdGFibGUpIGNyb3AgcmVnaW9uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUlt
YWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiICgi
VHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvciIgKCJJbnZhbGlk
U3RhdGVFcnJvciIpCitGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNl
IGFuZCBvdmVyc2l6ZWQgKHVuYWxsb2NhdGFibGUpIGNyb3AgcmVnaW9uIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggdW5kZWZpbmVkIGltYWdlIHNvdXJjZS4g
CiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggbnVsbCBpbWFnZSBzb3VyY2UuIAogUEFTUyBj
cmVhdGVJbWFnZUJpdG1hcCB3aXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbWFnZSBzb3Vy
Y2UuIApAQCAtNDMsNyArNDMsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggZW1wdHkg
aW1hZ2Ugc291cmNlLgogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGVtcHR5IHZpZGVvIHNv
dXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gb3ZlcnNpemVkIGNhbnZhcyBz
b3VyY2UuIAogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGludmFsaWQgT2Zmc2NyZWVu
Q2FudmFzIHNvdXJjZS4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhy
b3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIgdGhhdCBpcyBub3Qg
YSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVh
bCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGgg
YW4gdW5kZWNvZGFibGUgYmxvYiBzb3VyY2UuIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdl
Qml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiIHRoYXQg
aXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIg
aXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQorUEFTUyBjcmVhdGVJbWFnZUJpdG1h
cCB3aXRoIGFuIHVuZGVjb2RhYmxlIGJsb2Igc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRt
YXAgd2l0aCBhIGJyb2tlbiBpbWFnZSBzb3VyY2UuIAogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3
aXRoIGFuIGF2YWlsYWJsZSBidXQgdW5kZWNvZGFibGUgaW1hZ2Ugc291cmNlLiBhc3NlcnRfdW5y
ZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGF2YWlsYWJsZSBidXQgemVy
byBoZWlnaHQgaW1hZ2Ugc291cmNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWpl
Y3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRj
b250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1h
cmdzLWV4cGVjdGVkLnR4dAppbmRleCAxYzdhYTk2ZTVhODllN2Q1MzkxNWFjNWIwNDlmMDMyMzEx
MGNiMmM0Li5kNGIxNmIxM2RjNWViMTExYjBmYTAxZTIxM2ExYTAyMTBmYTlhZmUwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRt
YXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dApAQCAtMzIsNyArMzIsNyBAQCBQQVNTIGNyZWF0
ZUltYWdlQml0bWFwIHdpdGggYSBhbiBJbWFnZUJpdG1hcCBzb3VyY2UgYW5kIHNoIHNldCB0byAw
CiBGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhbiBJbWFnZUJpdG1hcCBzb3VyY2UgYW5k
IG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3JvcCByZWdpb24gYXNzZXJ0X3VucmVhY2hlZDog
U2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
IFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGEgQmxvYiBzb3VyY2UgYW5kIHN3IHNldCB0
byAwIAogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYSBCbG9iIHNvdXJjZSBhbmQgc2gg
c2V0IHRvIDAgCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFu
ZCBvdmVyc2l6ZWQgKHVuYWxsb2NhdGFibGUpIGNyb3AgcmVnaW9uIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6
IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVt
ZW50ZWQiICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvciIg
KCJJbnZhbGlkU3RhdGVFcnJvciIpCitGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJs
b2Igc291cmNlIGFuZCBvdmVyc2l6ZWQgKHVuYWxsb2NhdGFibGUpIGNyb3AgcmVnaW9uIGFzc2Vy
dF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggdW5kZWZpbmVkIGltYWdl
IHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggbnVsbCBpbWFnZSBzb3VyY2Uu
IAogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bWFnZSBzb3VyY2UuIApAQCAtNDMsNyArNDMsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdp
dGggZW1wdHkgaW1hZ2Ugc291cmNlLgogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGVtcHR5
IHZpZGVvIHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gb3ZlcnNpemVk
IGNhbnZhcyBzb3VyY2UuIAogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGludmFsaWQg
T2Zmc2NyZWVuQ2FudmFzIHNvdXJjZS4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIgdGhh
dCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2Rl
IiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIGNyZWF0ZUltYWdlQml0
bWFwIHdpdGggYW4gdW5kZWNvZGFibGUgYmxvYiBzb3VyY2UuIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNy
ZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50
ZWQiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0
eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQorUEFTUyBjcmVhdGVJ
bWFnZUJpdG1hcCB3aXRoIGFuIHVuZGVjb2RhYmxlIGJsb2Igc291cmNlLiAKIFBBU1MgY3JlYXRl
SW1hZ2VCaXRtYXAgd2l0aCBhIGJyb2tlbiBpbWFnZSBzb3VyY2UuIAogRkFJTCBjcmVhdGVJbWFn
ZUJpdG1hcCB3aXRoIGFuIGF2YWlsYWJsZSBidXQgdW5kZWNvZGFibGUgaW1hZ2Ugc291cmNlLiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJbb2Jq
ZWN0IEV2ZW50XSIKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhbiBhdmFpbGFibGUgYnV0
IHplcm8gaGVpZ2h0IGltYWdlIHNvdXJjZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUg
cmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335080</attachid>
            <date>2018-03-06 02:55:14 -0800</date>
            <delta_ts>2018-03-06 03:56:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183247-20180306115513.patch</filename>
            <type>text/plain</type>
            <size>24474</size>
            <attacher name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAxZDM5NGM3OTAyZTI2
ZDg5Y2M3YWY4ODNkNDNmZjMzYTA2OWMyMy4uMDU4ZWFiZmFiNjZjOTUwNGJkOGRhYzViMjA0OGYz
MWY4ODk3NTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAzLTA2ICBNczJn
ZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY3JlYXRlSW1hZ2VC
aXRtYXAoQmxvYikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MzI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzOgorICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UuaHRtbAor
ICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1pbnZhbGlkLWFyZ3MuaHRtbAorCisgICAgICAg
ICogZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVh
ZGVyTG9hZGVyOjp1cmwpOiBleHBvc2UgdGhlIEJsb2IncyBVUkwuCisgICAgICAgICogaHRtbC9J
bWFnZUJpdG1hcC5jcHA6IGltcGxlbWVudCBjcmVhdGVJbWFnZUJpdG1hcChCbG9iKS4KKyAgICAg
ICAgKiBodG1sL0ltYWdlQml0bWFwLmg6IGFsbG93IHRoZSBCbG9iSW1hZ2VPYnNlcnZlciBjbGFz
cyBhY2Nlc3MgdG8gdGhlIGNyZWF0aW9uIGZ1bmN0aW9uLgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6IHJldXNlIGV4dHJhY3RlZCBjb2RlLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmlzUERGUmVzb3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwOiBleHRyYWN0IHNvbWUgY29kZSBmcm9tIENhY2hlZEltYWdlIHRvIHJldXNl
LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZTo6aXNQREZSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6aXNQb3N0U2Ny
aXB0UmVzb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6IGFkZCBk
ZWNsYXJhdGlvbnMuCisKIDIwMTgtMDMtMDQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBn
bWFpbC5jb20+CiAKICAgICAgICAgW1dURl0gTW92ZSBjdXJyZW50Q1BVVGltZSBhbmQgc2xlZXAo
U2Vjb25kcykgdG8gQ1BVVGltZS5oIGFuZCBTZWNvbmRzLmggcmVzcGVjdGl2ZWx5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCmluZGV4IGFkZDJjMjZjMmM0MWIwNzcz
NWI3YjAzMGEyOWQxNzZmYzQyNzNiOTUuLmYzZGM2YzQ3OGM5ODAwNGE3YjEzNDBjMzI5ZWQ2ODgw
OGI3MjE4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCkBA
IC04Miw2ICs4Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuY29kaW5nKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgc2V0RGF0YVR5cGUoY29uc3QgU3RyaW5nJiBkYXRhVHlwZSkgeyBtX2Rh
dGFUeXBlID0gZGF0YVR5cGU7IH0KIAorICAgIGNvbnN0IFVSTCYgdXJsKCkgeyByZXR1cm4gbV91
cmxGb3JSZWFkaW5nOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKICAgICB2
b2lkIGNsZWFudXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRt
YXAuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKaW5kZXggZTEwZDNi
NGU4NzRhMGJkODNjZTIwYjVmMGI4MjM3NmZiMzA5YWM2YS4uNGNjM2M2Njk3ZDY4NDgxNGIxM2Jm
N2YwOTNmMjYwOWJhZTdhZGU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFn
ZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKQEAg
LTQ3NCw2ICs0NzQsMzcgQEAgdm9pZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEltYWdlQml0bWFwPiYgZXgKICAgICBwcm9taXNlLnJl
c29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkpOwogfQogCitjbGFzcyBJbWFnZUJpdG1hcEltYWdl
T2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZUJpdG1hcEltYWdlT2JzZXJ2
ZXI+LCBwdWJsaWMgSW1hZ2VPYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJbWFn
ZUJpdG1hcEltYWdlT2JzZXJ2ZXI+IGNyZWF0ZShTdHJpbmcgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZENvbnRlbnRMZW5ndGgsIGNvbnN0IFVSTCYgc291cmNlVXJsKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW1hZ2VCaXRtYXBJbWFnZU9ic2VydmVyKG1pbWVUeXBl
LCBleHBlY3RlZENvbnRlbnRMZW5ndGgsIHNvdXJjZVVybCkpOworICAgIH0KKworICAgIFVSTCBz
b3VyY2VVcmwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZVVybDsgfQorICAgIFN0
cmluZyBtaW1lVHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWltZVR5cGU7IH0KKyAg
ICBsb25nIGxvbmcgZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7IH0KKworICAgIHZvaWQgZGVjb2RlZFNpemVDaGFu
Z2VkKGNvbnN0IEltYWdlJiwgbG9uZyBsb25nKSBvdmVycmlkZSB7IH0KKworICAgIHZvaWQgZGlk
RHJhdyhjb25zdCBJbWFnZSYpIG92ZXJyaWRlIHsgfQorCisgICAgYm9vbCBjYW5EZXN0cm95RGVj
b2RlZERhdGEoY29uc3QgSW1hZ2UmKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgdm9p
ZCBpbWFnZUZyYW1lQXZhaWxhYmxlKGNvbnN0IEltYWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwg
Y29uc3QgSW50UmVjdCogPSBudWxscHRyLCBEZWNvZGluZ1N0YXR1cyA9IERlY29kaW5nU3RhdHVz
OjpJbnZhbGlkKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGNoYW5nZWRJblJlY3QoY29uc3QgSW1h
Z2UmLCBjb25zdCBJbnRSZWN0KiA9IG51bGxwdHIpIG92ZXJyaWRlIHsgfQorCitwcml2YXRlOgor
ICAgIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcihTdHJpbmcgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZENvbnRlbnRMZW5ndGgsIGNvbnN0IFVSTCYgc291cmNlVXJsKQorICAgICAgICA6IG1f
bWltZVR5cGUobWltZVR5cGUpCisgICAgICAgICwgbV9leHBlY3RlZENvbnRlbnRMZW5ndGgoZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoKQorICAgICAgICAsIG1fc291cmNlVXJsKHNvdXJjZVVybCkKKyAg
ICB7IH0KKworICAgIFN0cmluZyBtX21pbWVUeXBlOworICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVk
Q29udGVudExlbmd0aDsKKyAgICBVUkwgbV9zb3VyY2VVcmw7Cit9OworCiBjbGFzcyBQZW5kaW5n
SW1hZ2VCaXRtYXAgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRmlsZVJl
YWRlckxvYWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVmUHRyPEJsb2I+JiYg
YmxvYiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYgb3B0aW9ucywgc3RkOjpvcHRpb25hbDxJbnRSZWN0
PiByZWN0LCBJbWFnZUJpdG1hcDo6UHJvbWlzZSYmIHByb21pc2UpCkBAIC01MzQsMzMgKzU2NSwx
NCBAQCBwcml2YXRlOgogICAgICAgICBkZWxldGUgdGhpczsKICAgICB9CiAKLSAgICB2b2lkIGNy
ZWF0ZUltYWdlQml0bWFwKFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXJyYXlCdWZmZXIpCisgICAgdm9p
ZCBjcmVhdGVJbWFnZUJpdG1hcChSZWZQdHI8QXJyYXlCdWZmZXI+JiYgYXJyYXlCdWZmZXIpCiAg
ICAgewotICAgICAgICBVTlVTRURfUEFSQU0oYXJyYXlCdWZmZXIpOwotCi0gICAgICAgIC8vIDMu
IFJlYWQgdGhlIEJsb2Igb2JqZWN0J3MgZGF0YS4gSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBy
ZWFkaW5nIG9mIHRoZSBvYmplY3QsCi0gICAgICAgIC8vICAgIHRoZW4gcmVqZWN0IHRoZSBwcm9t
aXNlIHdpdGggYW4gIkludmFsaWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24sIGFuZCBhYm9ydAot
ICAgICAgICAvLyAgICB0aGVzZSBzdGVwcy4KLQotICAgICAgICAvLyA0LiBBcHBseSB0aGUgaW1h
Z2Ugc25pZmZpbmcgcnVsZXMgdG8gZGV0ZXJtaW5lIHRoZSBmaWxlIGZvcm1hdCBvZiB0aGUgaW1h
Z2UgZGF0YSwKLSAgICAgICAgLy8gICAgd2l0aCBNSU1FIHR5cGUgb2YgdGhlIEJsb2IgKGFzIGdp
dmVuIGJ5IHRoZSBCbG9iIG9iamVjdCdzIHR5cGUgYXR0cmlidXRlKSBnaXZpbmcKLSAgICAgICAg
Ly8gICAgdGhlIG9mZmljaWFsIHR5cGUuCi0KLSAgICAgICAgLy8gNS4gSWYgdGhlIGltYWdlIGRh
dGEgaXMgbm90IGluIGEgc3VwcG9ydGVkIGltYWdlIGZpbGUgZm9ybWF0IChlLmcuIGl0J3Mgbm90
IGFuIGltYWdlCi0gICAgICAgIC8vICAgIGF0IGFsbCksIG9yIGlmIHRoZSBpbWFnZSBkYXRhIGlz
IGNvcnJ1cHRlZCBpbiBzb21lIGZhdGFsIHdheSBzdWNoIHRoYXQgdGhlIGltYWdlCi0gICAgICAg
IC8vICAgIGRpbWVuc2lvbnMgY2Fubm90IGJlIG9idGFpbmVkIChlLmcuIGEgdmVjdG9yIGdyYXBo
aWMgd2l0aCBubyBpbnRyaW5zaWMgc2l6ZSksIHRoZW4KLSAgICAgICAgLy8gICAgcmVqZWN0IHRo
ZSBwcm9taXNlIHdpdGggYW4gIkludmFsaWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24sIGFuZCBh
Ym9ydCB0aGVzZSBzdGVwcy4KLQotICAgICAgICAvLyA2LiBDcmVhdGUgYSBuZXcgSW1hZ2VCaXRt
YXAgb2JqZWN0LgotCi0gICAgICAgIC8vIDcuIExldCB0aGUgSW1hZ2VCaXRtYXAgb2JqZWN0J3Mg
Yml0bWFwIGRhdGEgYmUgdGhlIGltYWdlIGRhdGEgcmVhZCBmcm9tIHRoZSBCbG9iIG9iamVjdCwK
LSAgICAgICAgLy8gICAgY3JvcHBlZCB0byB0aGUgc291cmNlIHJlY3RhbmdsZSB3aXRoIGZvcm1h
dHRpbmcuIElmIHRoaXMgaXMgYW4gYW5pbWF0ZWQgaW1hZ2UsIHRoZQotICAgICAgICAvLyAgICBJ
bWFnZUJpdG1hcCBvYmplY3QncyBiaXRtYXAgZGF0YSBtdXN0IG9ubHkgYmUgdGFrZW4gZnJvbSB0
aGUgZGVmYXVsdCBpbWFnZSBvZiB0aGUKLSAgICAgICAgLy8gICAgYW5pbWF0aW9uICh0aGUgb25l
IHRoYXQgdGhlIGZvcm1hdCBkZWZpbmVzIGlzIHRvIGJlIHVzZWQgd2hlbiBhbmltYXRpb24gaXMg
bm90IHN1cHBvcnRlZAotICAgICAgICAvLyAgICBvciBpcyBkaXNhYmxlZCksIG9yLCBpZiB0aGVy
ZSBpcyBubyBzdWNoIGltYWdlLCB0aGUgZmlyc3QgZnJhbWUgb2YgdGhlIGFuaW1hdGlvbi4KKyAg
ICAgICAgaWYgKCFhcnJheUJ1ZmZlcikgeworICAgICAgICAgICAgbV9wcm9taXNlLnJlamVjdChJ
bnZhbGlkU3RhdGVFcnJvciwgIkFuIGVycm9yIG9jY3VyZWQgcmVhZGluZyB0aGUgQmxvYiBhcmd1
bWVudCB0byBjcmVhdGVJbWFnZUJpdG1hcCIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAKLSAgICAgICAgLy8gOC4gUmVzb2x2ZSB0aGUgcHJvbWlzZSB3aXRoIHRoZSBuZXcgSW1h
Z2VCaXRtYXAgb2JqZWN0IGFzIHRoZSB2YWx1ZS4KLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChU
eXBlRXJyb3IsICJjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIEFycmF5QnVmZmVyIG9yIEJsb2IgaXMg
bm90IGltcGxlbWVudGVkIik7CisgICAgICAgIEltYWdlQml0bWFwOjpjcmVhdGVGcm9tQnVmZmVy
KGFycmF5QnVmZmVyLnJlbGVhc2VOb25OdWxsKCksIG1fYmxvYi0+dHlwZSgpLCBtX2Jsb2ItPnNp
emUoKSwgbV9ibG9iTG9hZGVyLnVybCgpLCBXVEZNb3ZlKG1fb3B0aW9ucyksIFdURk1vdmUobV9y
ZWN0KSwgV1RGTW92ZShtX3Byb21pc2UpKTsKICAgICB9CiAKICAgICBGaWxlUmVhZGVyTG9hZGVy
IG1fYmxvYkxvYWRlcjsKQEAgLTU3MCw2ICs1ODIsNTggQEAgcHJpdmF0ZToKICAgICBJbWFnZUJp
dG1hcDo6UHJvbWlzZSBtX3Byb21pc2U7CiB9OwogCit2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVG
cm9tQnVmZmVyKAorICAgIFJlZjxBcnJheUJ1ZmZlcj4mJiBhcnJheUJ1ZmZlciwKKyAgICBTdHJp
bmcgbWltZVR5cGUsCisgICAgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExlbmd0aCwKKyAgICBj
b25zdCBVUkwmIHNvdXJjZVVybCwKKyAgICBJbWFnZUJpdG1hcE9wdGlvbnMmJiBvcHRpb25zLAor
ICAgIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4gcmVjdCwKKyAgICBJbWFnZUJpdG1hcDo6UHJvbWlz
ZSYmIHByb21pc2UpCit7CisgICAgaWYgKCFhcnJheUJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKSB7Cisg
ICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90IGNyZWF0ZSBh
biBJbWFnZUJpdG1hcCBmcm9tIGFuIGVtcHR5IGJ1ZmZlciIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBzaGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxjb25zdCBjaGFyKj4oYXJyYXlCdWZmZXItPmRhdGEoKSksIGFycmF5QnVmZmVyLT5i
eXRlTGVuZ3RoKCkpOworICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbWFnZUJpdG1hcEltYWdlT2JzZXJ2
ZXI6OmNyZWF0ZShtaW1lVHlwZSwgZXhwZWN0ZWRDb250ZW50TGVuZ3RoLCBzb3VyY2VVcmwpOwor
ICAgIGF1dG8gaW1hZ2UgPSBJbWFnZTo6Y3JlYXRlKG9ic2VydmVyLmdldCgpKTsKKyAgICBpZiAo
IWltYWdlKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yLCAiVGhl
IHR5cGUgb2YgdGhlIGFyZ3VtZW50IHRvIGNyZWF0ZUltYWdlQml0bWFwIGlzIG5vdCBzdXBwb3J0
ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcmVzdWx0ID0gaW1hZ2Ut
PnNldERhdGEoc2hhcmVkQnVmZmVyLmNvcHlSZWYoKSwgdHJ1ZSk7CisgICAgaWYgKHJlc3VsdCAh
PSBFbmNvZGVkRGF0YVN0YXR1czo6Q29tcGxldGUpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Qo
SW52YWxpZFN0YXRlRXJyb3IsICJDYW5ub3QgZGVjb2RlIHRoZSBkYXRhIGluIHRoZSBhcmd1bWVu
dCB0byBjcmVhdGVJbWFnZUJpdG1hcCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byBzb3VyY2VSZWN0YW5nbGUgPSBjcm9wcGVkU291cmNlUmVjdGFuZ2xlV2l0aEZvcm1hdHRp
bmcocm91bmRlZEludFNpemUoaW1hZ2UtPnNpemUoKSksIG9wdGlvbnMsIHJlY3QpOworICAgIGlm
IChzb3VyY2VSZWN0YW5nbGUuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWpl
Y3Qoc291cmNlUmVjdGFuZ2xlLnJlbGVhc2VFeGNlcHRpb24oKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIG91dHB1dFNpemUgPSBvdXRwdXRTaXplRm9yU291cmNlUmVjdGFu
Z2xlKHNvdXJjZVJlY3RhbmdsZS5yZXR1cm5WYWx1ZSgpLCBvcHRpb25zKTsKKyAgICBhdXRvIGJp
dG1hcERhdGEgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKEZsb2F0U2l6ZShvdXRwdXRTaXplLndpZHRo
KCksIG91dHB1dFNpemUuaGVpZ2h0KCkpLCBidWZmZXJSZW5kZXJpbmdNb2RlKTsKKyAgICBpZiAo
IWJpdG1hcERhdGEpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3Is
ICJDYW5ub3QgY3JlYXRlIGFuIGltYWdlIGJ1ZmZlciBmcm9tIHRoZSBhcmd1bWVudCB0byBjcmVh
dGVJbWFnZUJpdG1hcCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgRmxvYXRSZWN0
IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgb3V0cHV0U2l6ZSk7CisgICAgSW1hZ2VQYWludGluZ09w
dGlvbnMgcGFpbnRpbmdPcHRpb25zOworICAgIHBhaW50aW5nT3B0aW9ucy5tX2ludGVycG9sYXRp
b25RdWFsaXR5ID0gaW50ZXJwb2xhdGlvblF1YWxpdHlGb3JSZXNpemVRdWFsaXR5KG9wdGlvbnMu
cmVzaXplUXVhbGl0eSk7CisKKyAgICBiaXRtYXBEYXRhLT5jb250ZXh0KCkuZHJhd0ltYWdlKCpp
bWFnZSwgZGVzdFJlY3QsIHNvdXJjZVJlY3RhbmdsZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgcGFp
bnRpbmdPcHRpb25zKTsKKworICAgIGF1dG8gaW1hZ2VCaXRtYXAgPSBjcmVhdGUoV1RGTW92ZShi
aXRtYXBEYXRhKSk7CisKKyAgICBwcm9taXNlLnJlc29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkp
OworfQorCiB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlZlB0cjxCbG9iPiYgYmxvYiwgSW1hZ2VC
aXRtYXBPcHRpb25zJiYgb3B0aW9ucywgc3RkOjpvcHRpb25hbDxJbnRSZWN0PiByZWN0LCBJbWFn
ZUJpdG1hcDo6UHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgLy8gMi4gUmV0dXJuIGEgbmV3IHBy
b21pc2UsIGJ1dCBjb250aW51ZSBydW5uaW5nIHRoZXNlIHN0ZXBzIGluIHBhcmFsbGVsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9JbWFnZUJpdG1hcC5oCmluZGV4IDk1ZDQ5YjdlYTZiNTAzOTQyNTdiMTgyMDFlYzM1
ODg4YWU1ODc3MGIuLmJlYjY2NzZhZDhiZjA0ODc0Nzc0MmUyMWUwMThlMmUzODlkZDcwYmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKQEAgLTM3LDEyICszNywxNCBAQCBjbGFzcyBCbG9i
OwogY2xhc3MgSFRNTENhbnZhc0VsZW1lbnQ7CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50OwogY2xh
c3MgSFRNTFZpZGVvRWxlbWVudDsKK2NsYXNzIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcjsKIGNs
YXNzIEltYWdlQnVmZmVyOwogY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50UmVjdDsKIGNsYXNz
IEludFNpemU7CiBjbGFzcyBQZW5kaW5nSW1hZ2VCaXRtYXA7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OworY2xhc3MgVVJMOwogc3RydWN0IEltYWdlQml0bWFwT3B0aW9uczsKIAogY2xh
c3MgSW1hZ2VCaXRtYXAgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRl
ZDxJbWFnZUJpdG1hcD4gewpAQCAtODAsNiArODIsNyBAQCBwdWJsaWM6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyPiB0cmFuc2Zlck93bmVyc2hpcEFuZENsb3NlKCk7CiAKIHByaXZh
dGU6CisgICAgZnJpZW5kIGNsYXNzIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcjsKICAgICBmcmll
bmQgY2xhc3MgUGVuZGluZ0ltYWdlQml0bWFwOwogCiAgICAgc3RhdGljIFJlZjxJbWFnZUJpdG1h
cD4gY3JlYXRlKHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4mJik7CkBAIC05Myw2ICs5Niw3
IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmUHRyPEltYWdlQml0bWFwPiYsIEltYWdlQml0bWFwT3B0aW9ucyYmLCBz
dGQ6Om9wdGlvbmFsPEludFJlY3Q+LCBQcm9taXNlJiYpOwogICAgIHN0YXRpYyB2b2lkIGNyZWF0
ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxCbG9iPiYsIEltYWdlQml0
bWFwT3B0aW9ucyYmLCBzdGQ6Om9wdGlvbmFsPEludFJlY3Q+LCBQcm9taXNlJiYpOwogICAgIHN0
YXRpYyB2b2lkIGNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxJ
bWFnZURhdGE+JiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4s
IFByb21pc2UmJik7CisgICAgc3RhdGljIHZvaWQgY3JlYXRlRnJvbUJ1ZmZlcihSZWY8QXJyYXlC
dWZmZXI+JiYsIFN0cmluZyBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExlbmd0
aCwgY29uc3QgVVJMJiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVj
dD4sIFByb21pc2UmJik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fYml0
bWFwRGF0YTsKICAgICBib29sIG1fZGV0YWNoZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggYmM1MzBjMWQxMmI3ZDYzYzdkMzg5
ZDZkNmIyMTc2NzgyNGFkODE3ZC4uYjAzZDlmZmEzNTMzMWMwYzk4OGI0NTY0YzRkYjYzMWI0OWZk
YWRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBA
IC0zMTAsMTYgKzMxMCwxMiBAQCB2b2lkIENhY2hlZEltYWdlOjpjaGVja1Nob3VsZFBhaW50QnJv
a2VuSW1hZ2UoKQogCiBib29sIENhY2hlZEltYWdlOjppc1BERlJlc291cmNlKCkgY29uc3QKIHsK
LSAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IHVybCgpLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIucGRmIik7Ci0gICAgcmV0
dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzUERGTUlNRVR5cGUobV9yZXNwb25zZS5taW1lVHlwZSgp
KTsKKyAgICByZXR1cm4gSW1hZ2U6OmlzUERGUmVzb3VyY2UobV9yZXNwb25zZS5taW1lVHlwZSgp
LCB1cmwoKSk7CiB9CiAKIGJvb2wgQ2FjaGVkSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlKCkg
Y29uc3QKIHsKLSAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIHVybCgpLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIucHMiKTsK
LSAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNQb3N0U2NyaXB0TUlNRVR5cGUobV9yZXNw
b25zZS5taW1lVHlwZSgpKTsKKyAgICByZXR1cm4gSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNl
KG1fcmVzcG9uc2UubWltZVR5cGUoKSwgdXJsKCkpOwogfQogCiB2b2lkIENhY2hlZEltYWdlOjpj
bGVhcigpCkBAIC0zMzksMTggKzMzNSwxMiBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UoKQogCiAgICAgbV9pbWFnZU9ic2VydmVyID0gQ2FjaGVkSW1hZ2VPYnNlcnZlcjo6
Y3JlYXRlKCp0aGlzKTsKIAotICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImltYWdl
L3N2Zyt4bWwiKSB7Ci0gICAgICAgIGF1dG8gc3ZnSW1hZ2UgPSBTVkdJbWFnZTo6Y3JlYXRlKCpt
X2ltYWdlT2JzZXJ2ZXIpOwotICAgICAgICBtX3N2Z0ltYWdlQ2FjaGUgPSBzdGQ6Om1ha2VfdW5p
cXVlPFNWR0ltYWdlQ2FjaGU+KHN2Z0ltYWdlLnB0cigpKTsKLSAgICAgICAgbV9pbWFnZSA9IFdU
Rk1vdmUoc3ZnSW1hZ2UpOwotICAgIH0gZWxzZSBpZiAoaXNQREZSZXNvdXJjZSgpIHx8IGlzUG9z
dFNjcmlwdFJlc291cmNlKCkpIHsKLSNpZiBVU0UoQ0cpICYmICFVU0UoV0VCS0lUX0lNQUdFX0RF
Q09ERVJTKQotICAgICAgICBtX2ltYWdlID0gUERGRG9jdW1lbnRJbWFnZTo6Y3JlYXRlKG1faW1h
Z2VPYnNlcnZlci5nZXQoKSk7Ci0jZW5kaWYKLSAgICB9IGVsc2UKLSAgICAgICAgbV9pbWFnZSA9
IEJpdG1hcEltYWdlOjpjcmVhdGUobV9pbWFnZU9ic2VydmVyLmdldCgpKTsKKyAgICBtX2ltYWdl
ID0gSW1hZ2U6OmNyZWF0ZSgqbV9pbWFnZU9ic2VydmVyKTsKIAogICAgIGlmIChtX2ltYWdlKSB7
CisgICAgICAgIGlmIChpczxTVkdJbWFnZT4oKm1faW1hZ2UpKQorICAgICAgICAgICAgbV9zdmdJ
bWFnZUNhY2hlID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNhY2hlPigmZG93bmNhc3Q8U1ZH
SW1hZ2U+KCptX2ltYWdlKSk7CisKICAgICAgICAgLy8gU2VuZCBxdWV1ZWQgY29udGFpbmVyIHNp
emUgcmVxdWVzdHMuCiAgICAgICAgIGlmIChtX2ltYWdlLT51c2VzQ29udGFpbmVyU2l6ZSgpKSB7
CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiBtX3BlbmRpbmdDb250YWluZXJDb250
ZXh0UmVxdWVzdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAK
aW5kZXggN2I5YjZhMzc0NjUyNzAwNDY2MmIxNWExZmYzZjliNjNkMDZiNGVjMi4uZTE3ODU1MDU0
YzFkOTUzZGNlNzNlMDVjMmY5ODEzNmQyNzhlODA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkltYWdl
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJMZW5ndGguaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lz
dHJ5LmgiCisjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
ICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxtYXRoLmg+CkBAIC02MSwxMSArNjIsNDQgQEAg
SW1hZ2UmIEltYWdlOjpudWxsSW1hZ2UoKQogICAgIHJldHVybiBudWxsSW1hZ2U7CiB9CiAKK1Jl
ZlB0cjxJbWFnZT4gSW1hZ2U6OmNyZWF0ZShJbWFnZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAg
ICBhdXRvIG1pbWVUeXBlID0gb2JzZXJ2ZXIubWltZVR5cGUoKTsKKyAgICBpZiAobWltZVR5cGUg
PT0gImltYWdlL3N2Zyt4bWwiKQorICAgICAgICByZXR1cm4gU1ZHSW1hZ2U6OmNyZWF0ZShvYnNl
cnZlcik7CisKKyAgICBhdXRvIHVybCA9IG9ic2VydmVyLnNvdXJjZVVybCgpOworICAgIGlmIChp
c1BERlJlc291cmNlKG1pbWVUeXBlLCB1cmwpIHx8IGlzUG9zdFNjcmlwdFJlc291cmNlKG1pbWVU
eXBlLCB1cmwpKSB7CisjaWYgVVNFKENHKSAmJiAhVVNFKFdFQktJVF9JTUFHRV9ERUNPREVSUykK
KyAgICAgICAgcmV0dXJuIFBERkRvY3VtZW50SW1hZ2U6OmNyZWF0ZSgmb2JzZXJ2ZXIpOworI2Vs
c2UKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKKyAgICB9CisKKyAgICByZXR1cm4g
Qml0bWFwSW1hZ2U6OmNyZWF0ZSgmb2JzZXJ2ZXIpOworfQorCiBib29sIEltYWdlOjpzdXBwb3J0
c1R5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogewogICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5
Ojppc1N1cHBvcnRlZEltYWdlUmVzb3VyY2VNSU1FVHlwZSh0eXBlKTsKIH0gCiAKK2Jvb2wgSW1h
Z2U6OmlzUERGUmVzb3VyY2UoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgVVJMJiB1cmwp
Cit7CisgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHVybC5wYXRo
KCkuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnBkZiIpOworICAgIHJldHVybiBNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc1BERk1JTUVUeXBlKG1pbWVUeXBlKTsKK30KKworYm9vbCBJbWFnZTo6aXNQ
b3N0U2NyaXB0UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgVVJMJiB1cmwp
Cit7CisgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHVybC5wYXRo
KCkuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnBzIik7CisgICAgcmV0dXJuIE1JTUVUeXBl
UmVnaXN0cnk6OmlzUG9zdFNjcmlwdE1JTUVUeXBlKG1pbWVUeXBlKTsKK30KKworCiBFbmNvZGVk
RGF0YVN0YXR1cyBJbWFnZTo6c2V0RGF0YShSZWZQdHI8U2hhcmVkQnVmZmVyPiYmIGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKQogewogICAgIG1fZW5jb2RlZEltYWdlRGF0YSA9IFdURk1vdmUo
ZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRleCA4YjY5
M2MyOTJjZWMxMjM1MmMxY2RkYzA3YjBlNzczYzkyYzEzZTRlLi5jNWFjZmEwZWUyMTczODkxN2Fh
ZWNkNTNmYmVjNDc0NGYzMmIyY2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmgKQEAgLTgxLDcgKzgxLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5JbWFnZSgp
OwogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8SW1hZ2U+IGxvYWRQbGF0Zm9y
bVJlc291cmNlKGNvbnN0IGNoYXIqIG5hbWUpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBS
ZWZQdHI8SW1hZ2U+IGNyZWF0ZShJbWFnZU9ic2VydmVyJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIGJvb2wgc3VwcG9ydHNUeXBlKGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBib29s
IGlzUERGUmVzb3VyY2UoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgVVJMJik7CisgICAg
c3RhdGljIGJvb2wgaXNQb3N0U2NyaXB0UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
Y29uc3QgVVJMJik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzR2VuZXJhdGVkSW1hZ2UoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI1NTkyNDk2OTk2YTZkOTMxNmQyMjgxNGNmYWE1
ODMzOGNiMWI0YjIuLjk4OTM5ZDk1Njk0MDRmNTVlYTJiMjQ1ZDBjODAyZWIyZDI5ODNjMWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wMy0wNiAgTXMyZ2VyICA8TXMyZ2VyQGlnYWxpYS5j
b20+CisKKyAgICAgICAgSW1wbGVtZW50IGNyZWF0ZUltYWdlQml0bWFwKEJsb2IpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMyNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhwZWN0YXRp
b25zLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJn
cy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDMtMDQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgaHR0cC93cHQvaHRtbC9icm93c2Vycy9oaXN0b3J5
L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wtc2V0dGVyLW5vbi1icm9r
ZW4tYXN5bmMtZGVsZWdhdGUuaHRtbCBhcyBmYWlsdXJlIG9uIFdpbmRvd3MuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNDY5OWI5NjBjOTIxNWZhMDg5Y2UxZmFjOWQ1NDM1Zjk0
YzE4Yjk4Li43MDY3OGMyYjE5Mjc0OWQzNzAzOGY1YmRhY2MxNGQ3OTQ1ZGI4Y2FiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wMy0wNiAgTXMy
Z2VyICA8TXMyZ2VyQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGNyZWF0ZUltYWdl
Qml0bWFwKEJsb2IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODMyNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRt
YXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dDoKKwogMjAxOC0w
My0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTG9hZHMg
Zm9yIGEgRG9jdW1lbnQgY29udHJvbGxlZCBieSBhIFNlcnZpY2UgV29ya2VyIHNob3VsZCBub3Qg
dXNlIEFwcENhY2hlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3
SW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtZHJhd0ltYWdl
LWV4cGVjdGVkLnR4dAppbmRleCA2ZGZkZWM5YTQ3MTFjZWQxMjBkODRiZGFhMzA4MjA2ZTE4MTVl
MGZhLi4xMzg5MTk5MzRiNTRiYjUwYjIxZDhjNGMzNzhmNTJiNWE2MTRkNmMzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2lt
YWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWRyYXdJbWFnZS1leHBlY3RlZC50eHQKQEAgLTQ5
LDkgKzQ5LDkgQEAgUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGFuIEltYWdlQml0bWFwIHNj
YWxlZCBkb3duLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRt
YXAgZnJvbSBhbiBJbWFnZUJpdG1hcCBzY2FsZWQgdXAsIGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNy
ZWF0ZWQgSW1hZ2VCaXRtYXAgCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYW4gSW1hZ2VC
aXRtYXAgcmVzaXplZCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAK
IEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhbiBJbWFnZUJpdG1hcCB3aXRoIG5lZ2F0aXZl
IHN3L3NoLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJhbmdlRXJyb3I6
IENhbm5vdCBjcmVhdGUgSW1hZ2VCaXRtYXAgd2l0aCBhIG5lZ2F0aXZlIHdpZHRoIG9yIGhlaWdo
dCIKLUZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2IsIGFuZCBkcmF3SW1hZ2Ugb24g
dGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIEFy
cmF5QnVmZmVyIG9yIEJsb2IgaXMgbm90IGltcGxlbWVudGVkIgotRkFJTCBjcmVhdGVJbWFnZUJp
dG1hcCBmcm9tIGEgQmxvYiBzY2FsZWQgZG93biwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRl
ZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIg
b3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIGZyb20g
YSBCbG9iIHNjYWxlZCB1cCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1h
cCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBu
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYSBCbG9iIHJlc2l6
ZWQsIGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBjcmVh
dGVJbWFnZUJpdG1hcCB3aXRoIEFycmF5QnVmZmVyIG9yIEJsb2IgaXMgbm90IGltcGxlbWVudGVk
IgorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGEgQmxvYiwgYW5kIGRyYXdJbWFnZSBvbiB0
aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKK1BBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJs
b2Igc2NhbGVkIGRvd24sIGFuZCBkcmF3SW1hZ2Ugb24gdGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAg
CitQQVNTIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYSBCbG9iIHNjYWxlZCB1cCwgYW5kIGRyYXdJ
bWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKK1BBU1MgY3JlYXRlSW1hZ2VCaXRtYXAg
ZnJvbSBhIEJsb2IgcmVzaXplZCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJp
dG1hcCAKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2Igd2l0aCBuZWdhdGl2ZSBz
dy9zaCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSYW5nZUVycm9yOiBD
YW5ub3QgY3JlYXRlIEltYWdlQml0bWFwIHdpdGggYSBuZWdhdGl2ZSB3aWR0aCBvciBoZWlnaHQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1pbnZhbGlkLWFyZ3MtZXhw
ZWN0ZWQudHh0CmluZGV4IDYyYzNhZjIwNDU2YTRhOGYyMzM3ZmE5ZDE0NWYwOWJiYTQ3M2ViNTYu
LmU4MGIxODNjNWU0YTNhZTdmNjZjYzk4YjdhNTkyYmVkMDJjMWIyMDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdl
Yml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1h
Z2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dApAQCAt
MzIsNyArMzIsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhbiBJbWFnZUJpdG1h
cCBzb3VyY2UgYW5kIHNoIHNldCB0byAwCiBGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBh
biBJbWFnZUJpdG1hcCBzb3VyY2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3JvcCBy
ZWdpb24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBS
ZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGEg
QmxvYiBzb3VyY2UgYW5kIHN3IHNldCB0byAwIAogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRo
IGEgYSBCbG9iIHNvdXJjZSBhbmQgc2ggc2V0IHRvIDAgCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFw
IHdpdGggYSBhIEJsb2Igc291cmNlIGFuZCBvdmVyc2l6ZWQgKHVuYWxsb2NhdGFibGUpIGNyb3Ag
cmVnaW9uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZm
ZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2Jq
ZWN0ICJJbnZhbGlkU3RhdGVFcnJvciIgKCJJbnZhbGlkU3RhdGVFcnJvciIpCitGQUlMIGNyZWF0
ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFuZCBvdmVyc2l6ZWQgKHVuYWxsb2Nh
dGFibGUpIGNyb3AgcmVnaW9uIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGNyZWF0ZUltYWdlQml0
bWFwIHdpdGggdW5kZWZpbmVkIGltYWdlIHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFw
IHdpdGggbnVsbCBpbWFnZSBzb3VyY2UuIAogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbWFnZSBzb3VyY2UuIApAQCAtNDMsNyArNDMsNyBAQCBQ
QVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggZW1wdHkgaW1hZ2Ugc291cmNlLgogUEFTUyBjcmVh
dGVJbWFnZUJpdG1hcCB3aXRoIGVtcHR5IHZpZGVvIHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdl
Qml0bWFwIHdpdGggYW4gb3ZlcnNpemVkIGNhbnZhcyBzb3VyY2UuIAogRkFJTCBjcmVhdGVJbWFn
ZUJpdG1hcCB3aXRoIGFuIGludmFsaWQgT2Zmc2NyZWVuQ2FudmFzIHNvdXJjZS4gYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5
cGVFcnJvcjogVHlwZSBlcnJvciIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0
YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVk
IDExCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gdW5kZWNvZGFibGUgYmxvYiBzb3Vy
Y2UuIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIg
b3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBl
eHBlY3RlZCAxMQorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIHVuZGVjb2RhYmxlIGJs
b2Igc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGJyb2tlbiBpbWFnZSBz
b3VyY2UuIAogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGF2YWlsYWJsZSBidXQgdW5k
ZWNvZGFibGUgaW1hZ2Ugc291cmNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWpl
Y3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBjcmVhdGVJbWFn
ZUJpdG1hcCB3aXRoIGFuIGF2YWlsYWJsZSBidXQgemVybyBoZWlnaHQgaW1hZ2Ugc291cmNlLiBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0
ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2Vi
aXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dAppbmRleCAx
YzdhYTk2ZTVhODllN2Q1MzkxNWFjNWIwNDlmMDMyMzExMGNiMmM0Li5kNGIxNmIxM2RjNWViMTEx
YjBmYTAxZTIxM2ExYTAyMTBmYTlhZmUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRt
YXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNv
bnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVk
LnR4dApAQCAtMzIsNyArMzIsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhbiBJ
bWFnZUJpdG1hcCBzb3VyY2UgYW5kIHNoIHNldCB0byAwCiBGQUlMIGNyZWF0ZUltYWdlQml0bWFw
IHdpdGggYSBhbiBJbWFnZUJpdG1hcCBzb3VyY2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJs
ZSkgY3JvcCByZWdpb24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVu
ZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAg
d2l0aCBhIGEgQmxvYiBzb3VyY2UgYW5kIHN3IHNldCB0byAwIAogUEFTUyBjcmVhdGVJbWFnZUJp
dG1hcCB3aXRoIGEgYSBCbG9iIHNvdXJjZSBhbmQgc2ggc2V0IHRvIDAgCi1GQUlMIGNyZWF0ZUlt
YWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFuZCBvdmVyc2l6ZWQgKHVuYWxsb2NhdGFi
bGUpIGNyb3AgcmVnaW9uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRo
cm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGgg
QXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiICgiVHlwZUVycm9yIikgZXhw
ZWN0ZWQgb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvciIgKCJJbnZhbGlkU3RhdGVFcnJvciIpCitG
QUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFuZCBvdmVyc2l6ZWQg
KHVuYWxsb2NhdGFibGUpIGNyb3AgcmVnaW9uIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZl
IHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGNyZWF0
ZUltYWdlQml0bWFwIHdpdGggdW5kZWZpbmVkIGltYWdlIHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUlt
YWdlQml0bWFwIHdpdGggbnVsbCBpbWFnZSBzb3VyY2UuIAogUEFTUyBjcmVhdGVJbWFnZUJpdG1h
cCB3aXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbWFnZSBzb3VyY2UuIApAQCAtNDMsNyAr
NDMsNyBAQCBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggZW1wdHkgaW1hZ2Ugc291cmNlLgog
UEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGVtcHR5IHZpZGVvIHNvdXJjZS4gCiBQQVNTIGNy
ZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gb3ZlcnNpemVkIGNhbnZhcyBzb3VyY2UuIAogRkFJTCBj
cmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGludmFsaWQgT2Zmc2NyZWVuQ2FudmFzIHNvdXJjZS4g
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBv
YmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24g
SW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQs
IGV4cGVjdGVkIDExCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gdW5kZWNvZGFibGUg
YmxvYiBzb3VyY2UuIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93
IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJy
YXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCAxMQorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIHVuZGVj
b2RhYmxlIGJsb2Igc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGJyb2tl
biBpbWFnZSBzb3VyY2UuIAogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFuIGF2YWlsYWJs
ZSBidXQgdW5kZWNvZGFibGUgaW1hZ2Ugc291cmNlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIKIEZBSUwgY3JlYXRl
SW1hZ2VCaXRtYXAgd2l0aCBhbiBhdmFpbGFibGUgYnV0IHplcm8gaGVpZ2h0IGltYWdlIHNvdXJj
ZS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335082</attachid>
            <date>2018-03-06 03:56:31 -0800</date>
            <delta_ts>2018-04-06 12:33:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183247-20180306125630.patch</filename>
            <type>text/plain</type>
            <size>24626</size>
            <attacher name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAxZDM5NGM3OTAyZTI2
ZDg5Y2M3YWY4ODNkNDNmZjMzYTA2OWMyMy4uMDU4ZWFiZmFiNjZjOTUwNGJkOGRhYzViMjA0OGYz
MWY4ODk3NTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAzLTA2ICBNczJn
ZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY3JlYXRlSW1hZ2VC
aXRtYXAoQmxvYikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MzI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzOgorICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UuaHRtbAor
ICAgICAgICAgICAgLSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1pbnZhbGlkLWFyZ3MuaHRtbAorCisgICAgICAg
ICogZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVh
ZGVyTG9hZGVyOjp1cmwpOiBleHBvc2UgdGhlIEJsb2IncyBVUkwuCisgICAgICAgICogaHRtbC9J
bWFnZUJpdG1hcC5jcHA6IGltcGxlbWVudCBjcmVhdGVJbWFnZUJpdG1hcChCbG9iKS4KKyAgICAg
ICAgKiBodG1sL0ltYWdlQml0bWFwLmg6IGFsbG93IHRoZSBCbG9iSW1hZ2VPYnNlcnZlciBjbGFz
cyBhY2Nlc3MgdG8gdGhlIGNyZWF0aW9uIGZ1bmN0aW9uLgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6IHJldXNlIGV4dHJhY3RlZCBjb2RlLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmlzUERGUmVzb3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwOiBleHRyYWN0IHNvbWUgY29kZSBmcm9tIENhY2hlZEltYWdlIHRvIHJldXNl
LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZTo6aXNQREZSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6aXNQb3N0U2Ny
aXB0UmVzb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6IGFkZCBk
ZWNsYXJhdGlvbnMuCisKIDIwMTgtMDMtMDQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBn
bWFpbC5jb20+CiAKICAgICAgICAgW1dURl0gTW92ZSBjdXJyZW50Q1BVVGltZSBhbmQgc2xlZXAo
U2Vjb25kcykgdG8gQ1BVVGltZS5oIGFuZCBTZWNvbmRzLmggcmVzcGVjdGl2ZWx5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCmluZGV4IGFkZDJjMjZjMmM0MWIwNzcz
NWI3YjAzMGEyOWQxNzZmYzQyNzNiOTUuLmYzZGM2YzQ3OGM5ODAwNGE3YjEzNDBjMzI5ZWQ2ODgw
OGI3MjE4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5oCkBA
IC04Miw2ICs4Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuY29kaW5nKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgc2V0RGF0YVR5cGUoY29uc3QgU3RyaW5nJiBkYXRhVHlwZSkgeyBtX2Rh
dGFUeXBlID0gZGF0YVR5cGU7IH0KIAorICAgIGNvbnN0IFVSTCYgdXJsKCkgeyByZXR1cm4gbV91
cmxGb3JSZWFkaW5nOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKICAgICB2
b2lkIGNsZWFudXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRt
YXAuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKaW5kZXggZTEwZDNi
NGU4NzRhMGJkODNjZTIwYjVmMGI4MjM3NmZiMzA5YWM2YS4uNGNjM2M2Njk3ZDY4NDgxNGIxM2Jm
N2YwOTNmMjYwOWJhZTdhZGU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFn
ZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKQEAg
LTQ3NCw2ICs0NzQsMzcgQEAgdm9pZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEltYWdlQml0bWFwPiYgZXgKICAgICBwcm9taXNlLnJl
c29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkpOwogfQogCitjbGFzcyBJbWFnZUJpdG1hcEltYWdl
T2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZUJpdG1hcEltYWdlT2JzZXJ2
ZXI+LCBwdWJsaWMgSW1hZ2VPYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJbWFn
ZUJpdG1hcEltYWdlT2JzZXJ2ZXI+IGNyZWF0ZShTdHJpbmcgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZENvbnRlbnRMZW5ndGgsIGNvbnN0IFVSTCYgc291cmNlVXJsKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW1hZ2VCaXRtYXBJbWFnZU9ic2VydmVyKG1pbWVUeXBl
LCBleHBlY3RlZENvbnRlbnRMZW5ndGgsIHNvdXJjZVVybCkpOworICAgIH0KKworICAgIFVSTCBz
b3VyY2VVcmwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZVVybDsgfQorICAgIFN0
cmluZyBtaW1lVHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWltZVR5cGU7IH0KKyAg
ICBsb25nIGxvbmcgZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7IH0KKworICAgIHZvaWQgZGVjb2RlZFNpemVDaGFu
Z2VkKGNvbnN0IEltYWdlJiwgbG9uZyBsb25nKSBvdmVycmlkZSB7IH0KKworICAgIHZvaWQgZGlk
RHJhdyhjb25zdCBJbWFnZSYpIG92ZXJyaWRlIHsgfQorCisgICAgYm9vbCBjYW5EZXN0cm95RGVj
b2RlZERhdGEoY29uc3QgSW1hZ2UmKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgdm9p
ZCBpbWFnZUZyYW1lQXZhaWxhYmxlKGNvbnN0IEltYWdlJiwgSW1hZ2VBbmltYXRpbmdTdGF0ZSwg
Y29uc3QgSW50UmVjdCogPSBudWxscHRyLCBEZWNvZGluZ1N0YXR1cyA9IERlY29kaW5nU3RhdHVz
OjpJbnZhbGlkKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGNoYW5nZWRJblJlY3QoY29uc3QgSW1h
Z2UmLCBjb25zdCBJbnRSZWN0KiA9IG51bGxwdHIpIG92ZXJyaWRlIHsgfQorCitwcml2YXRlOgor
ICAgIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcihTdHJpbmcgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZENvbnRlbnRMZW5ndGgsIGNvbnN0IFVSTCYgc291cmNlVXJsKQorICAgICAgICA6IG1f
bWltZVR5cGUobWltZVR5cGUpCisgICAgICAgICwgbV9leHBlY3RlZENvbnRlbnRMZW5ndGgoZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoKQorICAgICAgICAsIG1fc291cmNlVXJsKHNvdXJjZVVybCkKKyAg
ICB7IH0KKworICAgIFN0cmluZyBtX21pbWVUeXBlOworICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVk
Q29udGVudExlbmd0aDsKKyAgICBVUkwgbV9zb3VyY2VVcmw7Cit9OworCiBjbGFzcyBQZW5kaW5n
SW1hZ2VCaXRtYXAgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRmlsZVJl
YWRlckxvYWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmVmUHRyPEJsb2I+JiYg
YmxvYiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYgb3B0aW9ucywgc3RkOjpvcHRpb25hbDxJbnRSZWN0
PiByZWN0LCBJbWFnZUJpdG1hcDo6UHJvbWlzZSYmIHByb21pc2UpCkBAIC01MzQsMzMgKzU2NSwx
NCBAQCBwcml2YXRlOgogICAgICAgICBkZWxldGUgdGhpczsKICAgICB9CiAKLSAgICB2b2lkIGNy
ZWF0ZUltYWdlQml0bWFwKFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXJyYXlCdWZmZXIpCisgICAgdm9p
ZCBjcmVhdGVJbWFnZUJpdG1hcChSZWZQdHI8QXJyYXlCdWZmZXI+JiYgYXJyYXlCdWZmZXIpCiAg
ICAgewotICAgICAgICBVTlVTRURfUEFSQU0oYXJyYXlCdWZmZXIpOwotCi0gICAgICAgIC8vIDMu
IFJlYWQgdGhlIEJsb2Igb2JqZWN0J3MgZGF0YS4gSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBy
ZWFkaW5nIG9mIHRoZSBvYmplY3QsCi0gICAgICAgIC8vICAgIHRoZW4gcmVqZWN0IHRoZSBwcm9t
aXNlIHdpdGggYW4gIkludmFsaWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24sIGFuZCBhYm9ydAot
ICAgICAgICAvLyAgICB0aGVzZSBzdGVwcy4KLQotICAgICAgICAvLyA0LiBBcHBseSB0aGUgaW1h
Z2Ugc25pZmZpbmcgcnVsZXMgdG8gZGV0ZXJtaW5lIHRoZSBmaWxlIGZvcm1hdCBvZiB0aGUgaW1h
Z2UgZGF0YSwKLSAgICAgICAgLy8gICAgd2l0aCBNSU1FIHR5cGUgb2YgdGhlIEJsb2IgKGFzIGdp
dmVuIGJ5IHRoZSBCbG9iIG9iamVjdCdzIHR5cGUgYXR0cmlidXRlKSBnaXZpbmcKLSAgICAgICAg
Ly8gICAgdGhlIG9mZmljaWFsIHR5cGUuCi0KLSAgICAgICAgLy8gNS4gSWYgdGhlIGltYWdlIGRh
dGEgaXMgbm90IGluIGEgc3VwcG9ydGVkIGltYWdlIGZpbGUgZm9ybWF0IChlLmcuIGl0J3Mgbm90
IGFuIGltYWdlCi0gICAgICAgIC8vICAgIGF0IGFsbCksIG9yIGlmIHRoZSBpbWFnZSBkYXRhIGlz
IGNvcnJ1cHRlZCBpbiBzb21lIGZhdGFsIHdheSBzdWNoIHRoYXQgdGhlIGltYWdlCi0gICAgICAg
IC8vICAgIGRpbWVuc2lvbnMgY2Fubm90IGJlIG9idGFpbmVkIChlLmcuIGEgdmVjdG9yIGdyYXBo
aWMgd2l0aCBubyBpbnRyaW5zaWMgc2l6ZSksIHRoZW4KLSAgICAgICAgLy8gICAgcmVqZWN0IHRo
ZSBwcm9taXNlIHdpdGggYW4gIkludmFsaWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24sIGFuZCBh
Ym9ydCB0aGVzZSBzdGVwcy4KLQotICAgICAgICAvLyA2LiBDcmVhdGUgYSBuZXcgSW1hZ2VCaXRt
YXAgb2JqZWN0LgotCi0gICAgICAgIC8vIDcuIExldCB0aGUgSW1hZ2VCaXRtYXAgb2JqZWN0J3Mg
Yml0bWFwIGRhdGEgYmUgdGhlIGltYWdlIGRhdGEgcmVhZCBmcm9tIHRoZSBCbG9iIG9iamVjdCwK
LSAgICAgICAgLy8gICAgY3JvcHBlZCB0byB0aGUgc291cmNlIHJlY3RhbmdsZSB3aXRoIGZvcm1h
dHRpbmcuIElmIHRoaXMgaXMgYW4gYW5pbWF0ZWQgaW1hZ2UsIHRoZQotICAgICAgICAvLyAgICBJ
bWFnZUJpdG1hcCBvYmplY3QncyBiaXRtYXAgZGF0YSBtdXN0IG9ubHkgYmUgdGFrZW4gZnJvbSB0
aGUgZGVmYXVsdCBpbWFnZSBvZiB0aGUKLSAgICAgICAgLy8gICAgYW5pbWF0aW9uICh0aGUgb25l
IHRoYXQgdGhlIGZvcm1hdCBkZWZpbmVzIGlzIHRvIGJlIHVzZWQgd2hlbiBhbmltYXRpb24gaXMg
bm90IHN1cHBvcnRlZAotICAgICAgICAvLyAgICBvciBpcyBkaXNhYmxlZCksIG9yLCBpZiB0aGVy
ZSBpcyBubyBzdWNoIGltYWdlLCB0aGUgZmlyc3QgZnJhbWUgb2YgdGhlIGFuaW1hdGlvbi4KKyAg
ICAgICAgaWYgKCFhcnJheUJ1ZmZlcikgeworICAgICAgICAgICAgbV9wcm9taXNlLnJlamVjdChJ
bnZhbGlkU3RhdGVFcnJvciwgIkFuIGVycm9yIG9jY3VyZWQgcmVhZGluZyB0aGUgQmxvYiBhcmd1
bWVudCB0byBjcmVhdGVJbWFnZUJpdG1hcCIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAKLSAgICAgICAgLy8gOC4gUmVzb2x2ZSB0aGUgcHJvbWlzZSB3aXRoIHRoZSBuZXcgSW1h
Z2VCaXRtYXAgb2JqZWN0IGFzIHRoZSB2YWx1ZS4KLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChU
eXBlRXJyb3IsICJjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIEFycmF5QnVmZmVyIG9yIEJsb2IgaXMg
bm90IGltcGxlbWVudGVkIik7CisgICAgICAgIEltYWdlQml0bWFwOjpjcmVhdGVGcm9tQnVmZmVy
KGFycmF5QnVmZmVyLnJlbGVhc2VOb25OdWxsKCksIG1fYmxvYi0+dHlwZSgpLCBtX2Jsb2ItPnNp
emUoKSwgbV9ibG9iTG9hZGVyLnVybCgpLCBXVEZNb3ZlKG1fb3B0aW9ucyksIFdURk1vdmUobV9y
ZWN0KSwgV1RGTW92ZShtX3Byb21pc2UpKTsKICAgICB9CiAKICAgICBGaWxlUmVhZGVyTG9hZGVy
IG1fYmxvYkxvYWRlcjsKQEAgLTU3MCw2ICs1ODIsNTggQEAgcHJpdmF0ZToKICAgICBJbWFnZUJp
dG1hcDo6UHJvbWlzZSBtX3Byb21pc2U7CiB9OwogCit2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVG
cm9tQnVmZmVyKAorICAgIFJlZjxBcnJheUJ1ZmZlcj4mJiBhcnJheUJ1ZmZlciwKKyAgICBTdHJp
bmcgbWltZVR5cGUsCisgICAgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExlbmd0aCwKKyAgICBj
b25zdCBVUkwmIHNvdXJjZVVybCwKKyAgICBJbWFnZUJpdG1hcE9wdGlvbnMmJiBvcHRpb25zLAor
ICAgIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4gcmVjdCwKKyAgICBJbWFnZUJpdG1hcDo6UHJvbWlz
ZSYmIHByb21pc2UpCit7CisgICAgaWYgKCFhcnJheUJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKSB7Cisg
ICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90IGNyZWF0ZSBh
biBJbWFnZUJpdG1hcCBmcm9tIGFuIGVtcHR5IGJ1ZmZlciIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBzaGFyZWRCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxjb25zdCBjaGFyKj4oYXJyYXlCdWZmZXItPmRhdGEoKSksIGFycmF5QnVmZmVyLT5i
eXRlTGVuZ3RoKCkpOworICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbWFnZUJpdG1hcEltYWdlT2JzZXJ2
ZXI6OmNyZWF0ZShtaW1lVHlwZSwgZXhwZWN0ZWRDb250ZW50TGVuZ3RoLCBzb3VyY2VVcmwpOwor
ICAgIGF1dG8gaW1hZ2UgPSBJbWFnZTo6Y3JlYXRlKG9ic2VydmVyLmdldCgpKTsKKyAgICBpZiAo
IWltYWdlKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yLCAiVGhl
IHR5cGUgb2YgdGhlIGFyZ3VtZW50IHRvIGNyZWF0ZUltYWdlQml0bWFwIGlzIG5vdCBzdXBwb3J0
ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcmVzdWx0ID0gaW1hZ2Ut
PnNldERhdGEoc2hhcmVkQnVmZmVyLmNvcHlSZWYoKSwgdHJ1ZSk7CisgICAgaWYgKHJlc3VsdCAh
PSBFbmNvZGVkRGF0YVN0YXR1czo6Q29tcGxldGUpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Qo
SW52YWxpZFN0YXRlRXJyb3IsICJDYW5ub3QgZGVjb2RlIHRoZSBkYXRhIGluIHRoZSBhcmd1bWVu
dCB0byBjcmVhdGVJbWFnZUJpdG1hcCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byBzb3VyY2VSZWN0YW5nbGUgPSBjcm9wcGVkU291cmNlUmVjdGFuZ2xlV2l0aEZvcm1hdHRp
bmcocm91bmRlZEludFNpemUoaW1hZ2UtPnNpemUoKSksIG9wdGlvbnMsIHJlY3QpOworICAgIGlm
IChzb3VyY2VSZWN0YW5nbGUuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWpl
Y3Qoc291cmNlUmVjdGFuZ2xlLnJlbGVhc2VFeGNlcHRpb24oKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIG91dHB1dFNpemUgPSBvdXRwdXRTaXplRm9yU291cmNlUmVjdGFu
Z2xlKHNvdXJjZVJlY3RhbmdsZS5yZXR1cm5WYWx1ZSgpLCBvcHRpb25zKTsKKyAgICBhdXRvIGJp
dG1hcERhdGEgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKEZsb2F0U2l6ZShvdXRwdXRTaXplLndpZHRo
KCksIG91dHB1dFNpemUuaGVpZ2h0KCkpLCBidWZmZXJSZW5kZXJpbmdNb2RlKTsKKyAgICBpZiAo
IWJpdG1hcERhdGEpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3Is
ICJDYW5ub3QgY3JlYXRlIGFuIGltYWdlIGJ1ZmZlciBmcm9tIHRoZSBhcmd1bWVudCB0byBjcmVh
dGVJbWFnZUJpdG1hcCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgRmxvYXRSZWN0
IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgb3V0cHV0U2l6ZSk7CisgICAgSW1hZ2VQYWludGluZ09w
dGlvbnMgcGFpbnRpbmdPcHRpb25zOworICAgIHBhaW50aW5nT3B0aW9ucy5tX2ludGVycG9sYXRp
b25RdWFsaXR5ID0gaW50ZXJwb2xhdGlvblF1YWxpdHlGb3JSZXNpemVRdWFsaXR5KG9wdGlvbnMu
cmVzaXplUXVhbGl0eSk7CisKKyAgICBiaXRtYXBEYXRhLT5jb250ZXh0KCkuZHJhd0ltYWdlKCpp
bWFnZSwgZGVzdFJlY3QsIHNvdXJjZVJlY3RhbmdsZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgcGFp
bnRpbmdPcHRpb25zKTsKKworICAgIGF1dG8gaW1hZ2VCaXRtYXAgPSBjcmVhdGUoV1RGTW92ZShi
aXRtYXBEYXRhKSk7CisKKyAgICBwcm9taXNlLnJlc29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkp
OworfQorCiB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlZlB0cjxCbG9iPiYgYmxvYiwgSW1hZ2VC
aXRtYXBPcHRpb25zJiYgb3B0aW9ucywgc3RkOjpvcHRpb25hbDxJbnRSZWN0PiByZWN0LCBJbWFn
ZUJpdG1hcDo6UHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgLy8gMi4gUmV0dXJuIGEgbmV3IHBy
b21pc2UsIGJ1dCBjb250aW51ZSBydW5uaW5nIHRoZXNlIHN0ZXBzIGluIHBhcmFsbGVsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9JbWFnZUJpdG1hcC5oCmluZGV4IDk1ZDQ5YjdlYTZiNTAzOTQyNTdiMTgyMDFlYzM1
ODg4YWU1ODc3MGIuLmJlYjY2NzZhZDhiZjA0ODc0Nzc0MmUyMWUwMThlMmUzODlkZDcwYmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKQEAgLTM3LDEyICszNywxNCBAQCBjbGFzcyBCbG9i
OwogY2xhc3MgSFRNTENhbnZhc0VsZW1lbnQ7CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50OwogY2xh
c3MgSFRNTFZpZGVvRWxlbWVudDsKK2NsYXNzIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcjsKIGNs
YXNzIEltYWdlQnVmZmVyOwogY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50UmVjdDsKIGNsYXNz
IEludFNpemU7CiBjbGFzcyBQZW5kaW5nSW1hZ2VCaXRtYXA7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OworY2xhc3MgVVJMOwogc3RydWN0IEltYWdlQml0bWFwT3B0aW9uczsKIAogY2xh
c3MgSW1hZ2VCaXRtYXAgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRl
ZDxJbWFnZUJpdG1hcD4gewpAQCAtODAsNiArODIsNyBAQCBwdWJsaWM6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyPiB0cmFuc2Zlck93bmVyc2hpcEFuZENsb3NlKCk7CiAKIHByaXZh
dGU6CisgICAgZnJpZW5kIGNsYXNzIEltYWdlQml0bWFwSW1hZ2VPYnNlcnZlcjsKICAgICBmcmll
bmQgY2xhc3MgUGVuZGluZ0ltYWdlQml0bWFwOwogCiAgICAgc3RhdGljIFJlZjxJbWFnZUJpdG1h
cD4gY3JlYXRlKHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4mJik7CkBAIC05Myw2ICs5Niw3
IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmUHRyPEltYWdlQml0bWFwPiYsIEltYWdlQml0bWFwT3B0aW9ucyYmLCBz
dGQ6Om9wdGlvbmFsPEludFJlY3Q+LCBQcm9taXNlJiYpOwogICAgIHN0YXRpYyB2b2lkIGNyZWF0
ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxCbG9iPiYsIEltYWdlQml0
bWFwT3B0aW9ucyYmLCBzdGQ6Om9wdGlvbmFsPEludFJlY3Q+LCBQcm9taXNlJiYpOwogICAgIHN0
YXRpYyB2b2lkIGNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxJ
bWFnZURhdGE+JiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4s
IFByb21pc2UmJik7CisgICAgc3RhdGljIHZvaWQgY3JlYXRlRnJvbUJ1ZmZlcihSZWY8QXJyYXlC
dWZmZXI+JiYsIFN0cmluZyBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExlbmd0
aCwgY29uc3QgVVJMJiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVj
dD4sIFByb21pc2UmJik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fYml0
bWFwRGF0YTsKICAgICBib29sIG1fZGV0YWNoZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggYmM1MzBjMWQxMmI3ZDYzYzdkMzg5
ZDZkNmIyMTc2NzgyNGFkODE3ZC4uYjAzZDlmZmEzNTMzMWMwYzk4OGI0NTY0YzRkYjYzMWI0OWZk
YWRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBA
IC0zMTAsMTYgKzMxMCwxMiBAQCB2b2lkIENhY2hlZEltYWdlOjpjaGVja1Nob3VsZFBhaW50QnJv
a2VuSW1hZ2UoKQogCiBib29sIENhY2hlZEltYWdlOjppc1BERlJlc291cmNlKCkgY29uc3QKIHsK
LSAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IHVybCgpLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIucGRmIik7Ci0gICAgcmV0
dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzUERGTUlNRVR5cGUobV9yZXNwb25zZS5taW1lVHlwZSgp
KTsKKyAgICByZXR1cm4gSW1hZ2U6OmlzUERGUmVzb3VyY2UobV9yZXNwb25zZS5taW1lVHlwZSgp
LCB1cmwoKSk7CiB9CiAKIGJvb2wgQ2FjaGVkSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNlKCkg
Y29uc3QKIHsKLSAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIHVybCgpLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIucHMiKTsK
LSAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNQb3N0U2NyaXB0TUlNRVR5cGUobV9yZXNw
b25zZS5taW1lVHlwZSgpKTsKKyAgICByZXR1cm4gSW1hZ2U6OmlzUG9zdFNjcmlwdFJlc291cmNl
KG1fcmVzcG9uc2UubWltZVR5cGUoKSwgdXJsKCkpOwogfQogCiB2b2lkIENhY2hlZEltYWdlOjpj
bGVhcigpCkBAIC0zMzksMTggKzMzNSwxMiBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UoKQogCiAgICAgbV9pbWFnZU9ic2VydmVyID0gQ2FjaGVkSW1hZ2VPYnNlcnZlcjo6
Y3JlYXRlKCp0aGlzKTsKIAotICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImltYWdl
L3N2Zyt4bWwiKSB7Ci0gICAgICAgIGF1dG8gc3ZnSW1hZ2UgPSBTVkdJbWFnZTo6Y3JlYXRlKCpt
X2ltYWdlT2JzZXJ2ZXIpOwotICAgICAgICBtX3N2Z0ltYWdlQ2FjaGUgPSBzdGQ6Om1ha2VfdW5p
cXVlPFNWR0ltYWdlQ2FjaGU+KHN2Z0ltYWdlLnB0cigpKTsKLSAgICAgICAgbV9pbWFnZSA9IFdU
Rk1vdmUoc3ZnSW1hZ2UpOwotICAgIH0gZWxzZSBpZiAoaXNQREZSZXNvdXJjZSgpIHx8IGlzUG9z
dFNjcmlwdFJlc291cmNlKCkpIHsKLSNpZiBVU0UoQ0cpICYmICFVU0UoV0VCS0lUX0lNQUdFX0RF
Q09ERVJTKQotICAgICAgICBtX2ltYWdlID0gUERGRG9jdW1lbnRJbWFnZTo6Y3JlYXRlKG1faW1h
Z2VPYnNlcnZlci5nZXQoKSk7Ci0jZW5kaWYKLSAgICB9IGVsc2UKLSAgICAgICAgbV9pbWFnZSA9
IEJpdG1hcEltYWdlOjpjcmVhdGUobV9pbWFnZU9ic2VydmVyLmdldCgpKTsKKyAgICBtX2ltYWdl
ID0gSW1hZ2U6OmNyZWF0ZSgqbV9pbWFnZU9ic2VydmVyKTsKIAogICAgIGlmIChtX2ltYWdlKSB7
CisgICAgICAgIGlmIChpczxTVkdJbWFnZT4oKm1faW1hZ2UpKQorICAgICAgICAgICAgbV9zdmdJ
bWFnZUNhY2hlID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNhY2hlPigmZG93bmNhc3Q8U1ZH
SW1hZ2U+KCptX2ltYWdlKSk7CisKICAgICAgICAgLy8gU2VuZCBxdWV1ZWQgY29udGFpbmVyIHNp
emUgcmVxdWVzdHMuCiAgICAgICAgIGlmIChtX2ltYWdlLT51c2VzQ29udGFpbmVyU2l6ZSgpKSB7
CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiBtX3BlbmRpbmdDb250YWluZXJDb250
ZXh0UmVxdWVzdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAK
aW5kZXggN2I5YjZhMzc0NjUyNzAwNDY2MmIxNWExZmYzZjliNjNkMDZiNGVjMi4uOTBlODE2ZjI3
ZjZkZDI2NjlkZDA0NzY1OGUzMGFiNTBhNDM4NmE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkltYWdl
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJMZW5ndGguaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lz
dHJ5LmgiCisjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
ICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxtYXRoLmg+CkBAIC00MSw2ICs0Miw3IEBACiAj
aW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiAjaWYgVVNFKENHKQorI2luY2x1ZGUg
IlBERkRvY3VtZW50SW1hZ2UuaCIKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgogI2VuZGlmCiAKQEAgLTYxLDExICs2Myw0NCBAQCBJbWFnZSYgSW1hZ2U6Om51bGxJ
bWFnZSgpCiAgICAgcmV0dXJuIG51bGxJbWFnZTsKIH0KIAorUmVmUHRyPEltYWdlPiBJbWFnZTo6
Y3JlYXRlKEltYWdlT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIGF1dG8gbWltZVR5cGUgPSBv
YnNlcnZlci5taW1lVHlwZSgpOworICAgIGlmIChtaW1lVHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIp
CisgICAgICAgIHJldHVybiBTVkdJbWFnZTo6Y3JlYXRlKG9ic2VydmVyKTsKKworICAgIGF1dG8g
dXJsID0gb2JzZXJ2ZXIuc291cmNlVXJsKCk7CisgICAgaWYgKGlzUERGUmVzb3VyY2UobWltZVR5
cGUsIHVybCkgfHwgaXNQb3N0U2NyaXB0UmVzb3VyY2UobWltZVR5cGUsIHVybCkpIHsKKyNpZiBV
U0UoQ0cpICYmICFVU0UoV0VCS0lUX0lNQUdFX0RFQ09ERVJTKQorICAgICAgICByZXR1cm4gUERG
RG9jdW1lbnRJbWFnZTo6Y3JlYXRlKCZvYnNlcnZlcik7CisjZWxzZQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyNlbmRpZgorICAgIH0KKworICAgIHJldHVybiBCaXRtYXBJbWFnZTo6Y3JlYXRl
KCZvYnNlcnZlcik7Cit9CisKIGJvb2wgSW1hZ2U6OnN1cHBvcnRzVHlwZShjb25zdCBTdHJpbmcm
IHR5cGUpCiB7CiAgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VS
ZXNvdXJjZU1JTUVUeXBlKHR5cGUpOwogfSAKIAorYm9vbCBJbWFnZTo6aXNQREZSZXNvdXJjZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBVUkwmIHVybCkKK3sKKyAgICBpZiAobWltZVR5
cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdXJsLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5n
QVNDSUlDYXNlKCIucGRmIik7CisgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzUERGTUlN
RVR5cGUobWltZVR5cGUpOworfQorCitib29sIEltYWdlOjppc1Bvc3RTY3JpcHRSZXNvdXJjZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBVUkwmIHVybCkKK3sKKyAgICBpZiAobWltZVR5
cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdXJsLnBhdGgoKS5lbmRzV2l0aElnbm9yaW5n
QVNDSUlDYXNlKCIucHMiKTsKKyAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNQb3N0U2Ny
aXB0TUlNRVR5cGUobWltZVR5cGUpOworfQorCisKIEVuY29kZWREYXRhU3RhdHVzIEltYWdlOjpz
ZXREYXRhKFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYgZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQp
CiB7CiAgICAgbV9lbmNvZGVkSW1hZ2VEYXRhID0gV1RGTW92ZShkYXRhKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCmluZGV4IDhiNjkzYzI5MmNlYzEyMzUyYzFjZGRj
MDdiMGU3NzNjOTJjMTNlNGUuLmM1YWNmYTBlZTIxNzM4OTE3YWFlY2Q1M2ZiZWM0NzQ0ZjMyYjJj
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaApAQCAtODEsNyAr
ODEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkltYWdlKCk7CiAgICAgCiAgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxJbWFnZT4gbG9hZFBsYXRmb3JtUmVzb3VyY2UoY29uc3QgY2hh
ciogbmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxJbWFnZT4gY3JlYXRl
KEltYWdlT2JzZXJ2ZXImKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBzdXBwb3J0
c1R5cGUoY29uc3QgU3RyaW5nJik7CisgICAgc3RhdGljIGJvb2wgaXNQREZSZXNvdXJjZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBVUkwmKTsKKyAgICBzdGF0aWMgYm9vbCBpc1Bvc3RT
Y3JpcHRSZXNvdXJjZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBVUkwmKTsKIAogICAg
IHZpcnR1YWwgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNHZW5lcmF0ZWRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYjU1OTI0OTY5OTZhNmQ5MzE2ZDIyODE0Y2ZhYTU4MzM4Y2IxYjRiMi4uOTg5Mzlk
OTU2OTQwNGY1NWVhMmIyNDVkMGM4MDJlYjJkMjk4M2MxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE4LTAzLTA2ICBNczJnZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgY3JlYXRlSW1hZ2VCaXRtYXAoQmxvYikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1h
Z2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dDoKKwog
MjAxOC0wMy0wNCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFyayBodHRwL3dwdC9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVy
ZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9uLWJyb2tlbi1hc3luYy1kZWxlZ2F0ZS5o
dG1sIGFzIGZhaWx1cmUgb24gV2luZG93cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGQ0Njk5Yjk2MGM5MjE1ZmEwODljZTFmYWM5ZDU0MzVmOTRjMThiOTguLjcwNjc4YzJiMTky
NzQ5ZDM3MDM4ZjViZGFjYzE0ZDc5NDVkYjhjYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTA2ICBNczJnZXIgIDxNczJnZXJAaWdhbGlh
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY3JlYXRlSW1hZ2VCaXRtYXAoQmxvYikKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzI0NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3Rh
dGlvbnMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0
bWFwL2NyZWF0ZUltYWdlQml0bWFwLWRyYXdJbWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1h
cC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDE4LTAzLTAyICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBMb2FkcyBmb3IgYSBEb2N1bWVudCBjb250
cm9sbGVkIGJ5IGEgU2VydmljZSBXb3JrZXIgc2hvdWxkIG5vdCB1c2UgQXBwQ2FjaGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250
ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLWRyYXdJbWFnZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1kcmF3SW1hZ2UtZXhwZWN0ZWQudHh0CmluZGV4
IDZkZmRlYzlhNDcxMWNlZDEyMGQ4NGJkYWEzMDgyMDZlMTgxNWUwZmEuLjEzODkxOTkzNGI1NGJi
NTBiMjFkOGM0YzM3OGY1MmI1YTYxNGQ2YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUlt
YWdlQml0bWFwLWRyYXdJbWFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1h
Z2VCaXRtYXAtZHJhd0ltYWdlLWV4cGVjdGVkLnR4dApAQCAtNDksOSArNDksOSBAQCBQQVNTIGNy
ZWF0ZUltYWdlQml0bWFwIGZyb20gYW4gSW1hZ2VCaXRtYXAgc2NhbGVkIGRvd24sIGFuZCBkcmF3
SW1hZ2Ugb24gdGhlIGNyZQogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGFuIEltYWdlQml0
bWFwIHNjYWxlZCB1cCwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAK
IFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhbiBJbWFnZUJpdG1hcCByZXNpemVkLCBhbmQg
ZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIAogRkFJTCBjcmVhdGVJbWFnZUJp
dG1hcCBmcm9tIGFuIEltYWdlQml0bWFwIHdpdGggbmVnYXRpdmUgc3cvc2gsIGFuZCBkcmF3SW1h
Z2Ugb24gdGhlIGNyZWF0ZWQgSW1hZ2VCaXRtYXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmFuZ2VFcnJvcjogQ2Fubm90IGNyZWF0ZSBJbWFn
ZUJpdG1hcCB3aXRoIGEgbmVnYXRpdmUgd2lkdGggb3IgaGVpZ2h0IgotRkFJTCBjcmVhdGVJbWFn
ZUJpdG1hcCBmcm9tIGEgQmxvYiwgYW5kIGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJp
dG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQXJyYXlCdWZmZXIgb3IgQmxvYiBp
cyBub3QgaW1wbGVtZW50ZWQiCi1GQUlMIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYSBCbG9iIHNj
YWxlZCBkb3duLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9iIGlzIG5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2Igc2NhbGVkIHVwLCBh
bmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogY3JlYXRlSW1h
Z2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9iIGlzIG5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgY3JlYXRlSW1hZ2VCaXRtYXAgZnJvbSBhIEJsb2IgcmVzaXplZCwgYW5kIGRyYXdJbWFnZSBv
biB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGNyZWF0ZUltYWdlQml0bWFwIHdpdGgg
QXJyYXlCdWZmZXIgb3IgQmxvYiBpcyBub3QgaW1wbGVtZW50ZWQiCitQQVNTIGNyZWF0ZUltYWdl
Qml0bWFwIGZyb20gYSBCbG9iLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0
bWFwIAorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGEgQmxvYiBzY2FsZWQgZG93biwgYW5k
IGRyYXdJbWFnZSBvbiB0aGUgY3JlYXRlZCBJbWFnZUJpdG1hcCAKK1BBU1MgY3JlYXRlSW1hZ2VC
aXRtYXAgZnJvbSBhIEJsb2Igc2NhbGVkIHVwLCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVk
IEltYWdlQml0bWFwIAorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCBmcm9tIGEgQmxvYiByZXNpemVk
LCBhbmQgZHJhd0ltYWdlIG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIAogRkFJTCBjcmVhdGVJ
bWFnZUJpdG1hcCBmcm9tIGEgQmxvYiB3aXRoIG5lZ2F0aXZlIHN3L3NoLCBhbmQgZHJhd0ltYWdl
IG9uIHRoZSBjcmVhdGVkIEltYWdlQml0bWFwIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJhbmdlRXJyb3I6IENhbm5vdCBjcmVhdGUgSW1hZ2VC
aXRtYXAgd2l0aCBhIG5lZ2F0aXZlIHdpZHRoIG9yIGhlaWdodCIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2Vi
aXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0
bWFwL2NyZWF0ZUltYWdlQml0bWFwLWludmFsaWQtYXJncy1leHBlY3RlZC50eHQKaW5kZXggNjJj
M2FmMjA0NTZhNGE4ZjIzMzdmYTlkMTQ1ZjA5YmJhNDczZWI1Ni4uZTgwYjE4M2M1ZTRhM2FlN2Y2
NmNjOThiN2E1OTJiZWQwMmMxYjIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VC
aXRtYXAtaW52YWxpZC1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFn
ZUJpdG1hcC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0zMiw3ICszMiw3IEBAIFBBU1Mg
Y3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGFuIEltYWdlQml0bWFwIHNvdXJjZSBhbmQgc2ggc2V0
IHRvIDAKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGFuIEltYWdlQml0bWFwIHNvdXJj
ZSBhbmQgb3ZlcnNpemVkICh1bmFsbG9jYXRhYmxlKSBjcm9wIHJlZ2lvbiBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYSBCbG9iIHNvdXJjZSBhbmQgc3cg
c2V0IHRvIDAgCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Igc291cmNlIGFu
ZCBzaCBzZXQgdG8gMCAKLUZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGEgQmxvYiBzb3Vy
Y2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3JvcCByZWdpb24gYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVF
cnJvcjogY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9iIGlzIG5vdCBp
bXBsZW1lbnRlZCIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIkludmFsaWRTdGF0ZUVy
cm9yIiAoIkludmFsaWRTdGF0ZUVycm9yIikKK0ZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBh
IGEgQmxvYiBzb3VyY2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3JvcCByZWdpb24g
YXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCB1bmRlZmluZWQg
aW1hZ2Ugc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBudWxsIGltYWdlIHNv
dXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEIGltYWdlIHNvdXJjZS4gCkBAIC00Myw3ICs0Myw3IEBAIFBBU1MgY3JlYXRlSW1hZ2VCaXRt
YXAgd2l0aCBlbXB0eSBpbWFnZSBzb3VyY2UuCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGgg
ZW1wdHkgdmlkZW8gc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhbiBvdmVy
c2l6ZWQgY2FudmFzIHNvdXJjZS4gCiBGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gaW52
YWxpZCBPZmZzY3JlZW5DYW52YXMgc291cmNlLiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9y
IiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkg
ImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwgY3JlYXRlSW1h
Z2VCaXRtYXAgd2l0aCBhbiB1bmRlY29kYWJsZSBibG9iIHNvdXJjZS4gYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJv
cjogY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9iIGlzIG5vdCBpbXBs
ZW1lbnRlZCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHBy
b3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCitQQVNTIGNy
ZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gdW5kZWNvZGFibGUgYmxvYiBzb3VyY2UuIAogUEFTUyBj
cmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYnJva2VuIGltYWdlIHNvdXJjZS4gCiBGQUlMIGNyZWF0
ZUltYWdlQml0bWFwIHdpdGggYW4gYXZhaWxhYmxlIGJ1dCB1bmRlY29kYWJsZSBpbWFnZSBzb3Vy
Y2UuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gYXZh
aWxhYmxlIGJ1dCB6ZXJvIGhlaWdodCBpbWFnZSBzb3VyY2UuIGFzc2VydF91bnJlYWNoZWQ6IFNo
b3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtaW52YWxp
ZC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJp
dG1hcC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IDFjN2FhOTZlNWE4OWU3ZDUzOTE1
YWM1YjA0OWYwMzIzMTEwY2IyYzQuLmQ0YjE2YjEzZGM1ZWIxMTFiMGZhMDFlMjEzYTFhMDIxMGZh
OWFmZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1h
cC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9j
cmVhdGVJbWFnZUJpdG1hcC1pbnZhbGlkLWFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0zMiw3ICszMiw3
IEBAIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGFuIEltYWdlQml0bWFwIHNvdXJjZSBh
bmQgc2ggc2V0IHRvIDAKIEZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGFuIEltYWdlQml0
bWFwIHNvdXJjZSBhbmQgb3ZlcnNpemVkICh1bmFsbG9jYXRhYmxlKSBjcm9wIHJlZ2lvbiBhc3Nl
cnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYSBCbG9iIHNvdXJj
ZSBhbmQgc3cgc2V0IHRvIDAgCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYSBhIEJsb2Ig
c291cmNlIGFuZCBzaCBzZXQgdG8gMCAKLUZBSUwgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhIGEg
QmxvYiBzb3VyY2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3JvcCByZWdpb24gYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmpl
Y3QgIlR5cGVFcnJvcjogY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9i
IGlzIG5vdCBpbXBsZW1lbnRlZCIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIkludmFs
aWRTdGF0ZUVycm9yIiAoIkludmFsaWRTdGF0ZUVycm9yIikKK0ZBSUwgY3JlYXRlSW1hZ2VCaXRt
YXAgd2l0aCBhIGEgQmxvYiBzb3VyY2UgYW5kIG92ZXJzaXplZCAodW5hbGxvY2F0YWJsZSkgY3Jv
cCByZWdpb24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5l
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCB1
bmRlZmluZWQgaW1hZ2Ugc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBudWxs
IGltYWdlIHNvdXJjZS4gCiBQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGltYWdlIHNvdXJjZS4gCkBAIC00Myw3ICs0Myw3IEBAIFBBU1MgY3JlYXRl
SW1hZ2VCaXRtYXAgd2l0aCBlbXB0eSBpbWFnZSBzb3VyY2UuCiBQQVNTIGNyZWF0ZUltYWdlQml0
bWFwIHdpdGggZW1wdHkgdmlkZW8gc291cmNlLiAKIFBBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0
aCBhbiBvdmVyc2l6ZWQgY2FudmFzIHNvdXJjZS4gCiBGQUlMIGNyZWF0ZUltYWdlQml0bWFwIHdp
dGggYW4gaW52YWxpZCBPZmZzY3JlZW5DYW52YXMgc291cmNlLiBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBU
eXBlIGVycm9yIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjog
cHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwg
Y3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBhbiB1bmRlY29kYWJsZSBibG9iIHNvdXJjZS4gYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBBcnJheUJ1ZmZlciBvciBCbG9iIGlz
IG5vdCBpbXBsZW1lbnRlZCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRl
RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDEx
CitQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gdW5kZWNvZGFibGUgYmxvYiBzb3VyY2Uu
IAogUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGEgYnJva2VuIGltYWdlIHNvdXJjZS4gCiBG
QUlMIGNyZWF0ZUltYWdlQml0bWFwIHdpdGggYW4gYXZhaWxhYmxlIGJ1dCB1bmRlY29kYWJsZSBp
bWFnZSBzb3VyY2UuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIltvYmplY3QgRXZlbnRdIgogRkFJTCBjcmVhdGVJbWFnZUJpdG1hcCB3aXRoIGFu
IGF2YWlsYWJsZSBidXQgemVybyBoZWlnaHQgaW1hZ2Ugc291cmNlLiBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>