<?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>204737</bug_id>
          
          <creation_ts>2019-12-01 21:34:48 -0800</creation_ts>
          <short_desc>Don&apos;t do range checking for calc() at parse time</short_desc>
          <delta_ts>2021-09-29 08:33:45 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>browserbugs2</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1594496</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-01 21:34:48 -0800</bug_when>
    <thetext>Don&apos;t do range checking for calc() at parse time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594498</commentid>
    <comment_count>1</comment_count>
      <attachid>384593</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-01 21:51:04 -0800</bug_when>
    <thetext>Created attachment 384593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594505</commentid>
    <comment_count>2</comment_count>
      <attachid>384594</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-01 23:15:23 -0800</bug_when>
    <thetext>Created attachment 384594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594597</commentid>
    <comment_count>3</comment_count>
      <attachid>384594</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-02 08:32:21 -0800</bug_when>
    <thetext>Comment on attachment 384594
Patch

Clearing flags on attachment: 384594

Committed r252983: &lt;https://trac.webkit.org/changeset/252983&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594598</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-02 08:32:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594599</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-02 08:33:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57558859&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798347</commentid>
    <comment_count>6</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-09-29 08:33:45 -0700</bug_when>
    <thetext>*** Bug 195173 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384593</attachid>
            <date>2019-12-01 21:51:04 -0800</date>
            <delta_ts>2019-12-01 23:15:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204737-20191201215103.patch</filename>
            <type>text/plain</type>
            <size>55237</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmExOWE3MWVhMmM0OGNh
MGZmNDM1ZGNmODcxYTU3MjZkYTJhNGNhMC4uMzU0ODcxY2JlZTdjNDZkNWQyZDMwZTljMzMxOTI4
ZjRmMmI0Y2Q3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE5LTEyLTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IGRvIHJh
bmdlIGNoZWNraW5nIGZvciBjYWxjKCkgYXQgcGFyc2UgdGltZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBcyBzcGVjaWZpZWQgaW4gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY2FsYy1yYW5nZSwgd2Ugc2hvdWxk
IG5vdCBkbyByYW5nZSBjaGVja2luZyBmb3IgY2FsYworICAgICAgICBhdCBwYXJzZSB0aW1lOyB0
aGUgc3BlY2lmaWVkIHZhbHVlIGNhbiBiZSBhIGNhbGMgd2hpY2ggcmVzdWx0cyBpbiBhIG5lZ2F0
aXZlIHZhbHVlczsgdmFsdWVzIGFyZSBjbGFtcGVkCisgICAgICAgIGF0IHVzZWQgdmFsdWUgdGlt
ZSAoaS5lLiB3aGVuIGJ1aWxkaW5nIFJlbmRlclN0eWxlKS4KKyAgICAgICAgCisgICAgICAgIFNv
IENTU0NhbGN1bGF0aW9uVmFsdWUgZG9lc24ndCBuZWVkIHRvIGhhdmUgaXNJbnQoKSwgaXNQb3Np
dGl2ZSgpLCBpc05lZ2F0aXZlKCksIGFuZCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUKKyAgICAgICAg
ZG9lc24ndCBoYXZlIHRvIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBpdHMgdmFsdWUgaXMgYW4gaW50
ZWdlci4KKyAgICAgICAgCisgICAgICAgIEFsc28gZG8gc29tZSBjbGVhbnVwIG9mIENTU1ByaW1p
dGl2ZVZhbHVlLCB1c2luZyBjYXRlZ29yaWVzIHRvIGFuc3dlciBtb3JlIGlzRm9vIHR5cGUgcXVl
c3Rpb25zLCBhbmQgYWRkaW5nCisgICAgICAgIGlzWmVybygpLCBpc1Bvc2l0aXZlKCkgYW5kIGlz
TmVnYXRpdmUoKSB0aGF0IHJldHVybiBPcHRpb25hbDxib29sPiBmb3IgY2FzZXMgd2hlcmUgcGFy
c2UtdGltZSByYW5nZSBjaGVja2luZworICAgICAgICBvY2N1cnMuCisKKyAgICAgICAgVGVzdGVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBs
aWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpw
YXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUJsZW5kSGFsZik6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVDU1MpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpp
c0NhbGNGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjppc0ludGVnZXJSZXN1bHQpOiBEZWxl
dGVkLgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmVxdWFscyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmNhdGVnb3J5IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6aXNJbnRlZ2VyIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Onpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgpOgorICAg
ICAgICAoV2ViQ29yZTo6cGVyY2VudGFnZU9yWm9vbUFkanVzdGVkVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6YXV0b09yWm9vbUFkanVzdGVkVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVyc2lvblRvQ2Fub25pY2FsVW5pdHNTY2FsZUZhY3Rvcik6IEkgbWlzc2VkIHRoZSBRIHVuaXQg
aGVyZSB3aGVuIEkgYWRkZWQgaXQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6aXNaZXJvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c1Bvc2l0aXZlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c05lZ2F0aXZlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpj
YW5vbmljYWxVbml0VHlwZUZvckNhdGVnb3J5KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c0FuZ2xlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dW5pdENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhbm9uaWNh
bFVuaXRUeXBlRm9yQ2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fub25pY2FsVW5pdFR5
cGUpOgorICAgICAgICAqIGNzcy9DU1NVbml0cy5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbHVtbldpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVQZXJzcGVjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lV2Via2l0QXNwZWN0UmF0aW8pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6Q2FsY1BhcnNlcjo6Q2FsY1BhcnNlcik6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OkNhbGNQYXJzZXI6OmNvbnN1bWVJbnRlZ2VyKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZU51bWJl
cik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVT
aW5nbGVTaGFkb3cpOiBUaGlzIHBhcnNpbmcgaXMgYSBsaXR0bGUgdHJpY2t5LiBUaGUgYmx1ciBy
YWRpdXMgdmFsdWUgaXMgb3B0aW9uYWwsCisgICAgICAgIGJ1dCB3ZSBuZWVkIHRvIGRpc3Rpbmd1
aXNoIGJldHdlZW4gZmFpbGluZyB0byBwYXJzZSBpdCwgYW5kIGl0cyB2YWx1ZSBiZWluZyBuZWdh
dGl2ZSwgc28gYW4gZXhwbGljaXQgY2hlY2sgZm9yIGNhbGMgaXMgdGhlIGVhc2llc3Qgd2F5Cisg
ICAgICAgIHRvIGhhbmRsZWwgdGhhdC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6Q2FsY1BhcnNlcjo6Y29uc3VtZVBvc2l0aXZlSW50ZWdlclJhdyk6IERlbGV0
ZWQuIEl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OmNvbnN1bWVQb3NpdGl2ZUludGVnZXJSYXcpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmg6CisKIDIwMTktMTItMDEgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIENTU0Nh
bGNQcmltaXRpdmVWYWx1ZSB0byBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlLCBhbmQgQ1NTQ2Fs
Y09wZXJhdGlvbiB0byBDU1NDYWxjT3BlcmF0aW9uTm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4IGIzMDQ4YmY5MjI4NDllNjFiZDUwZjA1ZjNlNDU1
MzVjYWYyMTY0YmQuLmY5OTI4OWRiZmU2OGQzN2RkYzZlNTZiNGQyNmM5M2Q0NjRiMzI5YjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTE4MCwxNiAr
MTgwLDE2IEBAIHN0YXRpYyBTdHJpbmcgcHJldHR5UHJpbnROb2Rlcyhjb25zdCBWZWN0b3I8UmVm
PENTU0NhbGNFeHByZXNzaW9uTm9kZT4+JiBub2RlcykKIGNsYXNzIENTU0NhbGNQcmltaXRpdmVW
YWx1ZU5vZGUgZmluYWwgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU0NhbGNQcmlt
aXRpdmVWYWx1ZU5vZGU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUsIGJv
b2wgaXNJbnRlZ2VyKQorICAgIHN0YXRpYyBSZWY8Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZT4g
Y3JlYXRlKFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGUoV1RGTW92ZSh2YWx1
ZSksIGlzSW50ZWdlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NDYWxjUHJp
bWl0aXZlVmFsdWVOb2RlKFdURk1vdmUodmFsdWUpKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJl
ZlB0cjxDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlPiBjcmVhdGUoZG91YmxlIHZhbHVlLCBDU1NV
bml0VHlwZSB0eXBlLCBib29sIGlzSW50ZWdlcikKKyAgICBzdGF0aWMgUmVmUHRyPENTU0NhbGNQ
cmltaXRpdmVWYWx1ZU5vZGU+IGNyZWF0ZShkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUp
CiAgICAgewogICAgICAgICBpZiAoIXN0ZDo6aXNmaW5pdGUodmFsdWUpKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1p
dGl2ZVZhbHVlTm9kZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLCB0eXBlKSwgaXNJ
bnRlZ2VyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLCB0eXBlKSkpOwogICAgIH0K
IAogcHJpdmF0ZToKQEAgLTIyMSw4ICsyMjEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZHVtcChU
ZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlTm9kZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUsIGJvb2wg
aXNJbnRlZ2VyKQotICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9uTm9kZShjYWxjVW5pdENhdGVn
b3J5KHZhbHVlLT5wcmltaXRpdmVUeXBlKCkpLCBpc0ludGVnZXIpCisgICAgZXhwbGljaXQgQ1NT
Q2FsY1ByaW1pdGl2ZVZhbHVlTm9kZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUpCisg
ICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNhbGNVbml0Q2F0ZWdvcnkodmFsdWUtPnBy
aW1pdGl2ZVR5cGUoKSkpCiAgICAgICAgICwgbV92YWx1ZShXVEZNb3ZlKHZhbHVlKSkKICAgICB7
CiAgICAgfQpAQCAtMzczLDI4ICszNzMsNiBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBy
ZXNvbHZlZFR5cGVGb3JNaW5Pck1heChDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5LAogICAg
IHJldHVybiBDYWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcjsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIGlzSW50ZWdlclJlc3VsdChDYWxjT3BlcmF0b3Igb3AsIGNvbnN0IENTU0NhbGNFeHByZXNz
aW9uTm9kZSYgbGVmdFNpZGUsIGNvbnN0IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgcmlnaHRTaWRl
KQotewotICAgIC8vIFBlcmZvcm1zIFczQyBzcGVjJ3MgdHlwZSBjaGVja2luZyBmb3IgY2FsYyBp
bnRlZ2Vycy4KLSAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy10
eXBlLWNoZWNraW5nCi0gICAgcmV0dXJuIG9wICE9IENhbGNPcGVyYXRvcjo6RGl2aWRlICYmIGxl
ZnRTaWRlLmlzSW50ZWdlcigpICYmIHJpZ2h0U2lkZS5pc0ludGVnZXIoKTsKLX0KLQotc3RhdGlj
IGlubGluZSBib29sIGlzSW50ZWdlclJlc3VsdChDYWxjT3BlcmF0b3Igb3AsIGNvbnN0IFZlY3Rv
cjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mIG5vZGVzKQotewotICAgIC8vIFBlcmZvcm1z
IFczQyBzcGVjJ3MgdHlwZSBjaGVja2luZyBmb3IgY2FsYyBpbnRlZ2Vycy4KLSAgICAvLyBodHRw
Oi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy10eXBlLWNoZWNraW5nCi0gICAgaWYg
KG9wID09IENhbGNPcGVyYXRvcjo6RGl2aWRlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBmb3IgKGF1dG8mIG5vZGUgOiBub2RlcykgewotICAgICAgICBpZiAoIW5vZGUtPmlzSW50ZWdl
cigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVl
OwotfQotCiBzdGF0aWMgYm9vbCBpc1NhbWVQYWlyKENhbGN1bGF0aW9uQ2F0ZWdvcnkgYSwgQ2Fs
Y3VsYXRpb25DYXRlZ29yeSBiLCBDYWxjdWxhdGlvbkNhdGVnb3J5IHgsIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgeSkKIHsKICAgICByZXR1cm4gKGEgPT0geCAmJiBiID09IHkpIHx8IChhID09IHkgJiYg
YiA9PSB4KTsKQEAgLTQwOSw3ICszODcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQ1NT
Q2FsY09wZXJhdGlvbk5vZGUoQ2FsY3VsYXRpb25DYXRlZ29yeSBjYXRlZ29yeSwgQ2FsY09wZXJh
dG9yIG9wLCBSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiYmIGxlZnRTaWRlLCBSZWY8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiYmIHJpZ2h0U2lkZSkKLSAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lv
bk5vZGUoY2F0ZWdvcnksIGlzSW50ZWdlclJlc3VsdChvcCwgbGVmdFNpZGUuZ2V0KCksIHJpZ2h0
U2lkZS5nZXQoKSkpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNhdGVnb3J5KQog
ICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCiAgICAgewogICAgICAgICBtX2NoaWxkcmVuLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkoMik7CkBAIC00MTgsNyArMzk2LDcgQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICBDU1NDYWxjT3BlcmF0aW9uTm9kZShDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5
LCBDYWxjT3BlcmF0b3Igb3AsIFZlY3RvcjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mJiBj
aGlsZHJlbikKLSAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGlzSW50
ZWdlclJlc3VsdChvcCwgY2hpbGRyZW4pKQorICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9uTm9k
ZShjYXRlZ29yeSkKICAgICAgICAgLCBtX29wZXJhdG9yKG9wKQogICAgICAgICAsIG1fY2hpbGRy
ZW4oV1RGTW92ZShjaGlsZHJlbikpCiAgICAgewpAQCAtNTI3LDEyICs1MDUsMTAgQEAgUmVmUHRy
PENTU0NhbGNFeHByZXNzaW9uTm9kZT4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBs
aWZpZWQoQ2FsY09wZXJhdG8KICAgICBBU1NFUlQobGVmdENhdGVnb3J5IDwgQ2FsY3VsYXRpb25D
YXRlZ29yeTo6T3RoZXIpOwogICAgIEFTU0VSVChyaWdodENhdGVnb3J5IDwgQ2FsY3VsYXRpb25D
YXRlZ29yeTo6T3RoZXIpOwogCi0gICAgYm9vbCBpc0ludGVnZXIgPSBpc0ludGVnZXJSZXN1bHQo
b3AsICpsZWZ0U2lkZSwgKnJpZ2h0U2lkZSk7Ci0KICAgICAvLyBTaW1wbGlmeSBudW1iZXJzLgog
ICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyICYmIHJp
Z2h0Q2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyKSB7CiAgICAgICAgIENT
U1VuaXRUeXBlIGV2YWx1YXRpb25UeXBlID0gQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVI7Ci0gICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVhdGVPcGVy
YXRvcihvcCwgeyBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSwgcmlnaHRTaWRlLT5kb3VibGVWYWx1
ZSgpIH0pLCBldmFsdWF0aW9uVHlwZSwgaXNJbnRlZ2VyKTsKKyAgICAgICAgcmV0dXJuIENTU0Nh
bGNQcmltaXRpdmVWYWx1ZU5vZGU6OmNyZWF0ZShldmFsdWF0ZU9wZXJhdG9yKG9wLCB7IGxlZnRT
aWRlLT5kb3VibGVWYWx1ZSgpLCByaWdodFNpZGUtPmRvdWJsZVZhbHVlKCkgfSksIGV2YWx1YXRp
b25UeXBlKTsKICAgICB9CiAKICAgICAvLyBTaW1wbGlmeSBhZGRpdGlvbiBhbmQgc3VidHJhY3Rp
b24gYmV0d2VlbiBzYW1lIHR5cGVzLgpAQCAtNTQyLDE0ICs1MTgsMTQgQEAgUmVmUHRyPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBsaWZpZWQo
Q2FsY09wZXJhdG8KICAgICAgICAgICAgIGlmIChoYXNEb3VibGVWYWx1ZShsZWZ0VHlwZSkpIHsK
ICAgICAgICAgICAgICAgICBDU1NVbml0VHlwZSByaWdodFR5cGUgPSByaWdodFNpZGUtPnByaW1p
dGl2ZVR5cGUoKTsKICAgICAgICAgICAgICAgICBpZiAobGVmdFR5cGUgPT0gcmlnaHRUeXBlKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3Jl
YXRlKGV2YWx1YXRlT3BlcmF0b3Iob3AsIHsgbGVmdFNpZGUtPmRvdWJsZVZhbHVlKCksIHJpZ2h0
U2lkZS0+ZG91YmxlVmFsdWUoKSB9KSwgbGVmdFR5cGUsIGlzSW50ZWdlcik7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVh
dGVPcGVyYXRvcihvcCwgeyBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSwgcmlnaHRTaWRlLT5kb3Vi
bGVWYWx1ZSgpIH0pLCBsZWZ0VHlwZSk7CiAgICAgICAgICAgICAgICAgQ1NTVW5pdENhdGVnb3J5
IGxlZnRVbml0Q2F0ZWdvcnkgPSB1bml0Q2F0ZWdvcnkobGVmdFR5cGUpOwogICAgICAgICAgICAg
ICAgIGlmIChsZWZ0VW5pdENhdGVnb3J5ICE9IENTU1VuaXRDYXRlZ29yeTo6T3RoZXIgJiYgbGVm
dFVuaXRDYXRlZ29yeSA9PSB1bml0Q2F0ZWdvcnkocmlnaHRUeXBlKSkgewotICAgICAgICAgICAg
ICAgICAgICBDU1NVbml0VHlwZSBjYW5vbmljYWxUeXBlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNh
bm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkobGVmdFVuaXRDYXRlZ29yeSk7CisgICAgICAgICAg
ICAgICAgICAgIENTU1VuaXRUeXBlIGNhbm9uaWNhbFR5cGUgPSBjYW5vbmljYWxVbml0VHlwZUZv
ckNhdGVnb3J5KGxlZnRVbml0Q2F0ZWdvcnkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoY2Fu
b25pY2FsVHlwZSAhPSBDU1NVbml0VHlwZTo6Q1NTX1VOS05PV04pIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvdWJsZSBsZWZ0VmFsdWUgPSBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSAqIENT
U1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJzaW9uVG9DYW5vbmljYWxVbml0c1NjYWxlRmFjdG9yKGxl
ZnRUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSByaWdodFZhbHVlID0gcmln
aHRTaWRlLT5kb3VibGVWYWx1ZSgpICogQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnNpb25Ub0Nh
bm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IocmlnaHRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVhdGVPcGVy
YXRvcihvcCwgeyBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUgfSksIGNhbm9uaWNhbFR5cGUsIGlzSW50
ZWdlcik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZTo6Y3JlYXRlKGV2YWx1YXRlT3BlcmF0b3Iob3AsIHsgbGVmdFZhbHVlLCByaWdodFZh
bHVlIH0pLCBjYW5vbmljYWxUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTU3Miw3ICs1NDgsNyBAQCBSZWZQdHI8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBDU1NDYWxjT3BlcmF0aW9uTm9kZTo6Y3JlYXRlU2ltcGxpZmllZChD
YWxjT3BlcmF0bwogCiAgICAgICAgIGF1dG8gb3RoZXJUeXBlID0gb3RoZXJTaWRlLnByaW1pdGl2
ZVR5cGUoKTsKICAgICAgICAgaWYgKGhhc0RvdWJsZVZhbHVlKG90aGVyVHlwZSkpCi0gICAgICAg
ICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKGV2YWx1YXRlT3Bl
cmF0b3Iob3AsIHsgb3RoZXJTaWRlLmRvdWJsZVZhbHVlKCksIG51bWJlciB9KSwgb3RoZXJUeXBl
LCBpc0ludGVnZXIpOworICAgICAgICAgICAgcmV0dXJuIENTU0NhbGNQcmltaXRpdmVWYWx1ZU5v
ZGU6OmNyZWF0ZShldmFsdWF0ZU9wZXJhdG9yKG9wLCB7IG90aGVyU2lkZS5kb3VibGVWYWx1ZSgp
LCBudW1iZXIgfSksIG90aGVyVHlwZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGNyZWF0ZShvcCwg
bGVmdFNpZGUucmVsZWFzZU5vbk51bGwoKSwgcmlnaHRTaWRlLnJlbGVhc2VOb25OdWxsKCkpOwpA
QCAtODI3LDggKzgwMyw3IEBAIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJz
ZVZhbHVlKENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgVmFsdWUqCiAgICAgaWYgKGNhbGNV
bml0Q2F0ZWdvcnkodHlwZSkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAKLSAgICBib29sIGlzSW50ZWdlciA9IHRva2VuLm51bWVyaWNW
YWx1ZVR5cGUoKSA9PSBJbnRlZ2VyVmFsdWVUeXBlIHx8ICh0b2tlbi5udW1lcmljVmFsdWVUeXBl
KCkgPT0gTnVtYmVyVmFsdWVUeXBlICYmIHRva2VuLm51bWVyaWNWYWx1ZSgpID09IHRydW5jKHRv
a2VuLm51bWVyaWNWYWx1ZSgpKSk7Ci0gICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNQcmltaXRp
dmVWYWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHRva2VuLm51bWVy
aWNWYWx1ZSgpLCB0eXBlKSwgaXNJbnRlZ2VyKTsKKyAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodG9r
ZW4ubnVtZXJpY1ZhbHVlKCksIHR5cGUpKTsKICAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTk3MCw3ICs5NDUsNyBAQCBib29sIENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VW
YWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgdG9rZQogc3RhdGljIGlubGluZSBS
ZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbk5vZGU+IGNyZWF0ZUJsZW5kSGFsZihjb25zdCBMZW5ndGgm
IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBmbG9hdCBwcm9ncmVzcykKIHsKICAg
ICByZXR1cm4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZShDYWxjT3BlcmF0b3I6Ok11bHRp
cGx5LCBjcmVhdGVDU1MobGVuZ3RoLCBzdHlsZSksCi0gICAgICAgIENTU0NhbGNQcmltaXRpdmVW
YWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByb2dyZXNzLCBDU1NV
bml0VHlwZTo6Q1NTX05VTUJFUiksICFwcm9ncmVzcyB8fCBwcm9ncmVzcyA9PSAxKSk7CisgICAg
ICAgIENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKHByb2dyZXNzLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUikpKTsKIH0KIAogc3RhdGlj
IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGNyZWF0ZUNTUyhjb25zdCBDYWxjRXhwcmVz
c2lvbk5vZGUmIG5vZGUsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKQEAgLTk3OCw3ICs5NTMs
NyBAQCBzdGF0aWMgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gY3JlYXRlQ1NTKGNvbnN0
IENhbGNFeHByZXNzaW9uTm9kZSYgbm9kZSwgYwogICAgIHN3aXRjaCAobm9kZS50eXBlKCkpIHsK
ICAgICBjYXNlIENhbGNFeHByZXNzaW9uTm9kZVR5cGU6Ok51bWJlcjogewogICAgICAgICBmbG9h
dCB2YWx1ZSA9IGRvd25jYXN0PENhbGNFeHByZXNzaW9uTnVtYmVyPihub2RlKS52YWx1ZSgpOwot
ICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKSwgdmFsdWUg
PT0gc3RkOjp0cnVuYyh2YWx1ZSkpOworICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1VuaXRU
eXBlOjpDU1NfTlVNQkVSKSk7CiAgICAgfQogICAgIGNhc2UgQ2FsY0V4cHJlc3Npb25Ob2RlVHlw
ZTo6TGVuZ3RoOgogICAgICAgICByZXR1cm4gY3JlYXRlQ1NTKGRvd25jYXN0PENhbGNFeHByZXNz
aW9uTGVuZ3RoPihub2RlKS5sZW5ndGgoKSwgc3R5bGUpOwpAQCAtMTAyMCw3ICs5OTUsNyBAQCBz
dGF0aWMgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gY3JlYXRlQ1NTKGNvbnN0IExlbmd0
aCYgbGVuZ3RoLCBjb25zdCBSZW5kZQogICAgIHN3aXRjaCAobGVuZ3RoLnR5cGUoKSkgewogICAg
IGNhc2UgUGVyY2VudDoKICAgICBjYXNlIEZpeGVkOgotICAgICAgICByZXR1cm4gQ1NTQ2FsY1By
aW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobGVuZ3Ro
LCBzdHlsZSksIGxlbmd0aC52YWx1ZSgpID09IHRydW5jKGxlbmd0aC52YWx1ZSgpKSk7CisgICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZShsZW5ndGgsIHN0eWxlKSk7CiAgICAgY2FzZSBDYWxjdWxhdGVkOgogICAg
ICAgICByZXR1cm4gY3JlYXRlQ1NTKGxlbmd0aC5jYWxjdWxhdGlvblZhbHVlKCkuZXhwcmVzc2lv
bigpLCBzdHlsZSk7CiAgICAgY2FzZSBBdXRvOgpAQCAtMTA2NSw2ICsxMDQwLDIwIEBAIGRvdWJs
ZSBDU1NDYWxjVmFsdWU6OmNvbXB1dGVMZW5ndGhQeChjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhJiBjb252ZXJzaW9uCiAgICAgcmV0dXJuIGNsYW1wVG9QZXJtaXR0ZWRSYW5nZShtX2V4
cHJlc3Npb24tPmNvbXB1dGVMZW5ndGhQeChjb252ZXJzaW9uRGF0YSkpOwogfQogCitib29sIENT
U0NhbGNWYWx1ZTo6aXNDYWxjRnVuY3Rpb24oQ1NTVmFsdWVJRCBmdW5jdGlvbklkKQoreworICAg
IHN3aXRjaCAoZnVuY3Rpb25JZCkgeworICAgIGNhc2UgQ1NTVmFsdWVDYWxjOgorICAgIGNhc2Ug
Q1NTVmFsdWVXZWJraXRDYWxjOgorICAgIGNhc2UgQ1NTVmFsdWVNaW46CisgICAgY2FzZSBDU1NW
YWx1ZU1heDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgQ1NTQ2FsY1Zh
bHVlOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAogewogICAgIHRzIDw8IGluZGVudCA8PCAi
KCIgPDwgIkNTU0NhbGNWYWx1ZSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuaAppbmRleCA1Mjg3YmQ4ZDcyNjNlZjUyMzg2ZmY0OWEwZDI3YThlNjVlNGEyNTUxLi43ZDA5
ZjdlMWNmY2QyOGE2YzNhNzk2NDgzMmQ1ZWQ2MTdmNTJjNjk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgZG91Ymxl
IGNvbXB1dGVMZW5ndGhQeChjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJikgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdCA9IDA7Ci0gICAg
dmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIG90aGVyKSBj
b25zdCB7IHJldHVybiBtX2NhdGVnb3J5ID09IG90aGVyLm1fY2F0ZWdvcnkgJiYgbV9pc0ludGVn
ZXIgPT0gb3RoZXIubV9pc0ludGVnZXI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0
IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fY2F0ZWdvcnkg
PT0gb3RoZXIubV9jYXRlZ29yeTsgfQogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgQ1NTVW5pdFR5cGUgcHJpbWl0aXZlVHlwZSgpIGNvbnN0ID0gMDsKIApA
QCAtNzgsMjAgKzc4LDE3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdERpcmVj
dFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mKSBj
b25zdCA9IDA7CiAKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyBy
ZXR1cm4gbV9jYXRlZ29yeTsgfQotICAgIGJvb2wgaXNJbnRlZ2VyKCkgY29uc3QgeyByZXR1cm4g
bV9pc0ludGVnZXI7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25z
dCA9IDA7CiAKIHByb3RlY3RlZDoKLSAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2FsY3VsYXRp
b25DYXRlZ29yeSBjYXRlZ29yeSwgYm9vbCBpc0ludGVnZXIpCisgICAgQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlKENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkpCiAgICAgICAgIDogbV9jYXRlZ29y
eShjYXRlZ29yeSkKLSAgICAgICAgLCBtX2lzSW50ZWdlcihpc0ludGVnZXIpCiAgICAgewogICAg
IH0KIAogcHJpdmF0ZToKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IG1fY2F0ZWdvcnk7Ci0gICAg
Ym9vbCBtX2lzSW50ZWdlcjsKIH07CiAKIGNsYXNzIENTU0NhbGNWYWx1ZSBmaW5hbCA6IHB1Ymxp
YyBDU1NWYWx1ZSB7CkBAIC0xMDEsMTAgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQ
dHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGUoY29uc3QgQ2FsY3VsYXRpb25WYWx1ZSYsIGNvbnN0IFJl
bmRlclN0eWxlJik7CiAKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3Qg
eyByZXR1cm4gbV9leHByZXNzaW9uLT5jYXRlZ29yeSgpOyB9Ci0gICAgYm9vbCBpc0ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aXNJbnRlZ2VyKCk7IH0KICAgICBkb3VibGUgZG91
YmxlVmFsdWUoKSBjb25zdDsKLSAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdCB7IHJldHVybiBt
X2V4cHJlc3Npb24tPmRvdWJsZVZhbHVlKCkgPiAwOyB9Ci0gICAgYm9vbCBpc05lZ2F0aXZlKCkg
Y29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5kb3VibGVWYWx1ZSgpIDwgMDsgfQogICAgIGRv
dWJsZSBjb21wdXRlTGVuZ3RoUHgoY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYpIGNv
bnN0OwogICAgIENTU1VuaXRUeXBlIHByaW1pdGl2ZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX2V4
cHJlc3Npb24tPnByaW1pdGl2ZVR5cGUoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDczNTk2ZWU5ZmY3MGFlMmU1
Zjk4ZDRmYTgwY2FmYWEzZDhmMDliMzcuLjFjNGUzNmYxNDk2YjgxYmNmZjI0ZjVhNGM0YTI3YWQ5
YThjMTE5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgaW5saW5lIHN0YXRpYyBSZWY8Q1NT
UHJpbWl0aXZlVmFsdWU+IHpvb21BZGp1c3RlZE51bWJlclZhbHVlKGRvdWJsZSB2YWx1ZSwgY29u
c3QKICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVWYWx1ZSh2YWx1
ZSAvIHN0eWxlLmVmZmVjdGl2ZVpvb20oKSwgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVIpOwogfQog
Ci1zdGF0aWMgUmVmPENTU1ZhbHVlPiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKGNv
bnN0IExlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCitzdGF0aWMgUmVm
PENTU1ByaW1pdGl2ZVZhbHVlPiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKGNvbnN0
IExlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7CiAgICAgaWYgKGxl
bmd0aC5pc0ZpeGVkKCkpCiAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKGxl
bmd0aC52YWx1ZSgpLCBzdHlsZSk7CkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gcGVyY2VudGFnZU9yWm9vbUFkanVzdGVkVmFsdWUoTGVuZ3RoIGxlbmd0
aCwgY29uc3QKICAgICBpZiAobGVuZ3RoLmlzUGVyY2VudCgpKQogICAgICAgICByZXR1cm4gQ1NT
VmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVWYWx1ZShsZW5ndGgucGVyY2VudCgpLCBDU1NV
bml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgIAotICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlKHZhbHVlRm9yTGVuZ3RoKGxlbmd0aCwgMCksIHN0eWxlKTsKKyAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxlbmd0aChsZW5ndGgsIHN0eWxlKTsKIH0KIAogc3Rh
dGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gYXV0b09yWm9vbUFkanVzdGVkVmFsdWUoTGVuZ3Ro
IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpAQCAtNDYyLDcgKzQ2Miw3IEBAIHN0
YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IGF1dG9Pclpvb21BZGp1c3RlZFZhbHVlKExlbmd0
aCBsZW5ndGgsIGNvbnN0IFJlbmRlCiAgICAgaWYgKGxlbmd0aC5pc0F1dG8oKSkKICAgICAgICAg
cmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlQXV0byk7CiAKLSAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh2YWx1ZUZv
ckxlbmd0aChsZW5ndGgsIDApLCBzdHlsZSk7CisgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVs
VmFsdWVGb3JMZW5ndGgobGVuZ3RoLCBzdHlsZSk7CiB9CiAKIHN0YXRpYyBSZWY8Q1NTVmFsdWVM
aXN0PiBib3JkZXJSYWRpdXNDb3JuZXJWYWx1ZXMoY29uc3QgTGVuZ3RoU2l6ZSYgcmFkaXVzLCBj
b25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmNwcAppbmRleCA3Y2FjYmIzMTFhOGU5NmRkOWRkZDhmMGExNWFkYjMxZDEwMzQ2MzFhLi5i
MzI4YjcwYTUxMTI5YzgzM2MxNzg1N2JjMGYyZjAzYjk5ZGM0OTNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTcxNCw2ICs3MTQsOSBAQCBkb3VibGUgQ1NT
UHJpbWl0aXZlVmFsdWU6OmNvbnZlcnNpb25Ub0Nhbm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IoQ1NT
VW5pdFR5cGUgdW5pdAogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19NTToKICAgICAgICAgZmFj
dG9yID0gY3NzUGl4ZWxzUGVySW5jaCAvIG1tUGVySW5jaDsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1Blcklu
Y2ggLyBRUGVySW5jaDsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lOOgogICAgICAgICBmYWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoOwogICAgICAgICBicmVhazsK
QEAgLTc2NCwzMSArNzY3LDI1IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6ZG91YmxlVmFs
dWUoKSBjb25zdAogICAgIHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpICE9IENTU1VuaXRUeXBl
OjpDU1NfQ0FMQyA/IG1fdmFsdWUubnVtIDogbV92YWx1ZS5jYWxjLT5kb3VibGVWYWx1ZSgpOwog
fQogCi1DU1NVbml0VHlwZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y2Fub25pY2FsVW5pdFR5cGVGb3JD
YXRlZ29yeShDU1NVbml0Q2F0ZWdvcnkgY2F0ZWdvcnkpCitPcHRpb25hbDxib29sPiBDU1NQcmlt
aXRpdmVWYWx1ZTo6aXNaZXJvKCkgY29uc3QKIHsKLSAgICAvLyBUaGUgY2Fub25pY2FsIHVuaXQg
dHlwZSBpcyBjaG9zZW4gYWNjb3JkaW5nIHRvIHRoZSB3YXkgQ1NTUGFyc2VyOjp2YWxpZFVuaXQo
KSBjaG9vc2VzIHRoZSBkZWZhdWx0IHVuaXQKLSAgICAvLyBpbiBlYWNoIGNhdGVnb3J5IChiYXNl
ZCBvbiB1bml0ZmxhZ3MpLgotICAgIC8vIENhbm9uaWNhbCB1bml0cyBhcmUgc3BlY2lmaWVkIGlu
IDxodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00Pi4KLSAgICBzd2l0Y2ggKGNh
dGVnb3J5KSB7Ci0gICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6Ok51bWJlcjoKLSAgICAgICAgcmV0
dXJuIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpM
ZW5ndGg6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX1BYOwotICAgIGNhc2UgQ1NT
VW5pdENhdGVnb3J5OjpQZXJjZW50OgotICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19V
TktOT1dOOyAvLyBDYW5ub3QgY29udmVydCBiZXR3ZWVuIG51bWJlcnMgYW5kIHBlcmNlbnQuCi0g
ICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX01TOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpBbmdsZToKLSAgICAgICAgcmV0
dXJuIENTU1VuaXRUeXBlOjpDU1NfREVHOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpGcmVx
dWVuY3k6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX0haOwotI2lmIEVOQUJMRShD
U1NfSU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJFU09MVVRJT05fTUVESUFfUVVFUlkpCi0g
ICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlJlc29sdXRpb246Ci0gICAgICAgIHJldHVybiBDU1NV
bml0VHlwZTo6Q1NTX0RQUFg7Ci0jZW5kaWYKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4g
Q1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOwotICAgIH0KKyAgICBpZiAocHJpbWl0aXZlVW5pdFR5
cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0NBTEMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisgICAgcmV0dXJuICFtX3ZhbHVlLm51bTsKK30KKworT3B0aW9uYWw8Ym9vbD4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzUG9zaXRpdmUoKSBjb25zdAoreworICAgIGlmIChwcmltaXRpdmVVbml0
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKyAgICByZXR1cm4gbV92YWx1ZS5udW0gPiAwOworfQorCitPcHRpb25hbDxib29sPiBD
U1NQcmltaXRpdmVWYWx1ZTo6aXNOZWdhdGl2ZSgpIGNvbnN0Cit7CisgICAgaWYgKHByaW1pdGl2
ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19DQUxDKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgIHJldHVybiBtX3ZhbHVlLm51bSA8IDA7CiB9CiAKIE9wdGlvbmFsPGRv
dWJsZT4gQ1NTUHJpbWl0aXZlVmFsdWU6OmRvdWJsZVZhbHVlSW50ZXJuYWwoQ1NTVW5pdFR5cGUg
cmVxdWVzdGVkVW5pdFR5cGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZS5oCmluZGV4IDY4Y2JiMThmMmIxY2I3N2RhYTBjMDM0ZjE2MzJjZDg3MGM1YTk0ZGUuLjIyNDFi
NzA5N2M0NDllZmQwMDc0YTg2MGUwMTgyMjdmNDljNmRmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5oCkBAIC04MSw3ICs4MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBpc1Jlc29sdXRpb24oQ1NTVW5pdFR5cGUpOwogICAgIHN0YXRpYyBib29sIGlzVmlld3Bv
cnRQZXJjZW50YWdlTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpIHsgcmV0dXJuIHR5cGUgPj0gQ1NT
VW5pdFR5cGU6OkNTU19WVyAmJiB0eXBlIDw9IENTU1VuaXRUeXBlOjpDU1NfVk1BWDsgfQogCi0g
ICAgYm9vbCBpc0FuZ2xlKCkgY29uc3Q7CisgICAgLy8gRklYTUU6IFNvbWUgb2YgdGhlc2UgdXNl
IHByaW1pdGl2ZVVuaXRUeXBlKCkgYW5kIHNvbWUgdXNlIHByaW1pdGl2ZVR5cGUoKS4gVGhvc2Ug
dGhhdCB1c2UgcHJpbWl0aXZlVW5pdFR5cGUoKSBhcmUgYnJva2VuIHdpdGggY2FsYygpLgorICAg
IGJvb2wgaXNBbmdsZSgpIGNvbnN0IHsgcmV0dXJuIHVuaXRDYXRlZ29yeShwcmltaXRpdmVUeXBl
KCkpID09IENTU1VuaXRDYXRlZ29yeTo6QW5nbGU7IH0KICAgICBib29sIGlzQXR0cigpIGNvbnN0
IHsgcmV0dXJuIHByaW1pdGl2ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19BVFRSOyB9
CiAgICAgYm9vbCBpc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgp
ID09IENTU1VuaXRUeXBlOjpDU1NfQ09VTlRFUjsgfQogICAgIGJvb2wgaXNGb250SW5kZXBlbmRl
bnRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpID49IENTU1VuaXRU
eXBlOjpDU1NfUFggJiYgcHJpbWl0aXZlVW5pdFR5cGUoKSA8PSBDU1NVbml0VHlwZTo6Q1NTX1BD
OyB9CkBAIC05OCw3ICs5OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2hhcGUoKSBjb25zdCB7
IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfU0hBUEU7IH0K
ICAgICBib29sIGlzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9
PSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzsgfQogICAgIGJvb2wgaXNGb250RmFtaWx5KCkgY29u
c3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0ZPTlRf
RkFNSUxZOyB9Ci0gICAgYm9vbCBpc1RpbWUoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfUyB8fCBwcmltaXRpdmVVbml0VHlwZSgpID09IENT
U1VuaXRUeXBlOjpDU1NfTVM7IH0KKyAgICBib29sIGlzVGltZSgpIGNvbnN0IHsgcmV0dXJuIHVu
aXRDYXRlZ29yeShwcmltaXRpdmVVbml0VHlwZSgpKSA9PSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU7
IH0KKyAgICBib29sIGlzRnJlcXVlbmN5KCkgY29uc3QgeyByZXR1cm4gdW5pdENhdGVnb3J5KHBy
aW1pdGl2ZVR5cGUoKSkgPT0gQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k7IH0KICAgICBib29s
IGlzVVJJKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1VSSTsgfQogICAgIGJvb2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1cm4gcHJp
bWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0NBTEM7IH0KICAgICBib29sIGlz
Q2FsY3VsYXRlZFBlcmNlbnRhZ2VXaXRoTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZl
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX1dJVEhfTlVNQkVSOyB9
CkBAIC0xMDYsNyArMTA4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNEb3RzUGVySW5jaCgpIGNv
bnN0IHsgcmV0dXJuIHByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0RQSTsgfQog
ICAgIGJvb2wgaXNEb3RzUGVyUGl4ZWwoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVUeXBlKCkg
PT0gQ1NTVW5pdFR5cGU6OkNTU19EUFBYOyB9CiAgICAgYm9vbCBpc0RvdHNQZXJDZW50aW1ldGVy
KCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfRFBD
TTsgfQotICAgIGJvb2wgaXNSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNSZXNvbHV0aW9u
KHByaW1pdGl2ZVR5cGUoKSk7IH0KKyAgICBib29sIGlzUmVzb2x1dGlvbigpIGNvbnN0IHsgcmV0
dXJuIHVuaXRDYXRlZ29yeShwcmltaXRpdmVUeXBlKCkpID09IENTU1VuaXRDYXRlZ29yeTo6UmVz
b2x1dGlvbjsgfQogICAgIGJvb2wgaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSBjb25zdCB7
IHJldHVybiBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aChwcmltaXRpdmVVbml0VHlwZSgpKTsg
fQogICAgIGJvb2wgaXNWaWV3cG9ydFBlcmNlbnRhZ2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHBy
aW1pdGl2ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19WVzsgfQogICAgIGJvb2wgaXNW
aWV3cG9ydFBlcmNlbnRhZ2VIZWlnaHQoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlw
ZSgpID09IENTU1VuaXRUeXBlOjpDU1NfVkg7IH0KQEAgLTE1NSw4ICsxNTcsMTQgQEAgcHVibGlj
OgogICAgIGJvb2wgY29udmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUoaW50IGxl
bmd0aENvbnZlcnNpb24pIGNvbnN0OwogCiAgICAgZG91YmxlIGRvdWJsZVZhbHVlKENTU1VuaXRU
eXBlKSBjb25zdDsKKyAgICAvLyBJdCdzIHVzdWFsbHkgd3JvbmcgdG8gY2FsbCB0aGlzOyBpdCBj
YW4gdHJpZ2dlciB0eXBlIGNvbnZlcnNpb24gaW4gY2FsYyB3aXRob3V0IHN1ZmZpY2llbnQgY29u
dGV4dCB0byByZXNvbHZlIHJlbGF0aXZlIGxlbmd0aCB1bml0cy4KICAgICBkb3VibGUgZG91Ymxl
VmFsdWUoKSBjb25zdDsKIAorICAgIC8vIFRoZXNlIHJldHVybiBudWxsb3B0IGZvciBjYWxjLCBm
b3Igd2hpY2ggcmFuZ2UgY2hlY2tpbmcgaXMgbm90IGRvbmUgYXQgcGFyc2UgdGltZTogPGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy1yYW5nZT4uCisgICAgT3B0aW9uYWw8
Ym9vbD4gaXNaZXJvKCkgY29uc3Q7CisgICAgT3B0aW9uYWw8Ym9vbD4gaXNQb3NpdGl2ZSgpIGNv
bnN0OworICAgIE9wdGlvbmFsPGJvb2w+IGlzTmVnYXRpdmUoKSBjb25zdDsKKwogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIHZhbHVlKENTU1VuaXRUeXBlIHR5cGUpIGNvbnN0IHsg
cmV0dXJuIGNsYW1wVG88VD4oZG91YmxlVmFsdWUodHlwZSkpOyB9CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIFQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBjbGFtcFRvPFQ+KGRvdWJs
ZVZhbHVlKCkpOyB9CiAKQEAgLTE4OCw3ICsxOTYsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGVx
dWFscyhjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYpIGNvbnN0OwogCi0gICAgc3RhdGljIENTU1Vu
aXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkoQ1NTVW5pdENhdGVnb3J5KTsKICAg
ICBzdGF0aWMgZG91YmxlIGNvbnZlcnNpb25Ub0Nhbm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IoQ1NT
VW5pdFR5cGUpOwogCiAgICAgc3RhdGljIGRvdWJsZSBjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJs
ZShjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTVW5pdFR5cGUsIGRvdWJsZSB2
YWx1ZSk7CkBAIC0yNTYsMTUgKzI2Myw2IEBAIHByaXZhdGU6CiAgICAgfSBtX3ZhbHVlOwogfTsK
IAotaW5saW5lIGJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzQW5nbGUoKSBjb25zdAotewotICAg
IGF1dG8gcHJpbWl0aXZlVHlwZSA9IHRoaXMtPnByaW1pdGl2ZVR5cGUoKTsKLSAgICByZXR1cm4g
cHJpbWl0aXZlVHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0RFRwotICAgICAgICB8fCBwcmltaXRp
dmVUeXBlID09IENTU1VuaXRUeXBlOjpDU1NfUkFECi0gICAgICAgIHx8IHByaW1pdGl2ZVR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19HUkFECi0gICAgICAgIHx8IHByaW1pdGl2ZVR5cGUgPT0gQ1NT
VW5pdFR5cGU6OkNTU19UVVJOOwotfQotCiBpbmxpbmUgYm9vbCBDU1NQcmltaXRpdmVWYWx1ZTo6
aXNGb250UmVsYXRpdmVMZW5ndGgoQ1NTVW5pdFR5cGUgdHlwZSkKIHsKICAgICByZXR1cm4gdHlw
ZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VNUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKaW5kZXggODkw
YjMzZjVlMzFlMzQ1ZGQzZWNjNmRmZWMyNzMzZGE3NGJmY2VlYi4uNGI3NDc0ZGI2MWRiMTg0MmRm
ZTk4Nzg1NWUxNzYwNDdhMTM2MjIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCkBAIC00OSwx
NSArNDksNDIgQEAgQ1NTVW5pdENhdGVnb3J5IHVuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19IWjoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfS0haOgogICAgICAgICByZXR1cm4gQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k7Ci0jaWYg
RU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKSB8fCBFTkFCTEUoUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBQWDoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfRFBJOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOgogICAgICAgICBy
ZXR1cm4gQ1NTVW5pdENhdGVnb3J5OjpSZXNvbHV0aW9uOwotI2VuZGlmCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgcmV0dXJuIENTU1VuaXRDYXRlZ29yeTo6T3RoZXI7CiAgICAgfQogfQogCitDU1NV
bml0VHlwZSBjYW5vbmljYWxVbml0VHlwZUZvckNhdGVnb3J5KENTU1VuaXRDYXRlZ29yeSBjYXRl
Z29yeSkKK3sKKyAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CisgICAgY2FzZSBDU1NVbml0Q2F0ZWdv
cnk6Ok51bWJlcjoKKyAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSOworICAg
IGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpMZW5ndGg6CisgICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX1BYOworICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpQZXJjZW50OgorICAgICAgICBy
ZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOyAvLyBDYW5ub3QgY29udmVydCBiZXR3ZWVu
IG51bWJlcnMgYW5kIHBlcmNlbnQuCisgICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU6Cisg
ICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX01TOworICAgIGNhc2UgQ1NTVW5pdENhdGVn
b3J5OjpBbmdsZToKKyAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfREVHOworICAgIGNh
c2UgQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k6CisgICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX0haOworI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJF
U09MVVRJT05fTUVESUFfUVVFUlkpCisgICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlJlc29sdXRp
b246CisgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX0RQUFg7CisjZW5kaWYKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOworICAgIH0K
K30KKworQ1NTVW5pdFR5cGUgY2Fub25pY2FsVW5pdFR5cGUoQ1NTVW5pdFR5cGUgdW5pdFR5cGUp
Cit7CisgICAgcmV0dXJuIGNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkodW5pdENhdGVnb3J5
KHVuaXRUeXBlKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRz
LmgKaW5kZXggYTUxOGJjYTdmOWMxZTcxNGY1NWQ4ZTQ4YWVhMGU1MmQzOGVlMmE3Mi4uOWE5M2Jh
YjhjOGZlNmY0NzRiMzA1NzAxNmNiYjVmMDQ5MTRhMTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
QEAgLTk4LDEzICs5OCwxMyBAQCBlbnVtIGNsYXNzIENTU1VuaXRDYXRlZ29yeSA6IHVpbnQ4X3Qg
ewogICAgIEFuZ2xlLAogICAgIFRpbWUsCiAgICAgRnJlcXVlbmN5LAotI2lmIEVOQUJMRShDU1Nf
SU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJFU09MVVRJT05fTUVESUFfUVVFUlkpCiAgICAg
UmVzb2x1dGlvbiwKLSNlbmRpZgogICAgIE90aGVyCiB9OwogCiBDU1NVbml0Q2F0ZWdvcnkgdW5p
dENhdGVnb3J5KENTU1VuaXRUeXBlKTsKK0NTU1VuaXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBlRm9y
Q2F0ZWdvcnkoQ1NTVW5pdENhdGVnb3J5KTsKK0NTU1VuaXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBl
KENTU1VuaXRUeXBlKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGU3YTJiNDRmZjA2
NmQ5MWY5NjFjOTE1ZTFmOTAxNWNkMzI5YzZlYzIuLmViZDBlYWY1ZjY3NjdkZmMyZDk0NmU0ZThj
MWEwMzdhOWM3MzgxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC0xMzgwLDggKzEzODAsOSBAQCBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ29sdW1uV2lkdGgoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAg
Ly8gQWx3YXlzIHBhcnNlIGxlbmd0aHMgaW4gc3RyaWN0IG1vZGUgaGVyZSwgc2luY2UgaXQgd291
bGQgYmUgYW1iaWd1b3VzIG90aGVyd2lzZSB3aGVuIHVzZWQgaW4KICAgICAvLyB0aGUgJ2NvbHVt
bnMnIHNob3J0aGFuZCBwcm9wZXJ0eS4KICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNv
bHVtbldpZHRoID0gY29uc3VtZUxlbmd0aChyYW5nZSwgSFRNTFN0YW5kYXJkTW9kZSwgVmFsdWVS
YW5nZU5vbk5lZ2F0aXZlKTsKLSAgICBpZiAoIWNvbHVtbldpZHRoIHx8ICghY29sdW1uV2lkdGgt
PmlzQ2FsY3VsYXRlZCgpICYmICFjb2x1bW5XaWR0aC0+ZG91YmxlVmFsdWUoKSkgfHwgKGNvbHVt
bldpZHRoLT5jc3NDYWxjVmFsdWUoKSAmJiAhY29sdW1uV2lkdGgtPmNzc0NhbGNWYWx1ZSgpLT5k
b3VibGVWYWx1ZSgpKSkKKyAgICBpZiAoIWNvbHVtbldpZHRoIHx8IGNvbHVtbldpZHRoLT5pc1pl
cm8oKS52YWx1ZU9yKGZhbHNlKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICByZXR1
cm4gY29sdW1uV2lkdGg7CiB9CiAKQEAgLTIyODAsOCArMjI4MSwxMyBAQCBzdGF0aWMgUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lUGVyc3BlY3RpdmUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UsCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgcGFyc2VkVmFs
dWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHBlcnNwZWN0aXZlLCBDU1NVbml0VHlwZTo6
Q1NTX1BYKTsKICAgICB9Ci0gICAgaWYgKHBhcnNlZFZhbHVlICYmIChwYXJzZWRWYWx1ZS0+aXND
YWxjdWxhdGVkKCkgfHwgcGFyc2VkVmFsdWUtPmRvdWJsZVZhbHVlKCkgPiAwKSkKKworICAgIGlm
ICghcGFyc2VkVmFsdWUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKHBhcnNl
ZFZhbHVlLT5pc1Bvc2l0aXZlKCkudmFsdWVPcih0cnVlKSkKICAgICAgICAgcmV0dXJuIHBhcnNl
ZFZhbHVlOworCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTM2ODcsMTIgKzM2OTMsMTMg
QEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZVdlYmtpdEFzcGVjdFJhdGlvKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgICAgICByZXR1cm4gY29uc3VtZUlkZW50PENTU1Zh
bHVlQXV0bywgQ1NTVmFsdWVGcm9tRGltZW5zaW9ucywgQ1NTVmFsdWVGcm9tSW50cmluc2ljPihy
YW5nZSk7CiAgICAgCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBsZWZ0VmFsdWUgPSBj
b25zdW1lTnVtYmVyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOwotICAgIGlmICghbGVm
dFZhbHVlIHx8ICFsZWZ0VmFsdWUtPmZsb2F0VmFsdWUoKSB8fCByYW5nZS5hdEVuZCgpIHx8ICFj
b25zdW1lU2xhc2hJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSkKKyAgICBpZiAoIWxlZnRWYWx1
ZSB8fCBsZWZ0VmFsdWUtPmlzWmVybygpLnZhbHVlT3IoZmFsc2UpIHx8IHJhbmdlLmF0RW5kKCkg
fHwgIWNvbnN1bWVTbGFzaEluY2x1ZGluZ1doaXRlc3BhY2UocmFuZ2UpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKwogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcmlnaHRWYWx1ZSA9
IGNvbnN1bWVOdW1iZXIocmFuZ2UsIFZhbHVlUmFuZ2VOb25OZWdhdGl2ZSk7Ci0gICAgaWYgKCFy
aWdodFZhbHVlIHx8ICFyaWdodFZhbHVlLT5mbG9hdFZhbHVlKCkpCisgICAgaWYgKCFyaWdodFZh
bHVlIHx8IHJpZ2h0VmFsdWUtPmlzWmVybygpLnZhbHVlT3IoZmFsc2UpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICAKKwogICAgIHJldHVybiBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjcmVh
dGUobGVmdFZhbHVlLT5mbG9hdFZhbHVlKCksIHJpZ2h0VmFsdWUtPmZsb2F0VmFsdWUoKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmNwcAppbmRleCAyMWEyYjMwNWNiZWZkOGM1N2E2ZmRiNzY4MzllYjVmMTMyNjEy
NTYzLi4xZTA5MjJiMzA5NWU5YWY3ZTEyYmI0NWMxZGM5MTA3NmU2MjRjNWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMu
Y3BwCkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGNvbnN0IENTU1Bh
cnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKICAgICAgICAgYXV0byBmdW5jdGlvbklk
ID0gdG9rZW4uZnVuY3Rpb25JZCgpOwotICAgICAgICBpZiAoZnVuY3Rpb25JZCA9PSBDU1NWYWx1
ZUNhbGMgfHwgZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZVdlYmtpdENhbGMgfHwgZnVuY3Rpb25JZCA9
PSBDU1NWYWx1ZU1pbiB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWF4KQorICAgICAgICBpZiAo
Q1NTQ2FsY1ZhbHVlOjppc0NhbGNGdW5jdGlvbihmdW5jdGlvbklkKSkKICAgICAgICAgICAgIG1f
Y2FsY1ZhbHVlID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoZnVuY3Rpb25JZCwgY29uc3VtZUZ1bmN0
aW9uKG1fcmFuZ2UpLCBkZXN0aW5hdGlvbkNhdGVnb3J5LCB2YWx1ZVJhbmdlKTsKICAgICB9CiAK
QEAgLTEwNSw3ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghbV9jYWxjVmFsdWUpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgbV9zb3VyY2VSYW5nZSA9IG1fcmFu
Z2U7Ci0KICAgICAgICAgZG91YmxlIHZhbHVlID0gc3RkOjptYXgobV9jYWxjVmFsdWUtPmRvdWJs
ZVZhbHVlKCksIG1pbmltdW1WYWx1ZSk7CiAgICAgICAgIHZhbHVlID0gc3RkOjpyb3VuZCh2YWx1
ZSk7CiAgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZVZhbHVl
KHZhbHVlLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUik7CkBAIC0xMjgsMTcgKzEyNyw2IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIAotICAgIGJvb2wgY29uc3Vt
ZVBvc2l0aXZlSW50ZWdlclJhdyhpbnQmIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9j
YWxjVmFsdWUgfHwgbV9jYWxjVmFsdWUtPmNhdGVnb3J5KCkgIT0gQ2FsY3VsYXRpb25DYXRlZ29y
eTo6TnVtYmVyIHx8ICFtX2NhbGNWYWx1ZS0+aXNJbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8aW50PihtX2NhbGNWYWx1ZS0+ZG91
YmxlVmFsdWUoKSk7Ci0gICAgICAgIGlmIChyZXN1bHQgPCAxKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICBtX3NvdXJjZVJhbmdlID0gbV9yYW5nZTsKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotCiBwcml2YXRlOgogICAgIENTU1BhcnNlclRva2VuUmFuZ2UmIG1fc291
cmNlUmFuZ2U7CiAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSBtX3JhbmdlOwpAQCAtMTcyLDIzICsx
NjAsNiBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVQb3NpdGl2ZUludGVnZXIo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJh
bmdlLCAxKTsKIH0KIAotYm9vbCBjb25zdW1lUG9zaXRpdmVJbnRlZ2VyUmF3KENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBpbnQmIHJlc3VsdCkKLXsKLSAgICBjb25zdCBDU1NQYXJzZXJUb2tl
biYgdG9rZW4gPSByYW5nZS5wZWVrKCk7Ci0gICAgaWYgKHRva2VuLnR5cGUoKSA9PSBOdW1iZXJU
b2tlbikgewotICAgICAgICBpZiAodG9rZW4ubnVtZXJpY1ZhbHVlVHlwZSgpID09IE51bWJlclZh
bHVlVHlwZSB8fCB0b2tlbi5udW1lcmljVmFsdWUoKSA8IDEpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNl
KCkubnVtZXJpY1ZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIGlm
ICh0b2tlbi50eXBlKCkgIT0gRnVuY3Rpb25Ub2tlbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpO
dW1iZXIpOwotICAgIHJldHVybiBjYWxjUGFyc2VyLmNvbnN1bWVQb3NpdGl2ZUludGVnZXJSYXco
cmVzdWx0KTsKLX0KLSAgICAKIGJvb2wgY29uc3VtZU51bWJlclJhdyhDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSwgZG91YmxlJiByZXN1bHQpCiB7CiAgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4m
IHRva2VuID0gcmFuZ2UucGVlaygpOwpAQCAtMjE3LDEzICsxODgsMTEgQEAgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBjb25zdW1lTnVtYmVyKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBW
YWx1ZVJhbmdlIHYKICAgICBpZiAodG9rZW4udHlwZSgpICE9IEZ1bmN0aW9uVG9rZW4pCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBD
YWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIsIFZhbHVlUmFuZ2VBbGwpOwotICAgIGlmIChjb25z
dCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9uID0gY2FsY1BhcnNlci52YWx1ZSgpKSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBDYWxjcyBzaG91bGQgbm90IGJlIHN1YmplY3QgdG8gcGFyc2UgdGltZSBy
YW5nZSBjaGVja3MuCi0gICAgICAgIC8vIHNwZWM6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtdmFsdWVzLTMvI2NhbGMtcmFuZ2UKLSAgICAgICAgaWYgKGNhbGN1bGF0aW9uLT5jYXRlZ29y
eSgpICE9IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlciB8fCAodmFsdWVSYW5nZSA9PSBWYWx1
ZVJhbmdlTm9uTmVnYXRpdmUgJiYgY2FsY3VsYXRpb24tPmlzTmVnYXRpdmUoKSkpCisgICAgQ2Fs
Y1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIsIHZh
bHVlUmFuZ2UpOworICAgIGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGNWYWx1ZSA9IGNhbGNQ
YXJzZXIudmFsdWUoKSkgeworICAgICAgICBpZiAoY2FsY1ZhbHVlLT5jYXRlZ29yeSgpICE9IENh
bGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlcikKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lTnVtYmVyKCk7CisgICAgICAgIHJldHVy
biBjYWxjUGFyc2VyLmNvbnN1bWVWYWx1ZSgpOwogICAgIH0KIAogICAgIHJldHVybiBudWxscHRy
OwpAQCAtMTcwOCwxNiArMTY3NywyMCBAQCBSZWZQdHI8Q1NTU2hhZG93VmFsdWU+IGNvbnN1bWVT
aW5nbGVTaGFkb3coQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlcgogICAgIGlm
ICghdmVydGljYWxPZmZzZXQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBi
bHVyUmFkaXVzID0gY29uc3VtZUxlbmd0aChyYW5nZSwgY3NzUGFyc2VyTW9kZSwgVmFsdWVSYW5n
ZUFsbCk7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBibHVyUmFkaXVzOwogICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc3ByZWFkRGlzdGFuY2U7Ci0gICAgaWYgKGJsdXJSYWRp
dXMpIHsKLSAgICAgICAgLy8gQmx1ciByYWRpdXMgbXVzdCBiZSBub24tbmVnYXRpdmUuCi0gICAg
ICAgIGlmIChibHVyUmFkaXVzLT5kb3VibGVWYWx1ZSgpIDwgMCkKKworICAgIGNvbnN0IENTU1Bh
cnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKKyAgICAvLyBUaGUgZXhwbGljaXQgY2hl
Y2sgZm9yIGNhbGMoKSBpcyB1bmZvcnR1bmF0ZS4gVGhpcyBpcyBlbnN1cmluZyB0aGF0IHdlIG9u
bHkgZmFpbCBwYXJzaW5nIGlmIHRoZXJlIGlzIGEgbGVuZ3RoLCBidXQgaXQgZmFpbHMgdGhlIHJh
bmdlIGNoZWNrLgorICAgIGlmICh0b2tlbi50eXBlKCkgPT0gRGltZW5zaW9uVG9rZW4gfHwgdG9r
ZW4udHlwZSgpID09IE51bWJlclRva2VuIHx8ICh0b2tlbi50eXBlKCkgPT0gRnVuY3Rpb25Ub2tl
biAmJiBDU1NDYWxjVmFsdWU6OmlzQ2FsY0Z1bmN0aW9uKHRva2VuLmZ1bmN0aW9uSWQoKSkpKSB7
CisgICAgICAgIGJsdXJSYWRpdXMgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQYXJzZXJNb2Rl
LCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICBpZiAoIWJsdXJSYWRpdXMpCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgaWYgKGFsbG93U3ByZWFkKQotICAgICAg
ICAgICAgc3ByZWFkRGlzdGFuY2UgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQYXJzZXJNb2Rl
LCBWYWx1ZVJhbmdlQWxsKTsKICAgICB9CiAKKyAgICBpZiAoYmx1clJhZGl1cyAmJiBhbGxvd1Nw
cmVhZCkKKyAgICAgICAgc3ByZWFkRGlzdGFuY2UgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQ
YXJzZXJNb2RlLCBWYWx1ZVJhbmdlQWxsKTsKKwogICAgIGlmICghcmFuZ2UuYXRFbmQoKSkgewog
ICAgICAgICBpZiAoIWNvbG9yKQogICAgICAgICAgICAgY29sb3IgPSBjb25zdW1lQ29sb3IocmFu
Z2UsIGNzc1BhcnNlck1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmgKaW5kZXggNzY3NDVhODVkMDJkOTBhMjdjZDZmZWNi
MDUzNDU3NmE1MTA0YWM5ZS4uMTU2ZWU4OGM3YTE1NzBmZTQ5YmZiMGQ5YmU2ZmU0MTQ4YmMxZWY4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ckhlbHBlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5oCkBAIC01Nyw3ICs1Nyw2IEBAIGVudW0gY2xhc3MgVW5pdGxlc3NRdWlyayB7
CiB9OwogCiBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVJbnRlZ2VyKENTU1BhcnNl
clRva2VuUmFuZ2UmLCBkb3VibGUgbWluaW11bVZhbHVlID0gLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6bWF4KCkpOwotYm9vbCBjb25zdW1lUG9zaXRpdmVJbnRlZ2VyUmF3KENTU1BhcnNl
clRva2VuUmFuZ2UmLCBpbnQmIHJlc3VsdCk7CiBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNv
bnN1bWVQb3NpdGl2ZUludGVnZXIoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwogYm9vbCBjb25zdW1l
TnVtYmVyUmF3KENTU1BhcnNlclRva2VuUmFuZ2UmLCBkb3VibGUmIHJlc3VsdCk7CiBSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVOdW1iZXIoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIFZh
bHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhlZWE4YTYzZWU0YzkwMjA4YmM1NjNkYmFlN2YyZTYzMjExNDI0
NjUuLjBlMDUwNTJlNThlODhhZWU3ZDM1OWUyNTM5YWE4MmVhMGNkOGExMjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOS0xMi0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBEb24ndCBkbyByYW5nZSBjaGVja2luZyBmb3IgY2FsYygpIGF0IHBh
cnNlIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDczNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jc3MvY29sdW1uLXdpZHRoLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvY3NzL2NvbHVtbi13aWR0aC1jYWxjdWxhdGVkLXZhbHVlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9jc3MvZmxleC1zaHJpbmstY2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9jc3MvZmxleC1zaHJpbmstY2FsY3VsYXRlZC12YWx1ZS5odG1s
OgorICAgICAgICAqIGZhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Nzcy9uZWdhdGl2ZS1jYWxjLXZhbHVlcy5odG1sOgorICAgICAgICAq
IGZhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUuaHRtbDoKKwogMjAxOS0xMS0zMCAgeW91
ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFJlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hOjptX3dyaXRlQ291bnQgd2hlbiBzYW1wbGVSYXRlIGNo
YW5nZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU2ZDdlMWRhZGFhNmUzZDRk
YzAwM2RmZDRjZmViODQzMzk5YTZmY2MuLjU3Y2ZkMzE4MTgzNjJlYTIyNTE1Y2Q5ZDZiZWQ1YjAx
MDc0YzkxNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE5LTEyLTAxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIERvbid0IGRvIHJhbmdlIGNoZWNraW5nIGZvciBjYWxjKCkgYXQgcGFyc2UgdGltZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzM3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0LWRlY29yL3BhcnNpbmcvdGV4dC1zaGFkb3ctY29tcHV0
ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9jYWxjLW51bWJlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXZhbHVlcy9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1yYWRpdXMtMDAxLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
Z2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItcmFkaXVzLTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL21pbm1heC1udW1iZXItc2VyaWFs
aXplLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0xMi0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gUmViYXNlbGluZSBzb21lIFdQ
VCBleHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NvbHVtbi13
aWR0aC1jYWxjdWxhdGVkLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2NvbHVtbi13aWR0aC1jYWxjdWxhdGVkLXZhbHVlLWV4cGVjdGVkLnR4dAppbmRleCA0ZDY0NTgz
Mzk5NDNlNDYzYzBmMDRhYTY0ZjEyYmU0ZGY1NmI4MjYzLi42MmUzYTFiMjk1NTA2YmRhOTk4MGU2
NTgyNmEzMTExMjYwYmI1ZWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb2x1
bW4td2lkdGgtY2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvY29sdW1uLXdpZHRoLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC05
LDggKzksOCBAQCBQQVNTIHRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddIGlzICJjYWxjKDIw
MHB4KSIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlW
YWx1ZSgnY29sdW1uLXdpZHRoJykgaXMgIjIwMHB4IgogMHB4IGlzIG5vdCBhIHZhbGlkIHZhbHVl
CiB0ZXN0RGl2LnN0eWxlWydjb2x1bW4td2lkdGgnXSA9ICdjYWxjKDBweCAqIDIpJwotUEFTUyB0
ZXN0RGl2LnN0eWxlWydjb2x1bW4td2lkdGgnXSBpcyAiY2FsYygyMDBweCkiCi1QQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ2NvbHVtbi13aWR0
aCcpIGlzICIyMDBweCIKK1BBU1MgdGVzdERpdi5zdHlsZVsnY29sdW1uLXdpZHRoJ10gaXMgImNh
bGMoMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVy
dHlWYWx1ZSgnY29sdW1uLXdpZHRoJykgaXMgIjBweCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY29sdW1uLXdpZHRoLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2NvbHVtbi13aWR0aC1jYWxjdWxhdGVkLXZhbHVlLmh0bWwKaW5kZXggYjliY2U1YWMwNzg1
MGU4Mzg0ZDE0M2I1NGVkNGZmMjBiMGI4MmJiYS4uNjMyNGY4ZjQ5MTM1Mzc0YWZhZjE0MjFiYWE3
MDYwNjliNGFlOTg5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29sdW1uLXdp
ZHRoLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb2x1
bW4td2lkdGgtY2FsY3VsYXRlZC12YWx1ZS5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIHNob3VsZEJl
RXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVy
dHlWYWx1ZSgnY29sdW1uCiAKIGRlYnVnKCIwcHggaXMgbm90IGEgdmFsaWQgdmFsdWUiKTsKIGV2
YWxBbmRMb2coInRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddID0gJ2NhbGMoMHB4ICogMikn
Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCdd
IiwgImNhbGMoMjAwcHgpIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ2NvbHVtbi13aWR0aCcpIiwgIjIw
MHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0
aCddIiwgImNhbGMoMHB4KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCdjb2x1bW4td2lkdGgnKSIsICIw
cHgiKTsKIAogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mbGV4
LXNocmluay1jYWxjdWxhdGVkLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IGU2ZDYz
NmI3ZDc1ZTg1MTdmZGIyYTUyN2E0OThjYjAyYWI2ZjIwNTQuLjlmYWNlM2I4NjRjYmMzMWEwY2Jl
Yjg2MmNiZmM0YTQ2MjRiODRmZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Zs
ZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC01
LDcgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIHRlc3REaXYuc3R5bGVb
J2ZsZXgtc2hyaW5rJ10gaXMgIiIKIHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gPSAnY2Fs
YygyICogMyknCi1QQVNTIHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gaXMgIjYiCitQQVNT
IHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gaXMgImNhbGMoNikiCiBQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ2ZsZXgtc2hyaW5rJykg
aXMgIjYiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbAppbmRl
eCA1ZmMyMWU4MDIwMzI3Njg5OTc0M2FhMzZjZTliZmE1MWI2NWYzNzY1Li5lZGY4MDVmNmRiODVl
YWU0ZmM5NWViODdkZGI5NmM0OWJkMjk2YjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9mbGV4LXNocmluay1jYWxjdWxhdGVkLXZhbHVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZmxleC1zaHJpbmstY2FsY3VsYXRlZC12YWx1ZS5odG1sCkBAIC05LDcgKzksNyBA
QCB2YXIgdGVzdERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RGl2Iik7CiAKIHNo
b3VsZEJlRW1wdHlTdHJpbmcoInRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10iKTsKIGV2YWxB
bmRMb2coInRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gPSAnY2FsYygyICogMyknIik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10iLCAiNiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXN0RGl2LnN0eWxlWydmbGV4LXNocmluayddIiwg
ImNhbGMoNikiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5
bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnZmxleC1zaHJpbmsnKSIsICI2Iik7CiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12
YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12
YWx1ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGNiYTEzNGNmMzRkMDUyMzBiYWIyYjU1NTI1ZmM4OTBk
MzM3MGYxMTIuLjI1MTM1MmUyMGE2MGZjMjE0ZWJmZTU3MjE4OTExYTUwZDI0MmQxMzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9uZWdhdGl2ZS1jYWxjLXZhbHVlcy1leHBl
Y3RlZC50eHQKQEAgLTE4LDggKzE4LDggQEAgUEFTUyB0ZXN0RGl2LnN0eWxlWydsaW5lLWhlaWdo
dCddIGlzICJjYWxjKC0xMCUpIgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2
KS5nZXRQcm9wZXJ0eVZhbHVlKCdsaW5lLWhlaWdodCcpIGlzICIwcHgiCiB0ZXN0UHJlLnN0eWxl
Wyd0YWItc2l6ZSddID0gJzgnCiB0ZXN0UHJlLnN0eWxlWyd0YWItc2l6ZSddID0gJ2NhbGMoMiAt
IDQpJwotUEFTUyB0ZXN0UHJlLnN0eWxlWyd0YWItc2l6ZSddIGlzICI4IgotUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXN0UHJlKS5nZXRQcm9wZXJ0eVZhbHVlKCd0YWItc2l6ZScpIGlz
ICI4IgorUEFTUyB0ZXN0UHJlLnN0eWxlWyd0YWItc2l6ZSddIGlzICJjYWxjKC0yKSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdFByZSkuZ2V0UHJvcGVydHlWYWx1ZSgndGFiLXNp
emUnKSBpcyAiMCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLmh0bWwK
aW5kZXggMThiZjcwYjM3ZTczYjU0NDgxZDg2MTU3Yjc1ZTQ4YjhkMTFkZDc0My4uYTVjN2Q5YTcx
MTI0ZTY1ODgxYTgwZDU4NmVjMmU5MmNiNTVkMDE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9uZWdhdGl2ZS1jYWxjLXZhbHVlcy5odG1sCkBAIC0yOCw4ICsyOCw4IEBAIHNob3VsZEJl
RXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVy
dHlWYWx1ZSgnbGluZS1oCiAKIGV2YWxBbmRMb2coInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXplJ10g
PSAnOCciKTsKIGV2YWxBbmRMb2coInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXplJ10gPSAnY2FsYygy
IC0gNCknIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXpl
J10iLCAiOCIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXN0UHJlKS5nZXRQcm9wZXJ0eVZhbHVlKCd0YWItc2l6ZScpIiwgIjgiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygidGVzdFByZS5zdHlsZVsndGFiLXNpemUnXSIsICJjYWxjKC0yKSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0UHJlKS5n
ZXRQcm9wZXJ0eVZhbHVlKCd0YWItc2l6ZScpIiwgIjAiKTsKIAogPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LXNoYWRvdy1jYWxjLXZhbHVlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0
ZWQudHh0CmluZGV4IDEzMjVhMjk1ZTMwYmFhYjZhODNkYmJiZGU5NjE4MzkzZGE1OWVjZjIuLjgx
MjY4YzU3NWRjMWU2NjNiOGU4YzZiYjU5MmE0YjQ0MzIzODkxN2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0
CkBAIC0zLDE2ICszLDE5IEBAIFRlc3RzIGFzc2lnbmluZyBhIGNhbGN1bGF0ZWQgdmFsdWUgdG8g
J3RleHQtc2hhZG93JyBDU1MgcHJvcGVydHkuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
IAorCiBQQVNTIHRlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10gaXMgIiIKIHRlc3REaXYuc3R5
bGVbJ3RleHQtc2hhZG93J10gPSAnY2FsYygxICogM3B4KSBjYWxjKDIgKiAzcHgpIGNhbGMoMyAq
IDNweCkgcmdiKDI1NSwgMjU1LCAyNTUpJwogUEFTUyB0ZXN0RGl2LnN0eWxlWyd0ZXh0LXNoYWRv
dyddIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkgY2FsYygzcHgpIGNhbGMoNnB4KSBjYWxjKDlweCki
CiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUo
J3RleHQtc2hhZG93JykgaXMgInJnYigyNTUsIDI1NSwgMjU1KSAzcHggNnB4IDlweCIKKwogdGVz
dERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSA9ICdjYWxjKC0xICogM3B4KSBjYWxjKC0yICogM3B4
KSBjYWxjKDMgKiAzcHgpIHJnYigyNTUsIDI1NSwgMjU1KScKIFBBU1MgdGVzdERpdi5zdHlsZVsn
dGV4dC1zaGFkb3cnXSBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoLTNweCkgY2FsYygtNnB4
KSBjYWxjKDlweCkiCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFBy
b3BlcnR5VmFsdWUoJ3RleHQtc2hhZG93JykgaXMgInJnYigyNTUsIDI1NSwgMjU1KSAtM3B4IC02
cHggOXB4IgorCiB0ZXN0RGl2LnN0eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkg
Y2FsYygyICogM3B4KSBjYWxjKC0zICogM3B4KSByZ2IoMjU1LCAyNTUsIDI1NSknCi1QQVNTIHRl
c3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10gaXMgInJnYigyNTUsIDI1NSwgMjU1KSBjYWxjKC0z
cHgpIGNhbGMoLTZweCkgY2FsYyg5cHgpIgotUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXN0RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LXNoYWRvdycpIGlzICJyZ2IoMjU1LCAyNTUs
IDI1NSkgLTNweCAtNnB4IDlweCIKK1BBU1MgdGVzdERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSBp
cyAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoM3B4KSBjYWxjKDZweCkgY2FsYygtOXB4KSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4
dC1zaGFkb3cnKSBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIDNweCA2cHggMHB4IgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy90ZXh0LXNoYWRvdy1jYWxjLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy90ZXh0LXNoYWRvdy1jYWxjLXZhbHVlLmh0bWwKaW5kZXggMTQ5ZTAzZDkzMTAz
OTQ4MGZjYWNkYTA1NDNlZjU3YTkwYWU1NWIzYi4uYWU3YTlkNTNkNTZjMjU3MDFlNmQ0NWQ2MDA5
YjExMzgzY2VhMDRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1zaGFk
b3ctY2FsYy12YWx1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93
LWNhbGMtdmFsdWUuaHRtbApAQCAtNywyMSArNywyNiBAQCBkZXNjcmlwdGlvbigiVGVzdHMgYXNz
aWduaW5nIGEgY2FsY3VsYXRlZCB2YWx1ZSB0byAndGV4dC1zaGFkb3cnIENTUyBwcm9wZXJ0eS4i
KQogCiB2YXIgdGVzdERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RGl2Iik7CiAK
K2RlYnVnKCcnKTsKIHNob3VsZEJlRW1wdHlTdHJpbmcoInRlc3REaXYuc3R5bGVbJ3RleHQtc2hh
ZG93J10iKTsKK3Rlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10gPSAnbm9uZSc7CiBldmFsQW5k
TG9nKCJ0ZXN0RGl2LnN0eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkgY2FsYygy
ICogM3B4KSBjYWxjKDMgKiAzcHgpIHJnYigyNTUsIDI1NSwgMjU1KSciKTsKIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGVzdERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSIsICJyZ2IoMjU1LCAyNTUs
IDI1NSkgY2FsYygzcHgpIGNhbGMoNnB4KSBjYWxjKDlweCkiKTsKIHNob3VsZEJlRXF1YWxUb1N0
cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgn
dGV4dC1zaGFkb3cnKSIsICJyZ2IoMjU1LCAyNTUsIDI1NSkgM3B4IDZweCA5cHgiKTsKIAogLy8g
TmVnYXRpdmUgaC1zaGFkb3cgYW5kIHYtc2hhZG93IGFyZSBhbGxvd2VkLgorZGVidWcoJycpOwor
dGVzdERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSA9ICdub25lJzsKIGV2YWxBbmRMb2coInRlc3RE
aXYuc3R5bGVbJ3RleHQtc2hhZG93J10gPSAnY2FsYygtMSAqIDNweCkgY2FsYygtMiAqIDNweCkg
Y2FsYygzICogM3B4KSByZ2IoMjU1LCAyNTUsIDI1NSknIik7CiBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNh
bGMoLTNweCkgY2FsYygtNnB4KSBjYWxjKDlweCkiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1z
aGFkb3cnKSIsICJyZ2IoMjU1LCAyNTUsIDI1NSkgLTNweCAtNnB4IDlweCIpCiAKIC8vIE5lZ2F0
aXZlIGJsdXItcmFkaXVzIGlzIG5vdCBhbGxvd2VkIHNvIGl0IHNob3VsZCBiZWNvbWUgMC4KK2Rl
YnVnKCcnKTsKK3Rlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10gPSAnbm9uZSc7CiBldmFsQW5k
TG9nKCJ0ZXN0RGl2LnN0eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkgY2FsYygy
ICogM3B4KSBjYWxjKC0zICogM3B4KSByZ2IoMjU1LCAyNTUsIDI1NSknIik7Ci0vLyB0ZXh0LXNo
YWRvdyBzaG91bGQgbm90IGJlIHVwZGF0ZWQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3RE
aXYuc3R5bGVbJ3RleHQtc2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoLTNweCkg
Y2FsYygtNnB4KSBjYWxjKDlweCkiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1zaGFkb3cnKSIs
ICJyZ2IoMjU1LCAyNTUsIDI1NSkgLTNweCAtNnB4IDlweCIpCitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNh
bGMoM3B4KSBjYWxjKDZweCkgY2FsYygtOXB4KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LXNo
YWRvdycpIiwgInJnYigyNTUsIDI1NSwgMjU1KSAzcHggNnB4IDBweCIpCiAKIDwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXRleHQtZGVjb3IvcGFyc2luZy90ZXh0LXNoYWRvdy1jb21wdXRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dGV4dC1kZWNvci9wYXJzaW5nL3RleHQtc2hhZG93LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRl
eCBkOWEwNTcwNzkyMGU5ZjY0NGJhMzMyYmE0YmI2OTM0NWYxMmFiZWQ3Li41NDZjZjlkYWFkNWNj
ZjZhODZlMjYzMWRlZDJiYmE4NzRjOTdhYzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC1kZWNvci9wYXJzaW5nL3Rl
eHQtc2hhZG93LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC1kZWNvci9wYXJzaW5nL3RleHQt
c2hhZG93LWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBQcm9wZXJ0
eSB0ZXh0LXNoYWRvdyB2YWx1ZSAnbm9uZScgY29tcHV0ZXMgdG8gJ25vbmUnCiBQQVNTIFByb3Bl
cnR5IHRleHQtc2hhZG93IHZhbHVlICcxMHB4IDIwcHgnIGNvbXB1dGVzIHRvICdyZ2IoMCwgMCwg
MjU1KSAxMHB4IDIwcHggMHB4JyAKIFBBU1MgUHJvcGVydHkgdGV4dC1zaGFkb3cgdmFsdWUgJ3Jl
ZCAxMHB4IDIwcHggMzBweCcgY29tcHV0ZXMgdG8gJ3JnYigyNTUsIDAsIDApIDEwcHggMjBweCAz
MHB4JyAKIFBBU1MgUHJvcGVydHkgdGV4dC1zaGFkb3cgdmFsdWUgJ2NhbGMoMC41ZW0gKyAxMHB4
KSBjYWxjKDAuNWVtICsgMTBweCkgY2FsYygwLjVlbSArIDEwcHgpJyBjb21wdXRlcyB0byAncmdi
KDAsIDAsIDI1NSkgMzBweCAzMHB4IDMwcHgnIAotRkFJTCBQcm9wZXJ0eSB0ZXh0LXNoYWRvdyB2
YWx1ZSAnY2FsYygtMC41ZW0gKyAxMHB4KSBjYWxjKC0wLjVlbSArIDEwcHgpIGNhbGMoLTAuNWVt
ICsgMTBweCknIGNvbXB1dGVzIHRvICdyZ2IoMCwgMCwgMjU1KSAtMTBweCAtMTBweCAwcHgnIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwgMjU1KSAtMTBweCAtMTBweCAwcHgiIGJ1
dCBnb3QgInJnYigwLCAwLCAyNTUpIC0xMHB4IC0xMHB4IC0xMHB4IgorUEFTUyBQcm9wZXJ0eSB0
ZXh0LXNoYWRvdyB2YWx1ZSAnY2FsYygtMC41ZW0gKyAxMHB4KSBjYWxjKC0wLjVlbSArIDEwcHgp
IGNhbGMoLTAuNWVtICsgMTBweCknIGNvbXB1dGVzIHRvICdyZ2IoMCwgMCwgMjU1KSAtMTBweCAt
MTBweCAwcHgnIAogUEFTUyBQcm9wZXJ0eSB0ZXh0LXNoYWRvdyB2YWx1ZSAnMTBweCAyMHB4LCAz
MHB4IDQwcHgnIGNvbXB1dGVzIHRvICdyZ2IoMCwgMCwgMjU1KSAxMHB4IDIwcHggMHB4LCByZ2Io
MCwgMCwgMjU1KSAzMHB4IDQwcHggMHB4JyAKIFBBU1MgUHJvcGVydHkgdGV4dC1zaGFkb3cgdmFs
dWUgJ2xpbWUgMTBweCAyMHB4IDMwcHgsIHJlZCA0MHB4IDUwcHgnIGNvbXB1dGVzIHRvICdyZ2Io
MCwgMjU1LCAwKSAxMHB4IDIwcHggMzBweCwgcmdiKDI1NSwgMCwgMCkgNDBweCA1MHB4IDBweCcg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvY2FsYy1udW1iZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvY2FsYy1udW1i
ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA0MDZjNjY4MzQ3ZDliNmIyZmI3N2RiZjRjOGUxNzgxYjkw
OTlmYzhhLi5hMGYxMzhjZWYzOGJhZDA3MWMxYTE4NmIwZDcxYzg1YmIwMjQxZTMzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dmFsdWVzL2NhbGMtbnVtYmVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jYWxjLW51bWJlcnMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIHRlc3RpbmcgdGFiLXNpemU6IGNhbGMo
MiAqIDMpIAotRkFJTCB0ZXN0aW5nIHRhYi1zaXplOiBjYWxjKDIgKiAtNCkgYXNzZXJ0X2VxdWFs
czogY2FsYygyICogLTQpIHNob3VsZCBjb21wdXRlIHRvIDAgZXhwZWN0ZWQgIjAiIGJ1dCBnb3Qg
IjEyMzQ1IgorUEFTUyB0ZXN0aW5nIHRhYi1zaXplOiBjYWxjKDIgKiAtNCkgCiBQQVNTIHRlc3Rp
bmcgb3BhY2l0eTogY2FsYygyIC8gNCkgCiBQQVNTIHRlc3RpbmcgdGFiLXNpemU6IGNhbGMoMiAv
IDQpIAogRkFJTCB0ZXN0aW5nIG9wYWNpdHk6IGNhbGMoMiAvIDQpICogMXB4IGFzc2VydF9lcXVh
bHM6IGNhbGMoMiAvIDQpICogMXB4IHNob3VsZCBjb21wdXRlIHRvIDAuOSBleHBlY3RlZCAiMC45
IiBidXQgZ290ICIwLjg5OTk5OTk3NjE1ODE0MjEiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2dldENvbXB1dGVk
U3R5bGUtYm9yZGVyLXJhZGl1cy0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9nZXRDb21wdXRlZFN0eWxl
LWJvcmRlci1yYWRpdXMtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBmNzY5MDljYWNhYzYyODYxMDdk
YzA2N2Q3N2VjYmVmZWQyY2JlNTgzLi4yMDFiNWFiNzk4NDU2ZGNmZWQ2ZmVmZjQzYzA3NDU2ODg0
OGU1NTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2dldENvbXB1dGVkU3R5bGUtYm9yZGVyLXJhZGl1cy0wMDEt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy12YWx1ZXMvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItcmFkaXVzLTAwMS1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgdGVzdGluZyBib3JkZXItdG9wLWxl
ZnQtcmFkaXVzOiBjYWxjKDEwcHggKyAyNSUpIGNhbGMoMjBweCArIDI1JSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImNhbGMoMjUlICsgMTBweCkgY2FsYygyNSUgKyAyMHB4KSIgYnV0IGdvdCAi
MTBweCAyMHB4IgotRkFJTCB0ZXN0aW5nIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDFl
bSArIDI1JSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMjUlICsgMTZweCkiIGJ1dCBn
b3QgIjE2cHgiCitGQUlMIHRlc3RpbmcgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygxMHB4
ICsgMjUlKSBjYWxjKDIwcHggKyAyNSUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKDI1
JSArIDEwcHgpIGNhbGMoMjUlICsgMjBweCkiIGJ1dCBnb3QgImNhbGMoMTBweCArIDI1JSkgY2Fs
YygyMHB4ICsgMjUlKSIKK0ZBSUwgdGVzdGluZyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2Fs
YygxZW0gKyAyNSUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKDI1JSArIDE2cHgpIiBi
dXQgZ290ICJjYWxjKDE2cHggKyAyNSUpIgogUEFTUyB0ZXN0aW5nIGJvcmRlci1ib3R0b20tcmln
aHQtcmFkaXVzOiBjYWxjKDI1JSkgCiBQQVNTIHRlc3RpbmcgYm9yZGVyLWJvdHRvbS1sZWZ0LXJh
ZGl1czogY2FsYygyNXB4KTsgCi1GQUlMIHRlc3RpbmcgYm9yZGVyLXJhZGl1cyBzaG9ydGhhbmQg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMjUlICsgMTBweCkgY2FsYygyNSUgKyAxNnB4
KSAyNSUgMjVweCAvIGNhbGMoMjUlICsgMjBweCkgY2FsYygyNSUgKyAxNnB4KSAyNSUgMjVweCIg
YnV0IGdvdCAiMTBweCAxNnB4IDI1JSAyNXB4IC8gMjBweCAxNnB4IDI1JSAyNXB4IgorRkFJTCB0
ZXN0aW5nIGJvcmRlci1yYWRpdXMgc2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJj
YWxjKDI1JSArIDEwcHgpIGNhbGMoMjUlICsgMTZweCkgMjUlIDI1cHggLyBjYWxjKDI1JSArIDIw
cHgpIGNhbGMoMjUlICsgMTZweCkgMjUlIDI1cHgiIGJ1dCBnb3QgImNhbGMoMTBweCArIDI1JSkg
Y2FsYygxNnB4ICsgMjUlKSAyNSUgMjVweCAvIGNhbGMoMjBweCArIDI1JSkgY2FsYygxNnB4ICsg
MjUlKSAyNSUgMjVweCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1y
YWRpdXMtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItcmFkaXVz
LTAwMy1leHBlY3RlZC50eHQKaW5kZXggOTQxYTU4ODhlMjdkODFiYzRmOGMxMjViZDRiMWM3OTRj
OGZmNGMxNi4uYjEwZGI1MDFlYTYzOTVkNjExYjA3ZjBkZGM5OTg1MjMyYmVlMzI2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1yYWRpdXMtMDAzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dmFsdWVzL2dldENvbXB1dGVkU3R5bGUtYm9yZGVyLXJhZGl1cy0wMDMtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIHRlc3RpbmcgYm9yZGVyLXJhZGl1cyBzaG9ydGhhbmQgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMSUgKyAxcHgpIGNhbGMoMiUgKyAycHgpIGNhbGMo
MyUgKyAzcHgpIGNhbGMoNCUgKyA0cHgpIC8gY2FsYyg1JSArIDVweCkgY2FsYyg2JSArIDZweCkg
Y2FsYyg3JSArIDdweCkgY2FsYyg4JSArIDhweCkiIGJ1dCBnb3QgIjFweCAycHggM3B4IDRweCAv
IDVweCA2cHggN3B4IDhweCIKK0ZBSUwgdGVzdGluZyBib3JkZXItcmFkaXVzIHNob3J0aGFuZCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygxJSArIDFweCkgY2FsYygyJSArIDJweCkgY2Fs
YygzJSArIDNweCkgY2FsYyg0JSArIDRweCkgLyBjYWxjKDUlICsgNXB4KSBjYWxjKDYlICsgNnB4
KSBjYWxjKDclICsgN3B4KSBjYWxjKDglICsgOHB4KSIgYnV0IGdvdCAiY2FsYygxcHggKyAxJSkg
Y2FsYygycHggKyAyJSkgY2FsYygzcHggKyAzJSkgY2FsYyg0cHggKyA0JSkgLyBjYWxjKDVweCAr
IDUlKSBjYWxjKDZweCArIDYlKSBjYWxjKDdweCArIDclKSBjYWxjKDhweCArIDglKSIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9taW5tYXgtbnVtYmVyLXNlcmlhbGl6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL21pbm1h
eC1udW1iZXItc2VyaWFsaXplLWV4cGVjdGVkLnR4dAppbmRleCAwNGM0NzBlZDk2M2E3Mjk3MjY2
YTM5ZDgwMjE5YTQ3NTI4YzU0NWI0Li5hMjhhNzU1NGEzYWMyYzllZDFmZGE1NTk0NzU2ZTg3NWE3
NjY5ZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL21pbm1heC1udW1iZXItc2VyaWFsaXplLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdmFsdWVzL21pbm1heC1udW1iZXItc2VyaWFsaXplLWV4cGVjdGVkLnR4dApAQCAtMSwxNCAr
MSwxNCBAQAogCi1GQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJtaW4oMSkiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJl
IGNhbm9uaWNhbCBleHBlY3RlZCAibWluKDEpIiBidXQgZ290ICIxIgotRkFJTCBlLnN0eWxlWydv
cGFjaXR5J10gPSAibWF4KDEpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRf
ZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIm1heCgx
KSIgYnV0IGdvdCAiMSIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gIm1pbigxLCAyLCAzKSIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlv
biBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtaW4oMSwgMiwgMykiIGJ1dCBnb3QgIjEi
Ci1GQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJtaW4oMywgMiwgMSkiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNh
bm9uaWNhbCBleHBlY3RlZCAibWluKDMsIDIsIDEpIiBidXQgZ290ICIxIgotRkFJTCBlLnN0eWxl
WydvcGFjaXR5J10gPSAibWF4KDEsIDIsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1
ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0
ZWQgIm1heCgxLCAyLCAzKSIgYnV0IGdvdCAiMyIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0g
Im1heCgzLCAyLCAxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFs
czogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtYXgoMywgMiwg
MSkiIGJ1dCBnb3QgIjMiCi1GQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKG1pbigxKSAr
IG1pbigyKSkiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNl
cmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY2FsYyhtaW4oMSkgKyBt
aW4oMikpIiBidXQgZ290ICIzIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYyhtYXgo
MSkgKyBtYXgoMikpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxz
OiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImNhbGMobWF4KDEp
ICsgbWF4KDIpKSIgYnV0IGdvdCAiMyIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNhbGMo
MSArIG1pbigxKSkiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6
IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY2FsYygxICsgbWlu
KDEpKSIgYnV0IGdvdCAiMiIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNhbGMobWluKDEp
ICsgMSkiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlh
bGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY2FsYygxICsgbWluKDEpKSIg
YnV0IGdvdCAiMiIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNhbGMoMSArIG1heCgxKSki
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRp
b24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY2FsYygxICsgbWF4KDEpKSIgYnV0IGdv
dCAiMiIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNhbGMobWF4KDEpICsgMSkiIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hv
dWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY2FsYygxICsgbWF4KDEpKSIgYnV0IGdvdCAiMiIK
K0ZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gIm1pbigxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2Fs
IGV4cGVjdGVkICJtaW4oMSkiIGJ1dCBnb3QgImNhbGMobWluKDEpKSIKK0ZBSUwgZS5zdHlsZVsn
b3BhY2l0eSddID0gIm1heCgxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtYXgo
MSkiIGJ1dCBnb3QgImNhbGMobWF4KDEpKSIKK0ZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gIm1p
bigxLCAyLCAzKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczog
c2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtaW4oMSwgMiwgMyki
IGJ1dCBnb3QgImNhbGMobWluKDEsIDIsIDMpKSIKK0ZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0g
Im1pbigzLCAyLCAxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFs
czogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtaW4oMywgMiwg
MSkiIGJ1dCBnb3QgImNhbGMobWluKDMsIDIsIDEpKSIKK0ZBSUwgZS5zdHlsZVsnb3BhY2l0eSdd
ID0gIm1heCgxLCAyLCAzKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtYXgoMSwg
MiwgMykiIGJ1dCBnb3QgImNhbGMobWF4KDEsIDIsIDMpKSIKK0ZBSUwgZS5zdHlsZVsnb3BhY2l0
eSddID0gIm1heCgzLCAyLCAxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtYXgo
MywgMiwgMSkiIGJ1dCBnb3QgImNhbGMobWF4KDMsIDIsIDEpKSIKK0ZBSUwgZS5zdHlsZVsnb3Bh
Y2l0eSddID0gImNhbGMobWluKDEpICsgbWluKDIpKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4
cGVjdGVkICJjYWxjKG1pbigxKSArIG1pbigyKSkiIGJ1dCBnb3QgImNhbGMoMykiCitGQUlMIGUu
c3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKG1heCgxKSArIG1heCgyKSkiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNh
bm9uaWNhbCBleHBlY3RlZCAiY2FsYyhtYXgoMSkgKyBtYXgoMikpIiBidXQgZ290ICJjYWxjKDMp
IgorRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYygxICsgbWluKDEpKSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtaW4oMSkpIiBidXQgZ290ICJjYWxjKDIp
IgorRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYyhtaW4oMSkgKyAxKSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtaW4oMSkpIiBidXQgZ290ICJjYWxjKDIp
IgorRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYygxICsgbWF4KDEpKSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtYXgoMSkpIiBidXQgZ290ICJjYWxjKDIp
IgorRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYyhtYXgoMSkgKyAxKSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtYXgoMSkpIiBidXQgZ290ICJjYWxjKDIp
IgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384594</attachid>
            <date>2019-12-01 23:15:23 -0800</date>
            <delta_ts>2019-12-02 08:32:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204737-20191201231522.patch</filename>
            <type>text/plain</type>
            <size>57300</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmExOWE3MWVhMmM0OGNh
MGZmNDM1ZGNmODcxYTU3MjZkYTJhNGNhMC4uMzU0ODcxY2JlZTdjNDZkNWQyZDMwZTljMzMxOTI4
ZjRmMmI0Y2Q3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE5LTEyLTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IGRvIHJh
bmdlIGNoZWNraW5nIGZvciBjYWxjKCkgYXQgcGFyc2UgdGltZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBcyBzcGVjaWZpZWQgaW4gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY2FsYy1yYW5nZSwgd2Ugc2hvdWxk
IG5vdCBkbyByYW5nZSBjaGVja2luZyBmb3IgY2FsYworICAgICAgICBhdCBwYXJzZSB0aW1lOyB0
aGUgc3BlY2lmaWVkIHZhbHVlIGNhbiBiZSBhIGNhbGMgd2hpY2ggcmVzdWx0cyBpbiBhIG5lZ2F0
aXZlIHZhbHVlczsgdmFsdWVzIGFyZSBjbGFtcGVkCisgICAgICAgIGF0IHVzZWQgdmFsdWUgdGlt
ZSAoaS5lLiB3aGVuIGJ1aWxkaW5nIFJlbmRlclN0eWxlKS4KKyAgICAgICAgCisgICAgICAgIFNv
IENTU0NhbGN1bGF0aW9uVmFsdWUgZG9lc24ndCBuZWVkIHRvIGhhdmUgaXNJbnQoKSwgaXNQb3Np
dGl2ZSgpLCBpc05lZ2F0aXZlKCksIGFuZCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUKKyAgICAgICAg
ZG9lc24ndCBoYXZlIHRvIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBpdHMgdmFsdWUgaXMgYW4gaW50
ZWdlci4KKyAgICAgICAgCisgICAgICAgIEFsc28gZG8gc29tZSBjbGVhbnVwIG9mIENTU1ByaW1p
dGl2ZVZhbHVlLCB1c2luZyBjYXRlZ29yaWVzIHRvIGFuc3dlciBtb3JlIGlzRm9vIHR5cGUgcXVl
c3Rpb25zLCBhbmQgYWRkaW5nCisgICAgICAgIGlzWmVybygpLCBpc1Bvc2l0aXZlKCkgYW5kIGlz
TmVnYXRpdmUoKSB0aGF0IHJldHVybiBPcHRpb25hbDxib29sPiBmb3IgY2FzZXMgd2hlcmUgcGFy
c2UtdGltZSByYW5nZSBjaGVja2luZworICAgICAgICBvY2N1cnMuCisKKyAgICAgICAgVGVzdGVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBs
aWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpw
YXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUJsZW5kSGFsZik6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVDU1MpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpp
c0NhbGNGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjppc0ludGVnZXJSZXN1bHQpOiBEZWxl
dGVkLgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmVxdWFscyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmNhdGVnb3J5IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6aXNJbnRlZ2VyIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Onpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgpOgorICAg
ICAgICAoV2ViQ29yZTo6cGVyY2VudGFnZU9yWm9vbUFkanVzdGVkVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6YXV0b09yWm9vbUFkanVzdGVkVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVyc2lvblRvQ2Fub25pY2FsVW5pdHNTY2FsZUZhY3Rvcik6IEkgbWlzc2VkIHRoZSBRIHVuaXQg
aGVyZSB3aGVuIEkgYWRkZWQgaXQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6aXNaZXJvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c1Bvc2l0aXZlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c05lZ2F0aXZlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpj
YW5vbmljYWxVbml0VHlwZUZvckNhdGVnb3J5KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpp
c0FuZ2xlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dW5pdENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhbm9uaWNh
bFVuaXRUeXBlRm9yQ2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fub25pY2FsVW5pdFR5
cGUpOgorICAgICAgICAqIGNzcy9DU1NVbml0cy5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbHVtbldpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVQZXJzcGVjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lV2Via2l0QXNwZWN0UmF0aW8pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6Q2FsY1BhcnNlcjo6Q2FsY1BhcnNlcik6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OkNhbGNQYXJzZXI6OmNvbnN1bWVJbnRlZ2VyKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZU51bWJl
cik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVT
aW5nbGVTaGFkb3cpOiBUaGlzIHBhcnNpbmcgaXMgYSBsaXR0bGUgdHJpY2t5LiBUaGUgYmx1ciBy
YWRpdXMgdmFsdWUgaXMgb3B0aW9uYWwsCisgICAgICAgIGJ1dCB3ZSBuZWVkIHRvIGRpc3Rpbmd1
aXNoIGJldHdlZW4gZmFpbGluZyB0byBwYXJzZSBpdCwgYW5kIGl0cyB2YWx1ZSBiZWluZyBuZWdh
dGl2ZSwgc28gYW4gZXhwbGljaXQgY2hlY2sgZm9yIGNhbGMgaXMgdGhlIGVhc2llc3Qgd2F5Cisg
ICAgICAgIHRvIGhhbmRsZWwgdGhhdC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6Q2FsY1BhcnNlcjo6Y29uc3VtZVBvc2l0aXZlSW50ZWdlclJhdyk6IERlbGV0
ZWQuIEl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OmNvbnN1bWVQb3NpdGl2ZUludGVnZXJSYXcpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmg6CisKIDIwMTktMTItMDEgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIENTU0Nh
bGNQcmltaXRpdmVWYWx1ZSB0byBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlLCBhbmQgQ1NTQ2Fs
Y09wZXJhdGlvbiB0byBDU1NDYWxjT3BlcmF0aW9uTm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4IGIzMDQ4YmY5MjI4NDllNjFiZDUwZjA1ZjNlNDU1
MzVjYWYyMTY0YmQuLmY5OTI4OWRiZmU2OGQzN2RkYzZlNTZiNGQyNmM5M2Q0NjRiMzI5YjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTE4MCwxNiAr
MTgwLDE2IEBAIHN0YXRpYyBTdHJpbmcgcHJldHR5UHJpbnROb2Rlcyhjb25zdCBWZWN0b3I8UmVm
PENTU0NhbGNFeHByZXNzaW9uTm9kZT4+JiBub2RlcykKIGNsYXNzIENTU0NhbGNQcmltaXRpdmVW
YWx1ZU5vZGUgZmluYWwgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU0NhbGNQcmlt
aXRpdmVWYWx1ZU5vZGU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUsIGJv
b2wgaXNJbnRlZ2VyKQorICAgIHN0YXRpYyBSZWY8Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZT4g
Y3JlYXRlKFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGUoV1RGTW92ZSh2YWx1
ZSksIGlzSW50ZWdlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NDYWxjUHJp
bWl0aXZlVmFsdWVOb2RlKFdURk1vdmUodmFsdWUpKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJl
ZlB0cjxDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlPiBjcmVhdGUoZG91YmxlIHZhbHVlLCBDU1NV
bml0VHlwZSB0eXBlLCBib29sIGlzSW50ZWdlcikKKyAgICBzdGF0aWMgUmVmUHRyPENTU0NhbGNQ
cmltaXRpdmVWYWx1ZU5vZGU+IGNyZWF0ZShkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUp
CiAgICAgewogICAgICAgICBpZiAoIXN0ZDo6aXNmaW5pdGUodmFsdWUpKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1p
dGl2ZVZhbHVlTm9kZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLCB0eXBlKSwgaXNJ
bnRlZ2VyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLCB0eXBlKSkpOwogICAgIH0K
IAogcHJpdmF0ZToKQEAgLTIyMSw4ICsyMjEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZHVtcChU
ZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlTm9kZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUsIGJvb2wg
aXNJbnRlZ2VyKQotICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9uTm9kZShjYWxjVW5pdENhdGVn
b3J5KHZhbHVlLT5wcmltaXRpdmVUeXBlKCkpLCBpc0ludGVnZXIpCisgICAgZXhwbGljaXQgQ1NT
Q2FsY1ByaW1pdGl2ZVZhbHVlTm9kZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgdmFsdWUpCisg
ICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNhbGNVbml0Q2F0ZWdvcnkodmFsdWUtPnBy
aW1pdGl2ZVR5cGUoKSkpCiAgICAgICAgICwgbV92YWx1ZShXVEZNb3ZlKHZhbHVlKSkKICAgICB7
CiAgICAgfQpAQCAtMzczLDI4ICszNzMsNiBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBy
ZXNvbHZlZFR5cGVGb3JNaW5Pck1heChDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5LAogICAg
IHJldHVybiBDYWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcjsKIH0KIAotc3RhdGljIGlubGluZSBi
b29sIGlzSW50ZWdlclJlc3VsdChDYWxjT3BlcmF0b3Igb3AsIGNvbnN0IENTU0NhbGNFeHByZXNz
aW9uTm9kZSYgbGVmdFNpZGUsIGNvbnN0IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgcmlnaHRTaWRl
KQotewotICAgIC8vIFBlcmZvcm1zIFczQyBzcGVjJ3MgdHlwZSBjaGVja2luZyBmb3IgY2FsYyBp
bnRlZ2Vycy4KLSAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy10
eXBlLWNoZWNraW5nCi0gICAgcmV0dXJuIG9wICE9IENhbGNPcGVyYXRvcjo6RGl2aWRlICYmIGxl
ZnRTaWRlLmlzSW50ZWdlcigpICYmIHJpZ2h0U2lkZS5pc0ludGVnZXIoKTsKLX0KLQotc3RhdGlj
IGlubGluZSBib29sIGlzSW50ZWdlclJlc3VsdChDYWxjT3BlcmF0b3Igb3AsIGNvbnN0IFZlY3Rv
cjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mIG5vZGVzKQotewotICAgIC8vIFBlcmZvcm1z
IFczQyBzcGVjJ3MgdHlwZSBjaGVja2luZyBmb3IgY2FsYyBpbnRlZ2Vycy4KLSAgICAvLyBodHRw
Oi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy10eXBlLWNoZWNraW5nCi0gICAgaWYg
KG9wID09IENhbGNPcGVyYXRvcjo6RGl2aWRlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBmb3IgKGF1dG8mIG5vZGUgOiBub2RlcykgewotICAgICAgICBpZiAoIW5vZGUtPmlzSW50ZWdl
cigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVl
OwotfQotCiBzdGF0aWMgYm9vbCBpc1NhbWVQYWlyKENhbGN1bGF0aW9uQ2F0ZWdvcnkgYSwgQ2Fs
Y3VsYXRpb25DYXRlZ29yeSBiLCBDYWxjdWxhdGlvbkNhdGVnb3J5IHgsIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgeSkKIHsKICAgICByZXR1cm4gKGEgPT0geCAmJiBiID09IHkpIHx8IChhID09IHkgJiYg
YiA9PSB4KTsKQEAgLTQwOSw3ICszODcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQ1NT
Q2FsY09wZXJhdGlvbk5vZGUoQ2FsY3VsYXRpb25DYXRlZ29yeSBjYXRlZ29yeSwgQ2FsY09wZXJh
dG9yIG9wLCBSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiYmIGxlZnRTaWRlLCBSZWY8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiYmIHJpZ2h0U2lkZSkKLSAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lv
bk5vZGUoY2F0ZWdvcnksIGlzSW50ZWdlclJlc3VsdChvcCwgbGVmdFNpZGUuZ2V0KCksIHJpZ2h0
U2lkZS5nZXQoKSkpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNhdGVnb3J5KQog
ICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCiAgICAgewogICAgICAgICBtX2NoaWxkcmVuLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkoMik7CkBAIC00MTgsNyArMzk2LDcgQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICBDU1NDYWxjT3BlcmF0aW9uTm9kZShDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5
LCBDYWxjT3BlcmF0b3Igb3AsIFZlY3RvcjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mJiBj
aGlsZHJlbikKLSAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGlzSW50
ZWdlclJlc3VsdChvcCwgY2hpbGRyZW4pKQorICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9uTm9k
ZShjYXRlZ29yeSkKICAgICAgICAgLCBtX29wZXJhdG9yKG9wKQogICAgICAgICAsIG1fY2hpbGRy
ZW4oV1RGTW92ZShjaGlsZHJlbikpCiAgICAgewpAQCAtNTI3LDEyICs1MDUsMTAgQEAgUmVmUHRy
PENTU0NhbGNFeHByZXNzaW9uTm9kZT4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBs
aWZpZWQoQ2FsY09wZXJhdG8KICAgICBBU1NFUlQobGVmdENhdGVnb3J5IDwgQ2FsY3VsYXRpb25D
YXRlZ29yeTo6T3RoZXIpOwogICAgIEFTU0VSVChyaWdodENhdGVnb3J5IDwgQ2FsY3VsYXRpb25D
YXRlZ29yeTo6T3RoZXIpOwogCi0gICAgYm9vbCBpc0ludGVnZXIgPSBpc0ludGVnZXJSZXN1bHQo
b3AsICpsZWZ0U2lkZSwgKnJpZ2h0U2lkZSk7Ci0KICAgICAvLyBTaW1wbGlmeSBudW1iZXJzLgog
ICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyICYmIHJp
Z2h0Q2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6TnVtYmVyKSB7CiAgICAgICAgIENT
U1VuaXRUeXBlIGV2YWx1YXRpb25UeXBlID0gQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVI7Ci0gICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVhdGVPcGVy
YXRvcihvcCwgeyBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSwgcmlnaHRTaWRlLT5kb3VibGVWYWx1
ZSgpIH0pLCBldmFsdWF0aW9uVHlwZSwgaXNJbnRlZ2VyKTsKKyAgICAgICAgcmV0dXJuIENTU0Nh
bGNQcmltaXRpdmVWYWx1ZU5vZGU6OmNyZWF0ZShldmFsdWF0ZU9wZXJhdG9yKG9wLCB7IGxlZnRT
aWRlLT5kb3VibGVWYWx1ZSgpLCByaWdodFNpZGUtPmRvdWJsZVZhbHVlKCkgfSksIGV2YWx1YXRp
b25UeXBlKTsKICAgICB9CiAKICAgICAvLyBTaW1wbGlmeSBhZGRpdGlvbiBhbmQgc3VidHJhY3Rp
b24gYmV0d2VlbiBzYW1lIHR5cGVzLgpAQCAtNTQyLDE0ICs1MTgsMTQgQEAgUmVmUHRyPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVNpbXBsaWZpZWQo
Q2FsY09wZXJhdG8KICAgICAgICAgICAgIGlmIChoYXNEb3VibGVWYWx1ZShsZWZ0VHlwZSkpIHsK
ICAgICAgICAgICAgICAgICBDU1NVbml0VHlwZSByaWdodFR5cGUgPSByaWdodFNpZGUtPnByaW1p
dGl2ZVR5cGUoKTsKICAgICAgICAgICAgICAgICBpZiAobGVmdFR5cGUgPT0gcmlnaHRUeXBlKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3Jl
YXRlKGV2YWx1YXRlT3BlcmF0b3Iob3AsIHsgbGVmdFNpZGUtPmRvdWJsZVZhbHVlKCksIHJpZ2h0
U2lkZS0+ZG91YmxlVmFsdWUoKSB9KSwgbGVmdFR5cGUsIGlzSW50ZWdlcik7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVh
dGVPcGVyYXRvcihvcCwgeyBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSwgcmlnaHRTaWRlLT5kb3Vi
bGVWYWx1ZSgpIH0pLCBsZWZ0VHlwZSk7CiAgICAgICAgICAgICAgICAgQ1NTVW5pdENhdGVnb3J5
IGxlZnRVbml0Q2F0ZWdvcnkgPSB1bml0Q2F0ZWdvcnkobGVmdFR5cGUpOwogICAgICAgICAgICAg
ICAgIGlmIChsZWZ0VW5pdENhdGVnb3J5ICE9IENTU1VuaXRDYXRlZ29yeTo6T3RoZXIgJiYgbGVm
dFVuaXRDYXRlZ29yeSA9PSB1bml0Q2F0ZWdvcnkocmlnaHRUeXBlKSkgewotICAgICAgICAgICAg
ICAgICAgICBDU1NVbml0VHlwZSBjYW5vbmljYWxUeXBlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNh
bm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkobGVmdFVuaXRDYXRlZ29yeSk7CisgICAgICAgICAg
ICAgICAgICAgIENTU1VuaXRUeXBlIGNhbm9uaWNhbFR5cGUgPSBjYW5vbmljYWxVbml0VHlwZUZv
ckNhdGVnb3J5KGxlZnRVbml0Q2F0ZWdvcnkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoY2Fu
b25pY2FsVHlwZSAhPSBDU1NVbml0VHlwZTo6Q1NTX1VOS05PV04pIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvdWJsZSBsZWZ0VmFsdWUgPSBsZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSAqIENT
U1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJzaW9uVG9DYW5vbmljYWxVbml0c1NjYWxlRmFjdG9yKGxl
ZnRUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSByaWdodFZhbHVlID0gcmln
aHRTaWRlLT5kb3VibGVWYWx1ZSgpICogQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnNpb25Ub0Nh
bm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IocmlnaHRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoZXZhbHVhdGVPcGVy
YXRvcihvcCwgeyBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUgfSksIGNhbm9uaWNhbFR5cGUsIGlzSW50
ZWdlcik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZTo6Y3JlYXRlKGV2YWx1YXRlT3BlcmF0b3Iob3AsIHsgbGVmdFZhbHVlLCByaWdodFZh
bHVlIH0pLCBjYW5vbmljYWxUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTU3Miw3ICs1NDgsNyBAQCBSZWZQdHI8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBDU1NDYWxjT3BlcmF0aW9uTm9kZTo6Y3JlYXRlU2ltcGxpZmllZChD
YWxjT3BlcmF0bwogCiAgICAgICAgIGF1dG8gb3RoZXJUeXBlID0gb3RoZXJTaWRlLnByaW1pdGl2
ZVR5cGUoKTsKICAgICAgICAgaWYgKGhhc0RvdWJsZVZhbHVlKG90aGVyVHlwZSkpCi0gICAgICAg
ICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKGV2YWx1YXRlT3Bl
cmF0b3Iob3AsIHsgb3RoZXJTaWRlLmRvdWJsZVZhbHVlKCksIG51bWJlciB9KSwgb3RoZXJUeXBl
LCBpc0ludGVnZXIpOworICAgICAgICAgICAgcmV0dXJuIENTU0NhbGNQcmltaXRpdmVWYWx1ZU5v
ZGU6OmNyZWF0ZShldmFsdWF0ZU9wZXJhdG9yKG9wLCB7IG90aGVyU2lkZS5kb3VibGVWYWx1ZSgp
LCBudW1iZXIgfSksIG90aGVyVHlwZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGNyZWF0ZShvcCwg
bGVmdFNpZGUucmVsZWFzZU5vbk51bGwoKSwgcmlnaHRTaWRlLnJlbGVhc2VOb25OdWxsKCkpOwpA
QCAtODI3LDggKzgwMyw3IEBAIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJz
ZVZhbHVlKENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgVmFsdWUqCiAgICAgaWYgKGNhbGNV
bml0Q2F0ZWdvcnkodHlwZSkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAKLSAgICBib29sIGlzSW50ZWdlciA9IHRva2VuLm51bWVyaWNW
YWx1ZVR5cGUoKSA9PSBJbnRlZ2VyVmFsdWVUeXBlIHx8ICh0b2tlbi5udW1lcmljVmFsdWVUeXBl
KCkgPT0gTnVtYmVyVmFsdWVUeXBlICYmIHRva2VuLm51bWVyaWNWYWx1ZSgpID09IHRydW5jKHRv
a2VuLm51bWVyaWNWYWx1ZSgpKSk7Ci0gICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNQcmltaXRp
dmVWYWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHRva2VuLm51bWVy
aWNWYWx1ZSgpLCB0eXBlKSwgaXNJbnRlZ2VyKTsKKyAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodG9r
ZW4ubnVtZXJpY1ZhbHVlKCksIHR5cGUpKTsKICAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTk3MCw3ICs5NDUsNyBAQCBib29sIENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VW
YWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgdG9rZQogc3RhdGljIGlubGluZSBS
ZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbk5vZGU+IGNyZWF0ZUJsZW5kSGFsZihjb25zdCBMZW5ndGgm
IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBmbG9hdCBwcm9ncmVzcykKIHsKICAg
ICByZXR1cm4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZShDYWxjT3BlcmF0b3I6Ok11bHRp
cGx5LCBjcmVhdGVDU1MobGVuZ3RoLCBzdHlsZSksCi0gICAgICAgIENTU0NhbGNQcmltaXRpdmVW
YWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByb2dyZXNzLCBDU1NV
bml0VHlwZTo6Q1NTX05VTUJFUiksICFwcm9ncmVzcyB8fCBwcm9ncmVzcyA9PSAxKSk7CisgICAg
ICAgIENTU0NhbGNQcmltaXRpdmVWYWx1ZU5vZGU6OmNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKHByb2dyZXNzLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUikpKTsKIH0KIAogc3RhdGlj
IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGNyZWF0ZUNTUyhjb25zdCBDYWxjRXhwcmVz
c2lvbk5vZGUmIG5vZGUsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKQEAgLTk3OCw3ICs5NTMs
NyBAQCBzdGF0aWMgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gY3JlYXRlQ1NTKGNvbnN0
IENhbGNFeHByZXNzaW9uTm9kZSYgbm9kZSwgYwogICAgIHN3aXRjaCAobm9kZS50eXBlKCkpIHsK
ICAgICBjYXNlIENhbGNFeHByZXNzaW9uTm9kZVR5cGU6Ok51bWJlcjogewogICAgICAgICBmbG9h
dCB2YWx1ZSA9IGRvd25jYXN0PENhbGNFeHByZXNzaW9uTnVtYmVyPihub2RlKS52YWx1ZSgpOwot
ICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKSwgdmFsdWUg
PT0gc3RkOjp0cnVuYyh2YWx1ZSkpOworICAgICAgICByZXR1cm4gQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUsIENTU1VuaXRU
eXBlOjpDU1NfTlVNQkVSKSk7CiAgICAgfQogICAgIGNhc2UgQ2FsY0V4cHJlc3Npb25Ob2RlVHlw
ZTo6TGVuZ3RoOgogICAgICAgICByZXR1cm4gY3JlYXRlQ1NTKGRvd25jYXN0PENhbGNFeHByZXNz
aW9uTGVuZ3RoPihub2RlKS5sZW5ndGgoKSwgc3R5bGUpOwpAQCAtMTAyMCw3ICs5OTUsNyBAQCBz
dGF0aWMgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gY3JlYXRlQ1NTKGNvbnN0IExlbmd0
aCYgbGVuZ3RoLCBjb25zdCBSZW5kZQogICAgIHN3aXRjaCAobGVuZ3RoLnR5cGUoKSkgewogICAg
IGNhc2UgUGVyY2VudDoKICAgICBjYXNlIEZpeGVkOgotICAgICAgICByZXR1cm4gQ1NTQ2FsY1By
aW1pdGl2ZVZhbHVlTm9kZTo6Y3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobGVuZ3Ro
LCBzdHlsZSksIGxlbmd0aC52YWx1ZSgpID09IHRydW5jKGxlbmd0aC52YWx1ZSgpKSk7CisgICAg
ICAgIHJldHVybiBDU1NDYWxjUHJpbWl0aXZlVmFsdWVOb2RlOjpjcmVhdGUoQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZShsZW5ndGgsIHN0eWxlKSk7CiAgICAgY2FzZSBDYWxjdWxhdGVkOgogICAg
ICAgICByZXR1cm4gY3JlYXRlQ1NTKGxlbmd0aC5jYWxjdWxhdGlvblZhbHVlKCkuZXhwcmVzc2lv
bigpLCBzdHlsZSk7CiAgICAgY2FzZSBBdXRvOgpAQCAtMTA2NSw2ICsxMDQwLDIwIEBAIGRvdWJs
ZSBDU1NDYWxjVmFsdWU6OmNvbXB1dGVMZW5ndGhQeChjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhJiBjb252ZXJzaW9uCiAgICAgcmV0dXJuIGNsYW1wVG9QZXJtaXR0ZWRSYW5nZShtX2V4
cHJlc3Npb24tPmNvbXB1dGVMZW5ndGhQeChjb252ZXJzaW9uRGF0YSkpOwogfQogCitib29sIENT
U0NhbGNWYWx1ZTo6aXNDYWxjRnVuY3Rpb24oQ1NTVmFsdWVJRCBmdW5jdGlvbklkKQoreworICAg
IHN3aXRjaCAoZnVuY3Rpb25JZCkgeworICAgIGNhc2UgQ1NTVmFsdWVDYWxjOgorICAgIGNhc2Ug
Q1NTVmFsdWVXZWJraXRDYWxjOgorICAgIGNhc2UgQ1NTVmFsdWVNaW46CisgICAgY2FzZSBDU1NW
YWx1ZU1heDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgQ1NTQ2FsY1Zh
bHVlOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAogewogICAgIHRzIDw8IGluZGVudCA8PCAi
KCIgPDwgIkNTU0NhbGNWYWx1ZSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuaAppbmRleCA1Mjg3YmQ4ZDcyNjNlZjUyMzg2ZmY0OWEwZDI3YThlNjVlNGEyNTUxLi43ZDA5
ZjdlMWNmY2QyOGE2YzNhNzk2NDgzMmQ1ZWQ2MTdmNTJjNjk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgZG91Ymxl
IGNvbXB1dGVMZW5ndGhQeChjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJikgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdCA9IDA7Ci0gICAg
dmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIG90aGVyKSBj
b25zdCB7IHJldHVybiBtX2NhdGVnb3J5ID09IG90aGVyLm1fY2F0ZWdvcnkgJiYgbV9pc0ludGVn
ZXIgPT0gb3RoZXIubV9pc0ludGVnZXI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0
IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fY2F0ZWdvcnkg
PT0gb3RoZXIubV9jYXRlZ29yeTsgfQogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgQ1NTVW5pdFR5cGUgcHJpbWl0aXZlVHlwZSgpIGNvbnN0ID0gMDsKIApA
QCAtNzgsMjAgKzc4LDE3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdERpcmVj
dFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mKSBj
b25zdCA9IDA7CiAKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyBy
ZXR1cm4gbV9jYXRlZ29yeTsgfQotICAgIGJvb2wgaXNJbnRlZ2VyKCkgY29uc3QgeyByZXR1cm4g
bV9pc0ludGVnZXI7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25z
dCA9IDA7CiAKIHByb3RlY3RlZDoKLSAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2FsY3VsYXRp
b25DYXRlZ29yeSBjYXRlZ29yeSwgYm9vbCBpc0ludGVnZXIpCisgICAgQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlKENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkpCiAgICAgICAgIDogbV9jYXRlZ29y
eShjYXRlZ29yeSkKLSAgICAgICAgLCBtX2lzSW50ZWdlcihpc0ludGVnZXIpCiAgICAgewogICAg
IH0KIAogcHJpdmF0ZToKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IG1fY2F0ZWdvcnk7Ci0gICAg
Ym9vbCBtX2lzSW50ZWdlcjsKIH07CiAKIGNsYXNzIENTU0NhbGNWYWx1ZSBmaW5hbCA6IHB1Ymxp
YyBDU1NWYWx1ZSB7CkBAIC0xMDEsMTAgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQ
dHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGUoY29uc3QgQ2FsY3VsYXRpb25WYWx1ZSYsIGNvbnN0IFJl
bmRlclN0eWxlJik7CiAKICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3Qg
eyByZXR1cm4gbV9leHByZXNzaW9uLT5jYXRlZ29yeSgpOyB9Ci0gICAgYm9vbCBpc0ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aXNJbnRlZ2VyKCk7IH0KICAgICBkb3VibGUgZG91
YmxlVmFsdWUoKSBjb25zdDsKLSAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdCB7IHJldHVybiBt
X2V4cHJlc3Npb24tPmRvdWJsZVZhbHVlKCkgPiAwOyB9Ci0gICAgYm9vbCBpc05lZ2F0aXZlKCkg
Y29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5kb3VibGVWYWx1ZSgpIDwgMDsgfQogICAgIGRv
dWJsZSBjb21wdXRlTGVuZ3RoUHgoY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYpIGNv
bnN0OwogICAgIENTU1VuaXRUeXBlIHByaW1pdGl2ZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX2V4
cHJlc3Npb24tPnByaW1pdGl2ZVR5cGUoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDczNTk2ZWU5ZmY3MGFlMmU1
Zjk4ZDRmYTgwY2FmYWEzZDhmMDliMzcuLjFjNGUzNmYxNDk2YjgxYmNmZjI0ZjVhNGM0YTI3YWQ5
YThjMTE5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgaW5saW5lIHN0YXRpYyBSZWY8Q1NT
UHJpbWl0aXZlVmFsdWU+IHpvb21BZGp1c3RlZE51bWJlclZhbHVlKGRvdWJsZSB2YWx1ZSwgY29u
c3QKICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVWYWx1ZSh2YWx1
ZSAvIHN0eWxlLmVmZmVjdGl2ZVpvb20oKSwgQ1NTVW5pdFR5cGU6OkNTU19OVU1CRVIpOwogfQog
Ci1zdGF0aWMgUmVmPENTU1ZhbHVlPiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKGNv
bnN0IExlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCitzdGF0aWMgUmVm
PENTU1ByaW1pdGl2ZVZhbHVlPiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKGNvbnN0
IExlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7CiAgICAgaWYgKGxl
bmd0aC5pc0ZpeGVkKCkpCiAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKGxl
bmd0aC52YWx1ZSgpLCBzdHlsZSk7CkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gcGVyY2VudGFnZU9yWm9vbUFkanVzdGVkVmFsdWUoTGVuZ3RoIGxlbmd0
aCwgY29uc3QKICAgICBpZiAobGVuZ3RoLmlzUGVyY2VudCgpKQogICAgICAgICByZXR1cm4gQ1NT
VmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVWYWx1ZShsZW5ndGgucGVyY2VudCgpLCBDU1NV
bml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgIAotICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlKHZhbHVlRm9yTGVuZ3RoKGxlbmd0aCwgMCksIHN0eWxlKTsKKyAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxlbmd0aChsZW5ndGgsIHN0eWxlKTsKIH0KIAogc3Rh
dGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gYXV0b09yWm9vbUFkanVzdGVkVmFsdWUoTGVuZ3Ro
IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpAQCAtNDYyLDcgKzQ2Miw3IEBAIHN0
YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IGF1dG9Pclpvb21BZGp1c3RlZFZhbHVlKExlbmd0
aCBsZW5ndGgsIGNvbnN0IFJlbmRlCiAgICAgaWYgKGxlbmd0aC5pc0F1dG8oKSkKICAgICAgICAg
cmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlQXV0byk7CiAKLSAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh2YWx1ZUZv
ckxlbmd0aChsZW5ndGgsIDApLCBzdHlsZSk7CisgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVs
VmFsdWVGb3JMZW5ndGgobGVuZ3RoLCBzdHlsZSk7CiB9CiAKIHN0YXRpYyBSZWY8Q1NTVmFsdWVM
aXN0PiBib3JkZXJSYWRpdXNDb3JuZXJWYWx1ZXMoY29uc3QgTGVuZ3RoU2l6ZSYgcmFkaXVzLCBj
b25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmNwcAppbmRleCA3Y2FjYmIzMTFhOGU5NmRkOWRkZDhmMGExNWFkYjMxZDEwMzQ2MzFhLi5i
MzI4YjcwYTUxMTI5YzgzM2MxNzg1N2JjMGYyZjAzYjk5ZGM0OTNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTcxNCw2ICs3MTQsOSBAQCBkb3VibGUgQ1NT
UHJpbWl0aXZlVmFsdWU6OmNvbnZlcnNpb25Ub0Nhbm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IoQ1NT
VW5pdFR5cGUgdW5pdAogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19NTToKICAgICAgICAgZmFj
dG9yID0gY3NzUGl4ZWxzUGVySW5jaCAvIG1tUGVySW5jaDsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1Blcklu
Y2ggLyBRUGVySW5jaDsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lOOgogICAgICAgICBmYWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoOwogICAgICAgICBicmVhazsK
QEAgLTc2NCwzMSArNzY3LDI1IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6ZG91YmxlVmFs
dWUoKSBjb25zdAogICAgIHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpICE9IENTU1VuaXRUeXBl
OjpDU1NfQ0FMQyA/IG1fdmFsdWUubnVtIDogbV92YWx1ZS5jYWxjLT5kb3VibGVWYWx1ZSgpOwog
fQogCi1DU1NVbml0VHlwZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y2Fub25pY2FsVW5pdFR5cGVGb3JD
YXRlZ29yeShDU1NVbml0Q2F0ZWdvcnkgY2F0ZWdvcnkpCitPcHRpb25hbDxib29sPiBDU1NQcmlt
aXRpdmVWYWx1ZTo6aXNaZXJvKCkgY29uc3QKIHsKLSAgICAvLyBUaGUgY2Fub25pY2FsIHVuaXQg
dHlwZSBpcyBjaG9zZW4gYWNjb3JkaW5nIHRvIHRoZSB3YXkgQ1NTUGFyc2VyOjp2YWxpZFVuaXQo
KSBjaG9vc2VzIHRoZSBkZWZhdWx0IHVuaXQKLSAgICAvLyBpbiBlYWNoIGNhdGVnb3J5IChiYXNl
ZCBvbiB1bml0ZmxhZ3MpLgotICAgIC8vIENhbm9uaWNhbCB1bml0cyBhcmUgc3BlY2lmaWVkIGlu
IDxodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00Pi4KLSAgICBzd2l0Y2ggKGNh
dGVnb3J5KSB7Ci0gICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6Ok51bWJlcjoKLSAgICAgICAgcmV0
dXJuIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpM
ZW5ndGg6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX1BYOwotICAgIGNhc2UgQ1NT
VW5pdENhdGVnb3J5OjpQZXJjZW50OgotICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19V
TktOT1dOOyAvLyBDYW5ub3QgY29udmVydCBiZXR3ZWVuIG51bWJlcnMgYW5kIHBlcmNlbnQuCi0g
ICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX01TOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpBbmdsZToKLSAgICAgICAgcmV0
dXJuIENTU1VuaXRUeXBlOjpDU1NfREVHOwotICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpGcmVx
dWVuY3k6Ci0gICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX0haOwotI2lmIEVOQUJMRShD
U1NfSU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJFU09MVVRJT05fTUVESUFfUVVFUlkpCi0g
ICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlJlc29sdXRpb246Ci0gICAgICAgIHJldHVybiBDU1NV
bml0VHlwZTo6Q1NTX0RQUFg7Ci0jZW5kaWYKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4g
Q1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOwotICAgIH0KKyAgICBpZiAocHJpbWl0aXZlVW5pdFR5
cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0NBTEMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisgICAgcmV0dXJuICFtX3ZhbHVlLm51bTsKK30KKworT3B0aW9uYWw8Ym9vbD4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzUG9zaXRpdmUoKSBjb25zdAoreworICAgIGlmIChwcmltaXRpdmVVbml0
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKyAgICByZXR1cm4gbV92YWx1ZS5udW0gPiAwOworfQorCitPcHRpb25hbDxib29sPiBD
U1NQcmltaXRpdmVWYWx1ZTo6aXNOZWdhdGl2ZSgpIGNvbnN0Cit7CisgICAgaWYgKHByaW1pdGl2
ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19DQUxDKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgIHJldHVybiBtX3ZhbHVlLm51bSA8IDA7CiB9CiAKIE9wdGlvbmFsPGRv
dWJsZT4gQ1NTUHJpbWl0aXZlVmFsdWU6OmRvdWJsZVZhbHVlSW50ZXJuYWwoQ1NTVW5pdFR5cGUg
cmVxdWVzdGVkVW5pdFR5cGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZS5oCmluZGV4IDY4Y2JiMThmMmIxY2I3N2RhYTBjMDM0ZjE2MzJjZDg3MGM1YTk0ZGUuLjIyNDFi
NzA5N2M0NDllZmQwMDc0YTg2MGUwMTgyMjdmNDljNmRmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5oCkBAIC04MSw3ICs4MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBpc1Jlc29sdXRpb24oQ1NTVW5pdFR5cGUpOwogICAgIHN0YXRpYyBib29sIGlzVmlld3Bv
cnRQZXJjZW50YWdlTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpIHsgcmV0dXJuIHR5cGUgPj0gQ1NT
VW5pdFR5cGU6OkNTU19WVyAmJiB0eXBlIDw9IENTU1VuaXRUeXBlOjpDU1NfVk1BWDsgfQogCi0g
ICAgYm9vbCBpc0FuZ2xlKCkgY29uc3Q7CisgICAgLy8gRklYTUU6IFNvbWUgb2YgdGhlc2UgdXNl
IHByaW1pdGl2ZVVuaXRUeXBlKCkgYW5kIHNvbWUgdXNlIHByaW1pdGl2ZVR5cGUoKS4gVGhvc2Ug
dGhhdCB1c2UgcHJpbWl0aXZlVW5pdFR5cGUoKSBhcmUgYnJva2VuIHdpdGggY2FsYygpLgorICAg
IGJvb2wgaXNBbmdsZSgpIGNvbnN0IHsgcmV0dXJuIHVuaXRDYXRlZ29yeShwcmltaXRpdmVUeXBl
KCkpID09IENTU1VuaXRDYXRlZ29yeTo6QW5nbGU7IH0KICAgICBib29sIGlzQXR0cigpIGNvbnN0
IHsgcmV0dXJuIHByaW1pdGl2ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19BVFRSOyB9
CiAgICAgYm9vbCBpc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgp
ID09IENTU1VuaXRUeXBlOjpDU1NfQ09VTlRFUjsgfQogICAgIGJvb2wgaXNGb250SW5kZXBlbmRl
bnRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpID49IENTU1VuaXRU
eXBlOjpDU1NfUFggJiYgcHJpbWl0aXZlVW5pdFR5cGUoKSA8PSBDU1NVbml0VHlwZTo6Q1NTX1BD
OyB9CkBAIC05OCw3ICs5OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2hhcGUoKSBjb25zdCB7
IHJldHVybiBwcmltaXRpdmVVbml0VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfU0hBUEU7IH0K
ICAgICBib29sIGlzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9
PSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzsgfQogICAgIGJvb2wgaXNGb250RmFtaWx5KCkgY29u
c3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0ZPTlRf
RkFNSUxZOyB9Ci0gICAgYm9vbCBpc1RpbWUoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfUyB8fCBwcmltaXRpdmVVbml0VHlwZSgpID09IENT
U1VuaXRUeXBlOjpDU1NfTVM7IH0KKyAgICBib29sIGlzVGltZSgpIGNvbnN0IHsgcmV0dXJuIHVu
aXRDYXRlZ29yeShwcmltaXRpdmVVbml0VHlwZSgpKSA9PSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU7
IH0KKyAgICBib29sIGlzRnJlcXVlbmN5KCkgY29uc3QgeyByZXR1cm4gdW5pdENhdGVnb3J5KHBy
aW1pdGl2ZVR5cGUoKSkgPT0gQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k7IH0KICAgICBib29s
IGlzVVJJKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1VSSTsgfQogICAgIGJvb2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1cm4gcHJp
bWl0aXZlVW5pdFR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0NBTEM7IH0KICAgICBib29sIGlz
Q2FsY3VsYXRlZFBlcmNlbnRhZ2VXaXRoTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZl
VHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX1dJVEhfTlVNQkVSOyB9
CkBAIC0xMDYsNyArMTA4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNEb3RzUGVySW5jaCgpIGNv
bnN0IHsgcmV0dXJuIHByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX0RQSTsgfQog
ICAgIGJvb2wgaXNEb3RzUGVyUGl4ZWwoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVUeXBlKCkg
PT0gQ1NTVW5pdFR5cGU6OkNTU19EUFBYOyB9CiAgICAgYm9vbCBpc0RvdHNQZXJDZW50aW1ldGVy
KCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfRFBD
TTsgfQotICAgIGJvb2wgaXNSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNSZXNvbHV0aW9u
KHByaW1pdGl2ZVR5cGUoKSk7IH0KKyAgICBib29sIGlzUmVzb2x1dGlvbigpIGNvbnN0IHsgcmV0
dXJuIHVuaXRDYXRlZ29yeShwcmltaXRpdmVUeXBlKCkpID09IENTU1VuaXRDYXRlZ29yeTo6UmVz
b2x1dGlvbjsgfQogICAgIGJvb2wgaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSBjb25zdCB7
IHJldHVybiBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aChwcmltaXRpdmVVbml0VHlwZSgpKTsg
fQogICAgIGJvb2wgaXNWaWV3cG9ydFBlcmNlbnRhZ2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHBy
aW1pdGl2ZVVuaXRUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6OkNTU19WVzsgfQogICAgIGJvb2wgaXNW
aWV3cG9ydFBlcmNlbnRhZ2VIZWlnaHQoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVVbml0VHlw
ZSgpID09IENTU1VuaXRUeXBlOjpDU1NfVkg7IH0KQEAgLTE1NSw4ICsxNTcsMTQgQEAgcHVibGlj
OgogICAgIGJvb2wgY29udmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUoaW50IGxl
bmd0aENvbnZlcnNpb24pIGNvbnN0OwogCiAgICAgZG91YmxlIGRvdWJsZVZhbHVlKENTU1VuaXRU
eXBlKSBjb25zdDsKKyAgICAvLyBJdCdzIHVzdWFsbHkgd3JvbmcgdG8gY2FsbCB0aGlzOyBpdCBj
YW4gdHJpZ2dlciB0eXBlIGNvbnZlcnNpb24gaW4gY2FsYyB3aXRob3V0IHN1ZmZpY2llbnQgY29u
dGV4dCB0byByZXNvbHZlIHJlbGF0aXZlIGxlbmd0aCB1bml0cy4KICAgICBkb3VibGUgZG91Ymxl
VmFsdWUoKSBjb25zdDsKIAorICAgIC8vIFRoZXNlIHJldHVybiBudWxsb3B0IGZvciBjYWxjLCBm
b3Igd2hpY2ggcmFuZ2UgY2hlY2tpbmcgaXMgbm90IGRvbmUgYXQgcGFyc2UgdGltZTogPGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jY2FsYy1yYW5nZT4uCisgICAgT3B0aW9uYWw8
Ym9vbD4gaXNaZXJvKCkgY29uc3Q7CisgICAgT3B0aW9uYWw8Ym9vbD4gaXNQb3NpdGl2ZSgpIGNv
bnN0OworICAgIE9wdGlvbmFsPGJvb2w+IGlzTmVnYXRpdmUoKSBjb25zdDsKKwogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIHZhbHVlKENTU1VuaXRUeXBlIHR5cGUpIGNvbnN0IHsg
cmV0dXJuIGNsYW1wVG88VD4oZG91YmxlVmFsdWUodHlwZSkpOyB9CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIFQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBjbGFtcFRvPFQ+KGRvdWJs
ZVZhbHVlKCkpOyB9CiAKQEAgLTE4OCw3ICsxOTYsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGVx
dWFscyhjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYpIGNvbnN0OwogCi0gICAgc3RhdGljIENTU1Vu
aXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkoQ1NTVW5pdENhdGVnb3J5KTsKICAg
ICBzdGF0aWMgZG91YmxlIGNvbnZlcnNpb25Ub0Nhbm9uaWNhbFVuaXRzU2NhbGVGYWN0b3IoQ1NT
VW5pdFR5cGUpOwogCiAgICAgc3RhdGljIGRvdWJsZSBjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJs
ZShjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTVW5pdFR5cGUsIGRvdWJsZSB2
YWx1ZSk7CkBAIC0yNTYsMTUgKzI2Myw2IEBAIHByaXZhdGU6CiAgICAgfSBtX3ZhbHVlOwogfTsK
IAotaW5saW5lIGJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzQW5nbGUoKSBjb25zdAotewotICAg
IGF1dG8gcHJpbWl0aXZlVHlwZSA9IHRoaXMtPnByaW1pdGl2ZVR5cGUoKTsKLSAgICByZXR1cm4g
cHJpbWl0aXZlVHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0RFRwotICAgICAgICB8fCBwcmltaXRp
dmVUeXBlID09IENTU1VuaXRUeXBlOjpDU1NfUkFECi0gICAgICAgIHx8IHByaW1pdGl2ZVR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19HUkFECi0gICAgICAgIHx8IHByaW1pdGl2ZVR5cGUgPT0gQ1NT
VW5pdFR5cGU6OkNTU19UVVJOOwotfQotCiBpbmxpbmUgYm9vbCBDU1NQcmltaXRpdmVWYWx1ZTo6
aXNGb250UmVsYXRpdmVMZW5ndGgoQ1NTVW5pdFR5cGUgdHlwZSkKIHsKICAgICByZXR1cm4gdHlw
ZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VNUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKaW5kZXggODkw
YjMzZjVlMzFlMzQ1ZGQzZWNjNmRmZWMyNzMzZGE3NGJmY2VlYi4uNGI3NDc0ZGI2MWRiMTg0MmRm
ZTk4Nzg1NWUxNzYwNDdhMTM2MjIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCkBAIC00OSwx
NSArNDksNDIgQEAgQ1NTVW5pdENhdGVnb3J5IHVuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19IWjoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfS0haOgogICAgICAgICByZXR1cm4gQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k7Ci0jaWYg
RU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKSB8fCBFTkFCTEUoUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBQWDoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfRFBJOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOgogICAgICAgICBy
ZXR1cm4gQ1NTVW5pdENhdGVnb3J5OjpSZXNvbHV0aW9uOwotI2VuZGlmCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgcmV0dXJuIENTU1VuaXRDYXRlZ29yeTo6T3RoZXI7CiAgICAgfQogfQogCitDU1NV
bml0VHlwZSBjYW5vbmljYWxVbml0VHlwZUZvckNhdGVnb3J5KENTU1VuaXRDYXRlZ29yeSBjYXRl
Z29yeSkKK3sKKyAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CisgICAgY2FzZSBDU1NVbml0Q2F0ZWdv
cnk6Ok51bWJlcjoKKyAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSOworICAg
IGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpMZW5ndGg6CisgICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX1BYOworICAgIGNhc2UgQ1NTVW5pdENhdGVnb3J5OjpQZXJjZW50OgorICAgICAgICBy
ZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOyAvLyBDYW5ub3QgY29udmVydCBiZXR3ZWVu
IG51bWJlcnMgYW5kIHBlcmNlbnQuCisgICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlRpbWU6Cisg
ICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX01TOworICAgIGNhc2UgQ1NTVW5pdENhdGVn
b3J5OjpBbmdsZToKKyAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfREVHOworICAgIGNh
c2UgQ1NTVW5pdENhdGVnb3J5OjpGcmVxdWVuY3k6CisgICAgICAgIHJldHVybiBDU1NVbml0VHlw
ZTo6Q1NTX0haOworI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJF
U09MVVRJT05fTUVESUFfUVVFUlkpCisgICAgY2FzZSBDU1NVbml0Q2F0ZWdvcnk6OlJlc29sdXRp
b246CisgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NTX0RQUFg7CisjZW5kaWYKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOworICAgIH0K
K30KKworQ1NTVW5pdFR5cGUgY2Fub25pY2FsVW5pdFR5cGUoQ1NTVW5pdFR5cGUgdW5pdFR5cGUp
Cit7CisgICAgcmV0dXJuIGNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkodW5pdENhdGVnb3J5
KHVuaXRUeXBlKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRz
LmgKaW5kZXggYTUxOGJjYTdmOWMxZTcxNGY1NWQ4ZTQ4YWVhMGU1MmQzOGVlMmE3Mi4uOWE5M2Jh
YjhjOGZlNmY0NzRiMzA1NzAxNmNiYjVmMDQ5MTRhMTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
QEAgLTk4LDEzICs5OCwxMyBAQCBlbnVtIGNsYXNzIENTU1VuaXRDYXRlZ29yeSA6IHVpbnQ4X3Qg
ewogICAgIEFuZ2xlLAogICAgIFRpbWUsCiAgICAgRnJlcXVlbmN5LAotI2lmIEVOQUJMRShDU1Nf
SU1BR0VfUkVTT0xVVElPTikgfHwgRU5BQkxFKFJFU09MVVRJT05fTUVESUFfUVVFUlkpCiAgICAg
UmVzb2x1dGlvbiwKLSNlbmRpZgogICAgIE90aGVyCiB9OwogCiBDU1NVbml0Q2F0ZWdvcnkgdW5p
dENhdGVnb3J5KENTU1VuaXRUeXBlKTsKK0NTU1VuaXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBlRm9y
Q2F0ZWdvcnkoQ1NTVW5pdENhdGVnb3J5KTsKK0NTU1VuaXRUeXBlIGNhbm9uaWNhbFVuaXRUeXBl
KENTU1VuaXRUeXBlKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGU3YTJiNDRmZjA2
NmQ5MWY5NjFjOTE1ZTFmOTAxNWNkMzI5YzZlYzIuLmViZDBlYWY1ZjY3NjdkZmMyZDk0NmU0ZThj
MWEwMzdhOWM3MzgxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC0xMzgwLDggKzEzODAsOSBAQCBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ29sdW1uV2lkdGgoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAg
Ly8gQWx3YXlzIHBhcnNlIGxlbmd0aHMgaW4gc3RyaWN0IG1vZGUgaGVyZSwgc2luY2UgaXQgd291
bGQgYmUgYW1iaWd1b3VzIG90aGVyd2lzZSB3aGVuIHVzZWQgaW4KICAgICAvLyB0aGUgJ2NvbHVt
bnMnIHNob3J0aGFuZCBwcm9wZXJ0eS4KICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNv
bHVtbldpZHRoID0gY29uc3VtZUxlbmd0aChyYW5nZSwgSFRNTFN0YW5kYXJkTW9kZSwgVmFsdWVS
YW5nZU5vbk5lZ2F0aXZlKTsKLSAgICBpZiAoIWNvbHVtbldpZHRoIHx8ICghY29sdW1uV2lkdGgt
PmlzQ2FsY3VsYXRlZCgpICYmICFjb2x1bW5XaWR0aC0+ZG91YmxlVmFsdWUoKSkgfHwgKGNvbHVt
bldpZHRoLT5jc3NDYWxjVmFsdWUoKSAmJiAhY29sdW1uV2lkdGgtPmNzc0NhbGNWYWx1ZSgpLT5k
b3VibGVWYWx1ZSgpKSkKKyAgICBpZiAoIWNvbHVtbldpZHRoIHx8IGNvbHVtbldpZHRoLT5pc1pl
cm8oKS52YWx1ZU9yKGZhbHNlKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICByZXR1
cm4gY29sdW1uV2lkdGg7CiB9CiAKQEAgLTIyODAsOCArMjI4MSwxMyBAQCBzdGF0aWMgUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lUGVyc3BlY3RpdmUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UsCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgcGFyc2VkVmFs
dWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHBlcnNwZWN0aXZlLCBDU1NVbml0VHlwZTo6
Q1NTX1BYKTsKICAgICB9Ci0gICAgaWYgKHBhcnNlZFZhbHVlICYmIChwYXJzZWRWYWx1ZS0+aXND
YWxjdWxhdGVkKCkgfHwgcGFyc2VkVmFsdWUtPmRvdWJsZVZhbHVlKCkgPiAwKSkKKworICAgIGlm
ICghcGFyc2VkVmFsdWUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKHBhcnNl
ZFZhbHVlLT5pc1Bvc2l0aXZlKCkudmFsdWVPcih0cnVlKSkKICAgICAgICAgcmV0dXJuIHBhcnNl
ZFZhbHVlOworCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTM2ODcsMTIgKzM2OTMsMTMg
QEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZVdlYmtpdEFzcGVjdFJhdGlvKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgICAgICByZXR1cm4gY29uc3VtZUlkZW50PENTU1Zh
bHVlQXV0bywgQ1NTVmFsdWVGcm9tRGltZW5zaW9ucywgQ1NTVmFsdWVGcm9tSW50cmluc2ljPihy
YW5nZSk7CiAgICAgCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBsZWZ0VmFsdWUgPSBj
b25zdW1lTnVtYmVyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOwotICAgIGlmICghbGVm
dFZhbHVlIHx8ICFsZWZ0VmFsdWUtPmZsb2F0VmFsdWUoKSB8fCByYW5nZS5hdEVuZCgpIHx8ICFj
b25zdW1lU2xhc2hJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSkKKyAgICBpZiAoIWxlZnRWYWx1
ZSB8fCBsZWZ0VmFsdWUtPmlzWmVybygpLnZhbHVlT3IoZmFsc2UpIHx8IHJhbmdlLmF0RW5kKCkg
fHwgIWNvbnN1bWVTbGFzaEluY2x1ZGluZ1doaXRlc3BhY2UocmFuZ2UpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKwogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcmlnaHRWYWx1ZSA9
IGNvbnN1bWVOdW1iZXIocmFuZ2UsIFZhbHVlUmFuZ2VOb25OZWdhdGl2ZSk7Ci0gICAgaWYgKCFy
aWdodFZhbHVlIHx8ICFyaWdodFZhbHVlLT5mbG9hdFZhbHVlKCkpCisgICAgaWYgKCFyaWdodFZh
bHVlIHx8IHJpZ2h0VmFsdWUtPmlzWmVybygpLnZhbHVlT3IoZmFsc2UpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICAKKwogICAgIHJldHVybiBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjcmVh
dGUobGVmdFZhbHVlLT5mbG9hdFZhbHVlKCksIHJpZ2h0VmFsdWUtPmZsb2F0VmFsdWUoKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmNwcAppbmRleCAyMWEyYjMwNWNiZWZkOGM1N2E2ZmRiNzY4MzllYjVmMTMyNjEy
NTYzLi4xZTA5MjJiMzA5NWU5YWY3ZTEyYmI0NWMxZGM5MTA3NmU2MjRjNWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMu
Y3BwCkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGNvbnN0IENTU1Bh
cnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKICAgICAgICAgYXV0byBmdW5jdGlvbklk
ID0gdG9rZW4uZnVuY3Rpb25JZCgpOwotICAgICAgICBpZiAoZnVuY3Rpb25JZCA9PSBDU1NWYWx1
ZUNhbGMgfHwgZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZVdlYmtpdENhbGMgfHwgZnVuY3Rpb25JZCA9
PSBDU1NWYWx1ZU1pbiB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWF4KQorICAgICAgICBpZiAo
Q1NTQ2FsY1ZhbHVlOjppc0NhbGNGdW5jdGlvbihmdW5jdGlvbklkKSkKICAgICAgICAgICAgIG1f
Y2FsY1ZhbHVlID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoZnVuY3Rpb25JZCwgY29uc3VtZUZ1bmN0
aW9uKG1fcmFuZ2UpLCBkZXN0aW5hdGlvbkNhdGVnb3J5LCB2YWx1ZVJhbmdlKTsKICAgICB9CiAK
QEAgLTEwNSw3ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghbV9jYWxjVmFsdWUpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgbV9zb3VyY2VSYW5nZSA9IG1fcmFu
Z2U7Ci0KICAgICAgICAgZG91YmxlIHZhbHVlID0gc3RkOjptYXgobV9jYWxjVmFsdWUtPmRvdWJs
ZVZhbHVlKCksIG1pbmltdW1WYWx1ZSk7CiAgICAgICAgIHZhbHVlID0gc3RkOjpyb3VuZCh2YWx1
ZSk7CiAgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZVZhbHVl
KHZhbHVlLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUik7CkBAIC0xMjgsMTcgKzEyNyw2IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIAotICAgIGJvb2wgY29uc3Vt
ZVBvc2l0aXZlSW50ZWdlclJhdyhpbnQmIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9j
YWxjVmFsdWUgfHwgbV9jYWxjVmFsdWUtPmNhdGVnb3J5KCkgIT0gQ2FsY3VsYXRpb25DYXRlZ29y
eTo6TnVtYmVyIHx8ICFtX2NhbGNWYWx1ZS0+aXNJbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8aW50PihtX2NhbGNWYWx1ZS0+ZG91
YmxlVmFsdWUoKSk7Ci0gICAgICAgIGlmIChyZXN1bHQgPCAxKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICBtX3NvdXJjZVJhbmdlID0gbV9yYW5nZTsKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotCiBwcml2YXRlOgogICAgIENTU1BhcnNlclRva2VuUmFuZ2UmIG1fc291
cmNlUmFuZ2U7CiAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSBtX3JhbmdlOwpAQCAtMTcyLDIzICsx
NjAsNiBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVQb3NpdGl2ZUludGVnZXIo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJh
bmdlLCAxKTsKIH0KIAotYm9vbCBjb25zdW1lUG9zaXRpdmVJbnRlZ2VyUmF3KENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBpbnQmIHJlc3VsdCkKLXsKLSAgICBjb25zdCBDU1NQYXJzZXJUb2tl
biYgdG9rZW4gPSByYW5nZS5wZWVrKCk7Ci0gICAgaWYgKHRva2VuLnR5cGUoKSA9PSBOdW1iZXJU
b2tlbikgewotICAgICAgICBpZiAodG9rZW4ubnVtZXJpY1ZhbHVlVHlwZSgpID09IE51bWJlclZh
bHVlVHlwZSB8fCB0b2tlbi5udW1lcmljVmFsdWUoKSA8IDEpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNl
KCkubnVtZXJpY1ZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIGlm
ICh0b2tlbi50eXBlKCkgIT0gRnVuY3Rpb25Ub2tlbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpO
dW1iZXIpOwotICAgIHJldHVybiBjYWxjUGFyc2VyLmNvbnN1bWVQb3NpdGl2ZUludGVnZXJSYXco
cmVzdWx0KTsKLX0KLSAgICAKIGJvb2wgY29uc3VtZU51bWJlclJhdyhDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSwgZG91YmxlJiByZXN1bHQpCiB7CiAgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4m
IHRva2VuID0gcmFuZ2UucGVlaygpOwpAQCAtMjE3LDEzICsxODgsMTEgQEAgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBjb25zdW1lTnVtYmVyKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBW
YWx1ZVJhbmdlIHYKICAgICBpZiAodG9rZW4udHlwZSgpICE9IEZ1bmN0aW9uVG9rZW4pCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ2FsY1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBD
YWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIsIFZhbHVlUmFuZ2VBbGwpOwotICAgIGlmIChjb25z
dCBDU1NDYWxjVmFsdWUqIGNhbGN1bGF0aW9uID0gY2FsY1BhcnNlci52YWx1ZSgpKSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBDYWxjcyBzaG91bGQgbm90IGJlIHN1YmplY3QgdG8gcGFyc2UgdGltZSBy
YW5nZSBjaGVja3MuCi0gICAgICAgIC8vIHNwZWM6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtdmFsdWVzLTMvI2NhbGMtcmFuZ2UKLSAgICAgICAgaWYgKGNhbGN1bGF0aW9uLT5jYXRlZ29y
eSgpICE9IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlciB8fCAodmFsdWVSYW5nZSA9PSBWYWx1
ZVJhbmdlTm9uTmVnYXRpdmUgJiYgY2FsY3VsYXRpb24tPmlzTmVnYXRpdmUoKSkpCisgICAgQ2Fs
Y1BhcnNlciBjYWxjUGFyc2VyKHJhbmdlLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpOdW1iZXIsIHZh
bHVlUmFuZ2UpOworICAgIGlmIChjb25zdCBDU1NDYWxjVmFsdWUqIGNhbGNWYWx1ZSA9IGNhbGNQ
YXJzZXIudmFsdWUoKSkgeworICAgICAgICBpZiAoY2FsY1ZhbHVlLT5jYXRlZ29yeSgpICE9IENh
bGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlcikKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICByZXR1cm4gY2FsY1BhcnNlci5jb25zdW1lTnVtYmVyKCk7CisgICAgICAgIHJldHVy
biBjYWxjUGFyc2VyLmNvbnN1bWVWYWx1ZSgpOwogICAgIH0KIAogICAgIHJldHVybiBudWxscHRy
OwpAQCAtMTcwOCwxNiArMTY3NywyMCBAQCBSZWZQdHI8Q1NTU2hhZG93VmFsdWU+IGNvbnN1bWVT
aW5nbGVTaGFkb3coQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlcgogICAgIGlm
ICghdmVydGljYWxPZmZzZXQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBi
bHVyUmFkaXVzID0gY29uc3VtZUxlbmd0aChyYW5nZSwgY3NzUGFyc2VyTW9kZSwgVmFsdWVSYW5n
ZUFsbCk7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBibHVyUmFkaXVzOwogICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc3ByZWFkRGlzdGFuY2U7Ci0gICAgaWYgKGJsdXJSYWRp
dXMpIHsKLSAgICAgICAgLy8gQmx1ciByYWRpdXMgbXVzdCBiZSBub24tbmVnYXRpdmUuCi0gICAg
ICAgIGlmIChibHVyUmFkaXVzLT5kb3VibGVWYWx1ZSgpIDwgMCkKKworICAgIGNvbnN0IENTU1Bh
cnNlclRva2VuJiB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKKyAgICAvLyBUaGUgZXhwbGljaXQgY2hl
Y2sgZm9yIGNhbGMoKSBpcyB1bmZvcnR1bmF0ZS4gVGhpcyBpcyBlbnN1cmluZyB0aGF0IHdlIG9u
bHkgZmFpbCBwYXJzaW5nIGlmIHRoZXJlIGlzIGEgbGVuZ3RoLCBidXQgaXQgZmFpbHMgdGhlIHJh
bmdlIGNoZWNrLgorICAgIGlmICh0b2tlbi50eXBlKCkgPT0gRGltZW5zaW9uVG9rZW4gfHwgdG9r
ZW4udHlwZSgpID09IE51bWJlclRva2VuIHx8ICh0b2tlbi50eXBlKCkgPT0gRnVuY3Rpb25Ub2tl
biAmJiBDU1NDYWxjVmFsdWU6OmlzQ2FsY0Z1bmN0aW9uKHRva2VuLmZ1bmN0aW9uSWQoKSkpKSB7
CisgICAgICAgIGJsdXJSYWRpdXMgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQYXJzZXJNb2Rl
LCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICBpZiAoIWJsdXJSYWRpdXMpCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgaWYgKGFsbG93U3ByZWFkKQotICAgICAg
ICAgICAgc3ByZWFkRGlzdGFuY2UgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQYXJzZXJNb2Rl
LCBWYWx1ZVJhbmdlQWxsKTsKICAgICB9CiAKKyAgICBpZiAoYmx1clJhZGl1cyAmJiBhbGxvd1Nw
cmVhZCkKKyAgICAgICAgc3ByZWFkRGlzdGFuY2UgPSBjb25zdW1lTGVuZ3RoKHJhbmdlLCBjc3NQ
YXJzZXJNb2RlLCBWYWx1ZVJhbmdlQWxsKTsKKwogICAgIGlmICghcmFuZ2UuYXRFbmQoKSkgewog
ICAgICAgICBpZiAoIWNvbG9yKQogICAgICAgICAgICAgY29sb3IgPSBjb25zdW1lQ29sb3IocmFu
Z2UsIGNzc1BhcnNlck1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmgKaW5kZXggNzY3NDVhODVkMDJkOTBhMjdjZDZmZWNi
MDUzNDU3NmE1MTA0YWM5ZS4uMTU2ZWU4OGM3YTE1NzBmZTQ5YmZiMGQ5YmU2ZmU0MTQ4YmMxZWY4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ckhlbHBlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5oCkBAIC01Nyw3ICs1Nyw2IEBAIGVudW0gY2xhc3MgVW5pdGxlc3NRdWlyayB7
CiB9OwogCiBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVJbnRlZ2VyKENTU1BhcnNl
clRva2VuUmFuZ2UmLCBkb3VibGUgbWluaW11bVZhbHVlID0gLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6bWF4KCkpOwotYm9vbCBjb25zdW1lUG9zaXRpdmVJbnRlZ2VyUmF3KENTU1BhcnNl
clRva2VuUmFuZ2UmLCBpbnQmIHJlc3VsdCk7CiBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNv
bnN1bWVQb3NpdGl2ZUludGVnZXIoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwogYm9vbCBjb25zdW1l
TnVtYmVyUmF3KENTU1BhcnNlclRva2VuUmFuZ2UmLCBkb3VibGUmIHJlc3VsdCk7CiBSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVOdW1iZXIoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIFZh
bHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhlZWE4YTYzZWU0YzkwMjA4YmM1NjNkYmFlN2YyZTYzMjExNDI0
NjUuLmMzZTVmNWM0YjUxNmY1OTViNjFlM2ZmNjU5YTdkYWRmMmQ1ZDFiYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxOS0xMi0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBEb24ndCBkbyByYW5nZSBjaGVja2luZyBmb3IgY2FsYygpIGF0IHBh
cnNlIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDczNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSB0ZXN0cyB0aGF0IGFzc3VtZWQgY2FsYyByYW5nZS1jaGVja2VkIGF0IHBhcnNlIHRp
bWUuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9jb2x1bW4td2lkdGgtY2FsY3VsYXRlZC12YWx1ZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvY29sdW1uLXdpZHRoLWNhbGN1bGF0ZWQt
dmFsdWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9mbGV4LXNocmluay1jYWxjdWxhdGVkLXZh
bHVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9mbGV4LXNocmluay1jYWxjdWxh
dGVkLXZhbHVlLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1ZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLmh0
bWw6CisgICAgICAgICogZmFzdC9jc3MvdGV4dC1zaGFkb3ctY2FsYy12YWx1ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9jc3MvdGV4dC1zaGFkb3ctY2FsYy12YWx1ZS5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFw
ZS1pbWFnZS10aHJlc2hvbGQuaHRtbDoKKwogMjAxOS0xMS0zMCAgeW91ZW5uIGZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZUNvY29hOjptX3dyaXRlQ291bnQgd2hlbiBzYW1wbGVSYXRlIGNoYW5nZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU2ZDdlMWRhZGFhNmUzZDRkYzAwM2RmZDRjZmViODQz
Mzk5YTZmY2MuLjU3Y2ZkMzE4MTgzNjJlYTIyNTE1Y2Q5ZDZiZWQ1YjAxMDc0YzkxNjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEyLTAxICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IGRv
IHJhbmdlIGNoZWNraW5nIGZvciBjYWxjKCkgYXQgcGFyc2UgdGltZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzM3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy10ZXh0LWRlY29yL3BhcnNpbmcvdGV4dC1zaGFkb3ctY29tcHV0ZWQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jYWxjLW51bWJl
cnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1yYWRpdXMtMDAxLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvZ2V0Q29tcHV0ZWRTdHls
ZS1ib3JkZXItcmFkaXVzLTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL21pbm1heC1udW1iZXItc2VyaWFsaXplLWV4cGVjdGVkLnR4
dDoKKwogMjAxOS0xMi0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWIgQW5pbWF0aW9uc10gUmViYXNlbGluZSBzb21lIFdQVCBleHBlY3RhdGlvbnMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NvbHVtbi13aWR0aC1jYWxjdWxhdGVk
LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NvbHVtbi13aWR0aC1j
YWxjdWxhdGVkLXZhbHVlLWV4cGVjdGVkLnR4dAppbmRleCA0ZDY0NTgzMzk5NDNlNDYzYzBmMDRh
YTY0ZjEyYmU0ZGY1NmI4MjYzLi42MmUzYTFiMjk1NTA2YmRhOTk4MGU2NTgyNmEzMTExMjYwYmI1
ZWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb2x1bW4td2lkdGgtY2FsY3Vs
YXRlZC12YWx1ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29sdW1u
LXdpZHRoLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC05LDggKzksOCBAQCBQQVNT
IHRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddIGlzICJjYWxjKDIwMHB4KSIKIFBBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnY29sdW1uLXdp
ZHRoJykgaXMgIjIwMHB4IgogMHB4IGlzIG5vdCBhIHZhbGlkIHZhbHVlCiB0ZXN0RGl2LnN0eWxl
Wydjb2x1bW4td2lkdGgnXSA9ICdjYWxjKDBweCAqIDIpJwotUEFTUyB0ZXN0RGl2LnN0eWxlWydj
b2x1bW4td2lkdGgnXSBpcyAiY2FsYygyMDBweCkiCi1QQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ2NvbHVtbi13aWR0aCcpIGlzICIyMDBweCIK
K1BBU1MgdGVzdERpdi5zdHlsZVsnY29sdW1uLXdpZHRoJ10gaXMgImNhbGMoMHB4KSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnY29sdW1u
LXdpZHRoJykgaXMgIjBweCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29sdW1uLXdpZHRo
LWNhbGN1bGF0ZWQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NvbHVtbi13aWR0
aC1jYWxjdWxhdGVkLXZhbHVlLmh0bWwKaW5kZXggYjliY2U1YWMwNzg1MGU4Mzg0ZDE0M2I1NGVk
NGZmMjBiMGI4MmJiYS4uNjMyNGY4ZjQ5MTM1Mzc0YWZhZjE0MjFiYWE3MDYwNjliNGFlOTg5ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY29sdW1uLXdpZHRoLWNhbGN1bGF0ZWQt
dmFsdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb2x1bW4td2lkdGgtY2FsY3Vs
YXRlZC12YWx1ZS5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnY29sdW1u
CiAKIGRlYnVnKCIwcHggaXMgbm90IGEgdmFsaWQgdmFsdWUiKTsKIGV2YWxBbmRMb2coInRlc3RE
aXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddID0gJ2NhbGMoMHB4ICogMiknIik7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddIiwgImNhbGMoMjAwcHgp
Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3RE
aXYpLmdldFByb3BlcnR5VmFsdWUoJ2NvbHVtbi13aWR0aCcpIiwgIjIwMHB4Iik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ2NvbHVtbi13aWR0aCddIiwgImNhbGMoMHB4
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0
RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCdjb2x1bW4td2lkdGgnKSIsICIwcHgiKTsKIAogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mbGV4LXNocmluay1jYWxjdWxh
dGVkLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZsZXgtc2hyaW5r
LWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IGU2ZDYzNmI3ZDc1ZTg1MTdmZGIy
YTUyN2E0OThjYjAyYWI2ZjIwNTQuLjlmYWNlM2I4NjRjYmMzMWEwY2JlYjg2MmNiZmM0YTQ2MjRi
ODRmZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZsZXgtc2hyaW5rLWNhbGN1
bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZsZXgt
c2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10g
aXMgIiIKIHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gPSAnY2FsYygyICogMyknCi1QQVNT
IHRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10gaXMgIjYiCitQQVNTIHRlc3REaXYuc3R5bGVb
J2ZsZXgtc2hyaW5rJ10gaXMgImNhbGMoNikiCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ2ZsZXgtc2hyaW5rJykgaXMgIjYiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2ZsZXgtc2hyaW5rLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbAppbmRleCA1ZmMyMWU4MDIwMzI3
Njg5OTc0M2FhMzZjZTliZmE1MWI2NWYzNzY1Li5lZGY4MDVmNmRiODVlYWU0ZmM5NWViODdkZGI5
NmM0OWJkMjk2YjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mbGV4LXNocmlu
ay1jYWxjdWxhdGVkLXZhbHVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmxleC1z
aHJpbmstY2FsY3VsYXRlZC12YWx1ZS5odG1sCkBAIC05LDcgKzksNyBAQCB2YXIgdGVzdERpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RGl2Iik7CiAKIHNob3VsZEJlRW1wdHlTdHJp
bmcoInRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10iKTsKIGV2YWxBbmRMb2coInRlc3REaXYu
c3R5bGVbJ2ZsZXgtc2hyaW5rJ10gPSAnY2FsYygyICogMyknIik7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRlc3REaXYuc3R5bGVbJ2ZsZXgtc2hyaW5rJ10iLCAiNiIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXN0RGl2LnN0eWxlWydmbGV4LXNocmluayddIiwgImNhbGMoNikiKTsKIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0
UHJvcGVydHlWYWx1ZSgnZmxleC1zaHJpbmsnKSIsICI2Iik7CiAKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1ZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1ZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGNiYTEzNGNmMzRkMDUyMzBiYWIyYjU1NTI1ZmM4OTBkMzM3MGYxMTIuLjI1MTM1
MmUyMGE2MGZjMjE0ZWJmZTU3MjE4OTExYTUwZDI0MmQxMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9uZWdhdGl2ZS1jYWxjLXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTE4
LDggKzE4LDggQEAgUEFTUyB0ZXN0RGl2LnN0eWxlWydsaW5lLWhlaWdodCddIGlzICJjYWxjKC0x
MCUpIgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9wZXJ0eVZh
bHVlKCdsaW5lLWhlaWdodCcpIGlzICIwcHgiCiB0ZXN0UHJlLnN0eWxlWyd0YWItc2l6ZSddID0g
JzgnCiB0ZXN0UHJlLnN0eWxlWyd0YWItc2l6ZSddID0gJ2NhbGMoMiAtIDQpJwotUEFTUyB0ZXN0
UHJlLnN0eWxlWyd0YWItc2l6ZSddIGlzICI4IgotUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXN0UHJlKS5nZXRQcm9wZXJ0eVZhbHVlKCd0YWItc2l6ZScpIGlzICI4IgorUEFTUyB0ZXN0
UHJlLnN0eWxlWyd0YWItc2l6ZSddIGlzICJjYWxjKC0yKSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUodGVzdFByZSkuZ2V0UHJvcGVydHlWYWx1ZSgndGFiLXNpemUnKSBpcyAiMCIKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRpdmUtY2FsYy12YWx1ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL25lZ2F0aXZlLWNhbGMtdmFsdWVzLmh0bWwKaW5kZXggMThiZjcwYjM3
ZTczYjU0NDgxZDg2MTU3Yjc1ZTQ4YjhkMTFkZDc0My4uYTVjN2Q5YTcxMTI0ZTY1ODgxYTgwZDU4
NmVjMmU5MmNiNTVkMDE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmVnYXRp
dmUtY2FsYy12YWx1ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9uZWdhdGl2ZS1j
YWxjLXZhbHVlcy5odG1sCkBAIC0yOCw4ICsyOCw4IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnbGluZS1o
CiAKIGV2YWxBbmRMb2coInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXplJ10gPSAnOCciKTsKIGV2YWxB
bmRMb2coInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXplJ10gPSAnY2FsYygyIC0gNCknIik7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRlc3RQcmUuc3R5bGVbJ3RhYi1zaXplJ10iLCAiOCIpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0UHJlKS5nZXRQ
cm9wZXJ0eVZhbHVlKCd0YWItc2l6ZScpIiwgIjgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
dGVzdFByZS5zdHlsZVsndGFiLXNpemUnXSIsICJjYWxjKC0yKSIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0UHJlKS5nZXRQcm9wZXJ0eVZhbHVl
KCd0YWItc2l6ZScpIiwgIjAiKTsKIAogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy90ZXh0LXNoYWRvdy1jYWxjLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IDEz
MjVhMjk1ZTMwYmFhYjZhODNkYmJiZGU5NjE4MzkzZGE1OWVjZjIuLjgxMjY4YzU3NWRjMWU2NjNi
OGU4YzZiYjU5MmE0YjQ0MzIzODkxN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0zLDE2ICszLDE5
IEBAIFRlc3RzIGFzc2lnbmluZyBhIGNhbGN1bGF0ZWQgdmFsdWUgdG8gJ3RleHQtc2hhZG93JyBD
U1MgcHJvcGVydHkuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorCiBQQVNTIHRlc3RE
aXYuc3R5bGVbJ3RleHQtc2hhZG93J10gaXMgIiIKIHRlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93
J10gPSAnY2FsYygxICogM3B4KSBjYWxjKDIgKiAzcHgpIGNhbGMoMyAqIDNweCkgcmdiKDI1NSwg
MjU1LCAyNTUpJwogUEFTUyB0ZXN0RGl2LnN0eWxlWyd0ZXh0LXNoYWRvdyddIGlzICJyZ2IoMjU1
LCAyNTUsIDI1NSkgY2FsYygzcHgpIGNhbGMoNnB4KSBjYWxjKDlweCkiCiBQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtc2hhZG93Jykg
aXMgInJnYigyNTUsIDI1NSwgMjU1KSAzcHggNnB4IDlweCIKKwogdGVzdERpdi5zdHlsZVsndGV4
dC1zaGFkb3cnXSA9ICdjYWxjKC0xICogM3B4KSBjYWxjKC0yICogM3B4KSBjYWxjKDMgKiAzcHgp
IHJnYigyNTUsIDI1NSwgMjU1KScKIFBBU1MgdGVzdERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSBp
cyAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoLTNweCkgY2FsYygtNnB4KSBjYWxjKDlweCkiCiBQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ3Rl
eHQtc2hhZG93JykgaXMgInJnYigyNTUsIDI1NSwgMjU1KSAtM3B4IC02cHggOXB4IgorCiB0ZXN0
RGl2LnN0eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkgY2FsYygyICogM3B4KSBj
YWxjKC0zICogM3B4KSByZ2IoMjU1LCAyNTUsIDI1NSknCi1QQVNTIHRlc3REaXYuc3R5bGVbJ3Rl
eHQtc2hhZG93J10gaXMgInJnYigyNTUsIDI1NSwgMjU1KSBjYWxjKC0zcHgpIGNhbGMoLTZweCkg
Y2FsYyg5cHgpIgotUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9w
ZXJ0eVZhbHVlKCd0ZXh0LXNoYWRvdycpIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkgLTNweCAtNnB4
IDlweCIKK1BBU1MgdGVzdERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSBpcyAicmdiKDI1NSwgMjU1
LCAyNTUpIGNhbGMoM3B4KSBjYWxjKDZweCkgY2FsYygtOXB4KSIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1zaGFkb3cnKSBpcyAi
cmdiKDI1NSwgMjU1LCAyNTUpIDNweCA2cHggMHB4IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy90ZXh0LXNoYWRvdy1jYWxjLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0
LXNoYWRvdy1jYWxjLXZhbHVlLmh0bWwKaW5kZXggMTQ5ZTAzZDkzMTAzOTQ4MGZjYWNkYTA1NDNl
ZjU3YTkwYWU1NWIzYi4uYWU3YTlkNTNkNTZjMjU3MDFlNmQ0NWQ2MDA5YjExMzgzY2VhMDRjOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1zaGFkb3ctY2FsYy12YWx1ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtc2hhZG93LWNhbGMtdmFsdWUuaHRt
bApAQCAtNywyMSArNywyNiBAQCBkZXNjcmlwdGlvbigiVGVzdHMgYXNzaWduaW5nIGEgY2FsY3Vs
YXRlZCB2YWx1ZSB0byAndGV4dC1zaGFkb3cnIENTUyBwcm9wZXJ0eS4iKQogCiB2YXIgdGVzdERp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RGl2Iik7CiAKK2RlYnVnKCcnKTsKIHNo
b3VsZEJlRW1wdHlTdHJpbmcoInRlc3REaXYuc3R5bGVbJ3RleHQtc2hhZG93J10iKTsKK3Rlc3RE
aXYuc3R5bGVbJ3RleHQtc2hhZG93J10gPSAnbm9uZSc7CiBldmFsQW5kTG9nKCJ0ZXN0RGl2LnN0
eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkgY2FsYygyICogM3B4KSBjYWxjKDMg
KiAzcHgpIHJnYigyNTUsIDI1NSwgMjU1KSciKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGVz
dERpdi5zdHlsZVsndGV4dC1zaGFkb3cnXSIsICJyZ2IoMjU1LCAyNTUsIDI1NSkgY2FsYygzcHgp
IGNhbGMoNnB4KSBjYWxjKDlweCkiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1zaGFkb3cnKSIs
ICJyZ2IoMjU1LCAyNTUsIDI1NSkgM3B4IDZweCA5cHgiKTsKIAogLy8gTmVnYXRpdmUgaC1zaGFk
b3cgYW5kIHYtc2hhZG93IGFyZSBhbGxvd2VkLgorZGVidWcoJycpOwordGVzdERpdi5zdHlsZVsn
dGV4dC1zaGFkb3cnXSA9ICdub25lJzsKIGV2YWxBbmRMb2coInRlc3REaXYuc3R5bGVbJ3RleHQt
c2hhZG93J10gPSAnY2FsYygtMSAqIDNweCkgY2FsYygtMiAqIDNweCkgY2FsYygzICogM3B4KSBy
Z2IoMjU1LCAyNTUsIDI1NSknIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5
bGVbJ3RleHQtc2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoLTNweCkgY2FsYygt
NnB4KSBjYWxjKDlweCkiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1
dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1zaGFkb3cnKSIsICJyZ2Io
MjU1LCAyNTUsIDI1NSkgLTNweCAtNnB4IDlweCIpCiAKIC8vIE5lZ2F0aXZlIGJsdXItcmFkaXVz
IGlzIG5vdCBhbGxvd2VkIHNvIGl0IHNob3VsZCBiZWNvbWUgMC4KK2RlYnVnKCcnKTsKK3Rlc3RE
aXYuc3R5bGVbJ3RleHQtc2hhZG93J10gPSAnbm9uZSc7CiBldmFsQW5kTG9nKCJ0ZXN0RGl2LnN0
eWxlWyd0ZXh0LXNoYWRvdyddID0gJ2NhbGMoMSAqIDNweCkgY2FsYygyICogM3B4KSBjYWxjKC0z
ICogM3B4KSByZ2IoMjU1LCAyNTUsIDI1NSknIik7Ci0vLyB0ZXh0LXNoYWRvdyBzaG91bGQgbm90
IGJlIHVwZGF0ZWQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5bGVbJ3RleHQt
c2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoLTNweCkgY2FsYygtNnB4KSBjYWxj
KDlweCkiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUo
dGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1zaGFkb3cnKSIsICJyZ2IoMjU1LCAyNTUs
IDI1NSkgLTNweCAtNnB4IDlweCIpCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3REaXYuc3R5
bGVbJ3RleHQtc2hhZG93J10iLCAicmdiKDI1NSwgMjU1LCAyNTUpIGNhbGMoM3B4KSBjYWxjKDZw
eCkgY2FsYygtOXB4KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LXNoYWRvdycpIiwgInJnYigy
NTUsIDI1NSwgMjU1KSAzcHggNnB4IDBweCIpCiAKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWltYWdlLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmct
c2hhcGUtaW1hZ2UtdGhyZXNob2xkLWV4cGVjdGVkLnR4dAppbmRleCA0MjlmZDAyOGE1ZmQ0ODU3
YmIxODMyZmVjNmY3OWYxZDU4OGNmODgyLi5hMTI0MjQzMDk5ZTJkY2FlYjZjNDJkOWU0NmUwMWNj
MzM1YTc4ZTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLWV4cGVj
dGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
aW1hZ2UtdGhyZXNob2xkIiwgIi0wLjEiKSBpcyAiLTAuMSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdl
YmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMS4xIikgaXMgIjEuMSIKIFBBU1MgZ2V0Q1NT
VGV4dCgiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiaWRlbnRpZmllciIpIGlzICIi
CiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW1hZ2UtdGhyZXNob2xkIiwgIidzdHJp
bmcnIikgaXMgIiIKLVBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hv
bGQiLCAiY2FsYygwLjEgKyAwLjQpIikgaXMgIjAuNSIKK1BBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtp
dC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiY2FsYygwLjEgKyAwLjQpIikgaXMgImNhbGMoMC41
KSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWltYWdlLXRocmVz
aG9sZCIsICIwIikgaXMgIjAiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMC41IikgaXMgIjAuNSIKIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICIxIikgaXMgIjEiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUt
aW1hZ2UtdGhyZXNob2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmh0bWwKaW5kZXggYWQ0MjA3ZWEwYTQ5NzMxZTlm
Mjg4ZWJhZWRkYjY5ZDMxNzBjZGNiYy4uZDVkYmJmZDBkZDgzN2QyNzU0M2Y4ZDRjZmFiODgyODky
NTkzYzhiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJz
aW5nLXNoYXBlLWltYWdlLXRocmVzaG9sZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hh
cGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hvbGQuaHRtbApAQCAtMjAsNyAr
MjAsNyBAQCBhcHBseVRvRWFjaEFyZ2xpc3QoCiAgICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10
aHJlc2hvbGQiLCAiMS4xIiwgIjEuMSJdLAogICAgICBbIi13ZWJraXQtc2hhcGUtaW1hZ2UtdGhy
ZXNob2xkIiwgImlkZW50aWZpZXIiLCAiIl0sCiAgICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10
aHJlc2hvbGQiLCAiXCdzdHJpbmdcJyIsICIiXSwKLSAgICAgWyItd2Via2l0LXNoYXBlLWltYWdl
LXRocmVzaG9sZCIsICJjYWxjKDAuMSArIDAuNCkiLCAiMC41Il0KKyAgICAgWyItd2Via2l0LXNo
YXBlLWltYWdlLXRocmVzaG9sZCIsICJjYWxjKDAuMSArIDAuNCkiLCAiY2FsYygwLjUpIl0KICAg
ICBdCiApOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC1kZWNvci9wYXJzaW5nL3RleHQtc2hhZG93LWNvbXB1dGVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy10ZXh0LWRlY29yL3BhcnNpbmcvdGV4dC1zaGFkb3ctY29tcHV0ZWQtZXhwZWN0
ZWQudHh0CmluZGV4IGQ5YTA1NzA3OTIwZTlmNjQ0YmEzMzJiYTRiYjY5MzQ1ZjEyYWJlZDcuLjU0
NmNmOWRhYWQ1Y2NmNmE4NmUyNjMxZGVkMmJiYTg3NGM5N2FjMmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0LWRlY29y
L3BhcnNpbmcvdGV4dC1zaGFkb3ctY29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0LWRlY29yL3Bh
cnNpbmcvdGV4dC1zaGFkb3ctY29tcHV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBQ
QVNTIFByb3BlcnR5IHRleHQtc2hhZG93IHZhbHVlICdub25lJyBjb21wdXRlcyB0byAnbm9uZScK
IFBBU1MgUHJvcGVydHkgdGV4dC1zaGFkb3cgdmFsdWUgJzEwcHggMjBweCcgY29tcHV0ZXMgdG8g
J3JnYigwLCAwLCAyNTUpIDEwcHggMjBweCAwcHgnIAogUEFTUyBQcm9wZXJ0eSB0ZXh0LXNoYWRv
dyB2YWx1ZSAncmVkIDEwcHggMjBweCAzMHB4JyBjb21wdXRlcyB0byAncmdiKDI1NSwgMCwgMCkg
MTBweCAyMHB4IDMwcHgnIAogUEFTUyBQcm9wZXJ0eSB0ZXh0LXNoYWRvdyB2YWx1ZSAnY2FsYygw
LjVlbSArIDEwcHgpIGNhbGMoMC41ZW0gKyAxMHB4KSBjYWxjKDAuNWVtICsgMTBweCknIGNvbXB1
dGVzIHRvICdyZ2IoMCwgMCwgMjU1KSAzMHB4IDMwcHggMzBweCcgCi1GQUlMIFByb3BlcnR5IHRl
eHQtc2hhZG93IHZhbHVlICdjYWxjKC0wLjVlbSArIDEwcHgpIGNhbGMoLTAuNWVtICsgMTBweCkg
Y2FsYygtMC41ZW0gKyAxMHB4KScgY29tcHV0ZXMgdG8gJ3JnYigwLCAwLCAyNTUpIC0xMHB4IC0x
MHB4IDBweCcgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAwLCAyNTUpIC0xMHB4IC0x
MHB4IDBweCIgYnV0IGdvdCAicmdiKDAsIDAsIDI1NSkgLTEwcHggLTEwcHggLTEwcHgiCitQQVNT
IFByb3BlcnR5IHRleHQtc2hhZG93IHZhbHVlICdjYWxjKC0wLjVlbSArIDEwcHgpIGNhbGMoLTAu
NWVtICsgMTBweCkgY2FsYygtMC41ZW0gKyAxMHB4KScgY29tcHV0ZXMgdG8gJ3JnYigwLCAwLCAy
NTUpIC0xMHB4IC0xMHB4IDBweCcgCiBQQVNTIFByb3BlcnR5IHRleHQtc2hhZG93IHZhbHVlICcx
MHB4IDIwcHgsIDMwcHggNDBweCcgY29tcHV0ZXMgdG8gJ3JnYigwLCAwLCAyNTUpIDEwcHggMjBw
eCAwcHgsIHJnYigwLCAwLCAyNTUpIDMwcHggNDBweCAwcHgnIAogUEFTUyBQcm9wZXJ0eSB0ZXh0
LXNoYWRvdyB2YWx1ZSAnbGltZSAxMHB4IDIwcHggMzBweCwgcmVkIDQwcHggNTBweCcgY29tcHV0
ZXMgdG8gJ3JnYigwLCAyNTUsIDApIDEwcHggMjBweCAzMHB4LCByZ2IoMjU1LCAwLCAwKSA0MHB4
IDUwcHggMHB4JyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jYWxjLW51bWJlcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9jYWxjLW51bWJlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDQwNmM2NjgzNDdkOWI2YjJmYjc3ZGJm
NGM4ZTE3ODFiOTA5OWZjOGEuLmEwZjEzOGNlZjM4YmFkMDcxYzFhMTg2YjBkNzFjODViYjAyNDFl
MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvY2FsYy1udW1iZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NhbGMt
bnVtYmVycy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgdGVzdGluZyB0YWIt
c2l6ZTogY2FsYygyICogMykgCi1GQUlMIHRlc3RpbmcgdGFiLXNpemU6IGNhbGMoMiAqIC00KSBh
c3NlcnRfZXF1YWxzOiBjYWxjKDIgKiAtNCkgc2hvdWxkIGNvbXB1dGUgdG8gMCBleHBlY3RlZCAi
MCIgYnV0IGdvdCAiMTIzNDUiCitQQVNTIHRlc3RpbmcgdGFiLXNpemU6IGNhbGMoMiAqIC00KSAK
IFBBU1MgdGVzdGluZyBvcGFjaXR5OiBjYWxjKDIgLyA0KSAKIFBBU1MgdGVzdGluZyB0YWItc2l6
ZTogY2FsYygyIC8gNCkgCiBGQUlMIHRlc3Rpbmcgb3BhY2l0eTogY2FsYygyIC8gNCkgKiAxcHgg
YXNzZXJ0X2VxdWFsczogY2FsYygyIC8gNCkgKiAxcHggc2hvdWxkIGNvbXB1dGUgdG8gMC45IGV4
cGVjdGVkICIwLjkiIGJ1dCBnb3QgIjAuODk5OTk5OTc2MTU4MTQyMSIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
Z2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItcmFkaXVzLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2dldENv
bXB1dGVkU3R5bGUtYm9yZGVyLXJhZGl1cy0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGY3NjkwOWNh
Y2FjNjI4NjEwN2RjMDY3ZDc3ZWNiZWZlZDJjYmU1ODMuLjIwMWI1YWI3OTg0NTZkY2ZlZDZmZWZm
NDNjMDc0NTY4ODQ4ZTU1ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXIt
cmFkaXVzLTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1y
YWRpdXMtMDAxLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAotRkFJTCB0ZXN0aW5nIGJv
cmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMTBweCArIDI1JSkgY2FsYygyMHB4ICsgMjUlKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygyNSUgKyAxMHB4KSBjYWxjKDI1JSArIDIwcHgp
IiBidXQgZ290ICIxMHB4IDIwcHgiCi1GQUlMIHRlc3RpbmcgYm9yZGVyLXRvcC1yaWdodC1yYWRp
dXM6IGNhbGMoMWVtICsgMjUlKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygyNSUgKyAx
NnB4KSIgYnV0IGdvdCAiMTZweCIKK0ZBSUwgdGVzdGluZyBib3JkZXItdG9wLWxlZnQtcmFkaXVz
OiBjYWxjKDEwcHggKyAyNSUpIGNhbGMoMjBweCArIDI1JSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImNhbGMoMjUlICsgMTBweCkgY2FsYygyNSUgKyAyMHB4KSIgYnV0IGdvdCAiY2FsYygxMHB4
ICsgMjUlKSBjYWxjKDIwcHggKyAyNSUpIgorRkFJTCB0ZXN0aW5nIGJvcmRlci10b3AtcmlnaHQt
cmFkaXVzOiBjYWxjKDFlbSArIDI1JSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMjUl
ICsgMTZweCkiIGJ1dCBnb3QgImNhbGMoMTZweCArIDI1JSkiCiBQQVNTIHRlc3RpbmcgYm9yZGVy
LWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMjUlKSAKIFBBU1MgdGVzdGluZyBib3JkZXItYm90
dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDI1cHgpOyAKLUZBSUwgdGVzdGluZyBib3JkZXItcmFkaXVz
IHNob3J0aGFuZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygyNSUgKyAxMHB4KSBjYWxj
KDI1JSArIDE2cHgpIDI1JSAyNXB4IC8gY2FsYygyNSUgKyAyMHB4KSBjYWxjKDI1JSArIDE2cHgp
IDI1JSAyNXB4IiBidXQgZ290ICIxMHB4IDE2cHggMjUlIDI1cHggLyAyMHB4IDE2cHggMjUlIDI1
cHgiCitGQUlMIHRlc3RpbmcgYm9yZGVyLXJhZGl1cyBzaG9ydGhhbmQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImNhbGMoMjUlICsgMTBweCkgY2FsYygyNSUgKyAxNnB4KSAyNSUgMjVweCAvIGNh
bGMoMjUlICsgMjBweCkgY2FsYygyNSUgKyAxNnB4KSAyNSUgMjVweCIgYnV0IGdvdCAiY2FsYygx
MHB4ICsgMjUlKSBjYWxjKDE2cHggKyAyNSUpIDI1JSAyNXB4IC8gY2FsYygyMHB4ICsgMjUlKSBj
YWxjKDE2cHggKyAyNSUpIDI1JSAyNXB4IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2dldENvbXB1dGVkU3R5
bGUtYm9yZGVyLXJhZGl1cy0wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9nZXRDb21wdXRlZFN0eWxlLWJv
cmRlci1yYWRpdXMtMDAzLWV4cGVjdGVkLnR4dAppbmRleCA5NDFhNTg4OGUyN2Q4MWJjNGY4YzEy
NWJkNGIxYzc5NGM4ZmY0YzE2Li5iMTBkYjUwMWVhNjM5NWQ2MTFiMDdmMGRkYzk5ODUyMzJiZWUz
MjY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtdmFsdWVzL2dldENvbXB1dGVkU3R5bGUtYm9yZGVyLXJhZGl1cy0wMDMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItcmFkaXVzLTAwMy1leHBl
Y3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgdGVzdGluZyBib3JkZXItcmFkaXVzIHNo
b3J0aGFuZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygxJSArIDFweCkgY2FsYygyJSAr
IDJweCkgY2FsYygzJSArIDNweCkgY2FsYyg0JSArIDRweCkgLyBjYWxjKDUlICsgNXB4KSBjYWxj
KDYlICsgNnB4KSBjYWxjKDclICsgN3B4KSBjYWxjKDglICsgOHB4KSIgYnV0IGdvdCAiMXB4IDJw
eCAzcHggNHB4IC8gNXB4IDZweCA3cHggOHB4IgorRkFJTCB0ZXN0aW5nIGJvcmRlci1yYWRpdXMg
c2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKDElICsgMXB4KSBjYWxjKDIl
ICsgMnB4KSBjYWxjKDMlICsgM3B4KSBjYWxjKDQlICsgNHB4KSAvIGNhbGMoNSUgKyA1cHgpIGNh
bGMoNiUgKyA2cHgpIGNhbGMoNyUgKyA3cHgpIGNhbGMoOCUgKyA4cHgpIiBidXQgZ290ICJjYWxj
KDFweCArIDElKSBjYWxjKDJweCArIDIlKSBjYWxjKDNweCArIDMlKSBjYWxjKDRweCArIDQlKSAv
IGNhbGMoNXB4ICsgNSUpIGNhbGMoNnB4ICsgNiUpIGNhbGMoN3B4ICsgNyUpIGNhbGMoOHB4ICsg
OCUpIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL21pbm1heC1udW1iZXItc2VyaWFsaXplLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbWlubWF4LW51bWJlci1zZXJpYWxpemUtZXhwZWN0ZWQudHh0CmluZGV4IDA0YzQ3MGVk
OTYzYTcyOTcyNjZhMzlkODAyMTlhNDc1MjhjNTQ1YjQuLmEyOGE3NTU0YTNhYzJjOWVkMWZkYTU1
OTQ3NTZlODc1YTc2NjlmYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbWlubWF4LW51bWJlci1zZXJpYWxpemUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy12YWx1ZXMvbWlubWF4LW51bWJlci1zZXJpYWxpemUtZXhwZWN0ZWQudHh0
CkBAIC0xLDE0ICsxLDE0IEBACiAKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gIm1pbigxKSIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlv
biBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtaW4oMSkiIGJ1dCBnb3QgIjEiCi1GQUlM
IGUuc3R5bGVbJ29wYWNpdHknXSA9ICJtYXgoMSkiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBl
Y3RlZCAibWF4KDEpIiBidXQgZ290ICIxIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAibWlu
KDEsIDIsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBz
ZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIm1pbigxLCAyLCAzKSIg
YnV0IGdvdCAiMSIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gIm1pbigzLCAyLCAxKSIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBz
aG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJtaW4oMywgMiwgMSkiIGJ1dCBnb3QgIjEiCi1G
QUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJtYXgoMSwgMiwgMykiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9u
aWNhbCBleHBlY3RlZCAibWF4KDEsIDIsIDMpIiBidXQgZ290ICIzIgotRkFJTCBlLnN0eWxlWydv
cGFjaXR5J10gPSAibWF4KDMsIDIsIDEpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
Im1heCgzLCAyLCAxKSIgYnV0IGdvdCAiMyIKLUZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNh
bGMobWluKDEpICsgbWluKDIpKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxj
KG1pbigxKSArIG1pbigyKSkiIGJ1dCBnb3QgIjMiCi1GQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9
ICJjYWxjKG1heCgxKSArIG1heCgyKSkiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFz
c2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAi
Y2FsYyhtYXgoMSkgKyBtYXgoMikpIiBidXQgZ290ICIzIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5
J10gPSAiY2FsYygxICsgbWluKDEpKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNz
ZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJj
YWxjKDEgKyBtaW4oMSkpIiBidXQgZ290ICIyIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAi
Y2FsYyhtaW4oMSkgKyAxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEg
KyBtaW4oMSkpIiBidXQgZ290ICIyIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYygx
ICsgbWF4KDEpKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczog
c2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtYXgo
MSkpIiBidXQgZ290ICIyIgotRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYyhtYXgoMSkg
KyAxKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFs
aXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKDEgKyBtYXgoMSkpIiBi
dXQgZ290ICIyIgorRkFJTCBlLnN0eWxlWydvcGFjaXR5J10gPSAibWluKDEpIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBi
ZSBjYW5vbmljYWwgZXhwZWN0ZWQgIm1pbigxKSIgYnV0IGdvdCAiY2FsYyhtaW4oMSkpIgorRkFJ
TCBlLnN0eWxlWydvcGFjaXR5J10gPSAibWF4KDEpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhw
ZWN0ZWQgIm1heCgxKSIgYnV0IGdvdCAiY2FsYyhtYXgoMSkpIgorRkFJTCBlLnN0eWxlWydvcGFj
aXR5J10gPSAibWluKDEsIDIsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3Nl
cnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIm1p
bigxLCAyLCAzKSIgYnV0IGdvdCAiY2FsYyhtaW4oMSwgMiwgMykpIgorRkFJTCBlLnN0eWxlWydv
cGFjaXR5J10gPSAibWluKDMsIDIsIDEpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
Im1pbigzLCAyLCAxKSIgYnV0IGdvdCAiY2FsYyhtaW4oMywgMiwgMSkpIgorRkFJTCBlLnN0eWxl
WydvcGFjaXR5J10gPSAibWF4KDEsIDIsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1
ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0
ZWQgIm1heCgxLCAyLCAzKSIgYnV0IGdvdCAiY2FsYyhtYXgoMSwgMiwgMykpIgorRkFJTCBlLnN0
eWxlWydvcGFjaXR5J10gPSAibWF4KDMsIDIsIDEpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhw
ZWN0ZWQgIm1heCgzLCAyLCAxKSIgYnV0IGdvdCAiY2FsYyhtYXgoMywgMiwgMSkpIgorRkFJTCBl
LnN0eWxlWydvcGFjaXR5J10gPSAiY2FsYyhtaW4oMSkgKyBtaW4oMikpIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgImNhbGMobWluKDEpICsgbWluKDIpKSIgYnV0IGdvdCAiY2FsYygz
KSIKK0ZBSUwgZS5zdHlsZVsnb3BhY2l0eSddID0gImNhbGMobWF4KDEpICsgbWF4KDIpKSIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBz
aG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJjYWxjKG1heCgxKSArIG1heCgyKSkiIGJ1dCBn
b3QgImNhbGMoMykiCitGQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKDEgKyBtaW4oMSkp
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0
aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImNhbGMoMSArIG1pbigxKSkiIGJ1dCBn
b3QgImNhbGMoMikiCitGQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKG1pbigxKSArIDEp
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0
aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImNhbGMoMSArIG1pbigxKSkiIGJ1dCBn
b3QgImNhbGMoMikiCitGQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKDEgKyBtYXgoMSkp
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0
aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImNhbGMoMSArIG1heCgxKSkiIGJ1dCBn
b3QgImNhbGMoMikiCitGQUlMIGUuc3R5bGVbJ29wYWNpdHknXSA9ICJjYWxjKG1heCgxKSArIDEp
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0
aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImNhbGMoMSArIG1heCgxKSkiIGJ1dCBn
b3QgImNhbGMoMikiCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>