<?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>192838</bug_id>
          
          <creation_ts>2018-12-18 16:24:32 -0800</creation_ts>
          <short_desc>Remove custom constructors of ReadableStreamDefaultReader and ReadableStreamBYOBReader</short_desc>
          <delta_ts>2018-12-20 16:04:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1489134</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-18 16:24:32 -0800</bug_when>
    <thetext>Remove custom constructors of ReadableStreamDefaultReader and ReadableStreamBYOBReader</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489332</commentid>
    <comment_count>1</comment_count>
      <attachid>357686</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-19 09:36:47 -0800</bug_when>
    <thetext>Created attachment 357686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489343</commentid>
    <comment_count>2</comment_count>
      <attachid>357689</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-19 10:10:27 -0800</bug_when>
    <thetext>Created attachment 357689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489764</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-19 23:23:29 -0800</bug_when>
    <thetext>Thank you for letting me know the WinCairo EWS failure.
It is the incremental build issue (Bug 190183). Sorry for the inconvenience.
No problem to land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490131</commentid>
    <comment_count>4</comment_count>
      <attachid>357689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-20 16:03:38 -0800</bug_when>
    <thetext>Comment on attachment 357689
Patch

Clearing flags on attachment: 357689

Committed r239472: &lt;https://trac.webkit.org/changeset/239472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490132</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-20 16:03:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490133</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-20 16:04:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/46886676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357686</attachid>
            <date>2018-12-19 09:36:47 -0800</date>
            <delta_ts>2018-12-19 10:10:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192838-20181219093644.patch</filename>
            <type>text/plain</type>
            <size>48728</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNlOTM2MzA3MTJlMmIz
NDBhOGRmNjJiODgyZWNiZGNmMTMxYWM1OS4uMGRlMDg3MTAxMzIwMGU1MTdiYmI4MDRiODViZWEz
YTQyNWJjZWI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE4LTEyLTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY3VzdG9tIGNv
bnN0cnVjdG9ycyBvZiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIgYW5kIFJlYWRhYmxlU3Ry
ZWFtQllPQlJlYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkyODM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgR2VuZXJhdGUgY29uc3RydWN0b3IgY29kZSBpbiBjYXNlIG9mIGEgUHJpdmF0ZSBidXQg
bm90IFB1YmxpYyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgTWFrZSBzdXJlIHRoaXMgaXMgY29ycmVj
dGx5IGV4cG9zZWQgaW4gZ2xvYmFsIG9iamVjdHMuCisgICAgICAgIEFkZCBKUyBidWlsdC1pbiBj
b25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbnMgZm9yIHRob3NlIHR3byBvYmplY3RzLgorICAgICAg
ICBUbyBrZWVwIGV4aXNpdGluZyBiZWhhdmlvciwgSlMgYnVpbHQtaW5zIGNhbGxpbmcgdGhlc2Ug
Y29uc3RydWN0b3JzIG5lZWQgdG8gcGFzcworICAgICAgICBhbiBhZGRpdGlvbmFsIHBhcmFtZXRl
ciB0aGF0IGFsbG93cyBtYWtpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIEpTIGJ1aWx0aW4g
Y2FsbGVyIG9yIGEgSlMgY2FsbGVyLgorICAgICAgICBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBj
b25zdHJ1Y3RvciB3aWxsIHRocm93LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVz
dHMsIG5vIG9ic2VydmFibGUgY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmpzOgorICAgICAgICAo
aW5pdGlhbGl6ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAoZ2V0dGVy
LmJ5b2JSZXF1ZXN0KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAocHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXplUmVh
ZGFibGVTdHJlYW1CWU9CUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFt
KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmpz
OgorICAgICAgICAoaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcik6CisgICAgICAg
ICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmpzOgorICAgICAg
ICAoaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QpOgorICAgICAgICAqIE1vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qczoKKyAg
ICAgICAgKGluaXRpYWxpemVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKToKKyAgICAg
ICAgKGVucXVldWUpOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURl
ZmF1bHRSZWFkZXIuanM6CisgICAgICAgIChpbml0aWFsaXplUmVhZGFibGVTdHJlYW1EZWZhdWx0
UmVhZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHMuanM6CisgICAgICAgIChyZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IpOiBE
ZWxldGVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVuaWZpZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25z
dHJ1Y3RvcnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGw6CisgICAgICAgIChzaG91
bGRFeHBvc2VJbnRlcmZhY2UpOgorCiAyMDE4LTEyLTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFJlYWRhYmxlU3RyZWFtWFggY29uc3RydWN0cyB1
c2UgUHJpdmF0ZUlkZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlkbAppbmRleCBl
ODM2Y2FkMTA4ZTQzNmI4Nzk4MTE0N2U2Mzk2NDZjNzgwY2E2MTExLi4wMDJjMWFmZmJlZDA2YWMy
ZTVjODZhMzdlZjE5MzRiMTgwMjc5M2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRs
CkBAIC0yOSw3ICsyOSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVFJFQU1TX0FQSSwKLSAg
ICBDdXN0b21Db25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0sIGFueSB1bmRlcmx5aW5n
Qnl0ZVNvdXJjZSwgdW5zaWduZWQgbG9uZyBoaWdoV2F0ZXJNYXJrKSwKKyAgICBDb25zdHJ1Y3Rv
cihSZWFkYWJsZVN0cmVhbSBzdHJlYW0sIGFueSB1bmRlcmx5aW5nQnl0ZVNvdXJjZSwgdW5zaWdu
ZWQgbG9uZyBoaWdoV2F0ZXJNYXJrKSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAg
ICBKU0J1aWx0aW4sCiAgICAgUHJpdmF0ZUlkZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmpzIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXIuanMKaW5kZXggOGJiZjMxYjE4NzI5ODRmOTI4ZTFjYmU4NjY0YTdlNDcxYzc2OTBjOC4uZjg1
NzE3NWQ3NzRkYWI2MDEzYTZlMDRiZmRjZmQxNGM3YjJmNTFlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuanMKQEAgLTI1LDYgKzI1LDYwIEBACiAKIC8vIEBjb25kaXRpb25hbD1FTkFCTEUo
U1RSRUFNU19BUEkpCiAKK2Z1bmN0aW9uIGluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyKHN0cmVhbSwgdW5kZXJseWluZ0J5dGVTb3VyY2UsIGhpZ2hXYXRlck1hcmspCit7Cisg
ICAgInVzZSBzdHJpY3QiOworCisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IDQgJiYgYXJn
dW1lbnRzWzNdICE9PSBAaXNSZWFkYWJsZVN0cmVhbSkKKyAgICAgICAgQHRocm93VHlwZUVycm9y
KCJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGNvbnN0cnVjdG9yIHNob3VsZCBub3QgYmUg
Y2FsbGVkIGRpcmVjdGx5Iik7CisKKyAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtKHN0cmVhbSkp
CisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBu
ZWVkcyBhIFJlYWRhYmxlU3RyZWFtIik7CisKKyAgICAvLyByZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXIgaXMgaW5pdGlhbGl6ZWQgd2l0aCBudWxsIHZhbHVlLgorICAgIGlmIChAZ2V0QnlJZERpcmVj
dFByaXZhdGUoc3RyZWFtLCAicmVhZGFibGVTdHJlYW1Db250cm9sbGVyIikgIT09IG51bGwpCisg
ICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0gYWxyZWFkeSBoYXMgYSBjb250
cm9sbGVyIik7CisKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgImNvbnRyb2xsZWRS
ZWFkYWJsZVN0cmVhbSIsIHN0cmVhbSk7CisgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMs
ICJ1bmRlcmx5aW5nQnl0ZVNvdXJjZSIsIHVuZGVybHlpbmdCeXRlU291cmNlKTsKKyAgICBAcHV0
QnlJZERpcmVjdFByaXZhdGUodGhpcywgInB1bGxBZ2FpbiIsIGZhbHNlKTsKKyAgICBAcHV0QnlJ
ZERpcmVjdFByaXZhdGUodGhpcywgInB1bGxpbmciLCBmYWxzZSk7CisgICAgQHJlYWRhYmxlQnl0
ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3ModGhpcyk7CisgICAgQHB1dEJ5
SWREaXJlY3RQcml2YXRlKHRoaXMsICJxdWV1ZSIsIEBuZXdRdWV1ZSgpKTsKKyAgICBAcHV0QnlJ
ZERpcmVjdFByaXZhdGUodGhpcywgInN0YXJ0ZWQiLCBmYWxzZSk7CisgICAgQHB1dEJ5SWREaXJl
Y3RQcml2YXRlKHRoaXMsICJjbG9zZVJlcXVlc3RlZCIsIGZhbHNlKTsKKworICAgIGxldCBod20g
PSBAdG9OdW1iZXIoaGlnaFdhdGVyTWFyayk7CisgICAgaWYgKEBpc05hTihod20pIHx8IGh3bSA8
IDApCisgICAgICAgIEB0aHJvd1JhbmdlRXJyb3IoImhpZ2hXYXRlck1hcmsgdmFsdWUgaXMgbmVn
YXRpdmUgb3Igbm90IGEgbnVtYmVyIik7CisgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMs
ICJzdHJhdGVneUhXTSIsIGh3bSk7CisKKyAgICBsZXQgYXV0b0FsbG9jYXRlQ2h1bmtTaXplID0g
dW5kZXJseWluZ0J5dGVTb3VyY2UuYXV0b0FsbG9jYXRlQ2h1bmtTaXplOworICAgIGlmIChhdXRv
QWxsb2NhdGVDaHVua1NpemUgIT09IEB1bmRlZmluZWQpIHsKKyAgICAgICAgYXV0b0FsbG9jYXRl
Q2h1bmtTaXplID0gQHRvTnVtYmVyKGF1dG9BbGxvY2F0ZUNodW5rU2l6ZSk7CisgICAgICAgIGlm
IChhdXRvQWxsb2NhdGVDaHVua1NpemUgPD0gMCB8fCBhdXRvQWxsb2NhdGVDaHVua1NpemUgPT09
IEBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgfHwgYXV0b0FsbG9jYXRlQ2h1bmtTaXplID09PSBA
TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKQorICAgICAgICAgICAgQHRocm93UmFuZ2VFcnJvcigi
YXV0b0FsbG9jYXRlQ2h1bmtTaXplIHZhbHVlIGlzIG5lZ2F0aXZlIG9yIGVxdWFsIHRvIHBvc2l0
aXZlIG9yIG5lZ2F0aXZlIGluZmluaXR5Iik7CisgICAgfQorICAgIEBwdXRCeUlkRGlyZWN0UHJp
dmF0ZSh0aGlzLCAiYXV0b0FsbG9jYXRlQ2h1bmtTaXplIiwgYXV0b0FsbG9jYXRlQ2h1bmtTaXpl
KTsKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInBlbmRpbmdQdWxsSW50b3MiLCBb
XSk7CisKKyAgICBjb25zdCBjb250cm9sbGVyID0gdGhpczsKKyAgICBjb25zdCBzdGFydFJlc3Vs
dCA9IEBwcm9taXNlSW52b2tlT3JOb29wTm9DYXRjaCh1bmRlcmx5aW5nQnl0ZVNvdXJjZSwgInN0
YXJ0IiwgW3RoaXNdKS5AdGhlbigoKSA9PiB7CisgICAgICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0
ZShjb250cm9sbGVyLCAic3RhcnRlZCIsIHRydWUpOworICAgICAgICBAYXNzZXJ0KCFAZ2V0QnlJ
ZERpcmVjdFByaXZhdGUoY29udHJvbGxlciwgInB1bGxpbmciKSk7CisgICAgICAgIEBhc3NlcnQo
IUBnZXRCeUlkRGlyZWN0UHJpdmF0ZShjb250cm9sbGVyLCAicHVsbEFnYWluIikpOworICAgICAg
ICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQoY29udHJvbGxl
cik7CisgICAgfSwgKGVycm9yKSA9PiB7CisgICAgICAgIGlmIChAZ2V0QnlJZERpcmVjdFByaXZh
dGUoc3RyZWFtLCAic3RhdGUiKSA9PT0gQHN0cmVhbVJlYWRhYmxlKQorICAgICAgICAgICAgQHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlcnJvcik7CisgICAg
fSk7CisKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgImNhbmNlbCIsIEByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2VsKTsKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUo
dGhpcywgInB1bGwiLCBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGwpOworCisgICAg
cmV0dXJuIHRoaXM7Cit9CisKIGZ1bmN0aW9uIGVucXVldWUoY2h1bmspCiB7CiAgICAgInVzZSBz
dHJpY3QiOwpAQCAtODksNyArMTQzLDcgQEAgZnVuY3Rpb24gYnlvYlJlcXVlc3QoKQogICAgICAg
ICBjb25zdCB2aWV3ID0gbmV3IEBVaW50OEFycmF5KGZpcnN0RGVzY3JpcHRvci5idWZmZXIsCiAg
ICAgICAgICAgICBmaXJzdERlc2NyaXB0b3IuYnl0ZU9mZnNldCArIGZpcnN0RGVzY3JpcHRvci5i
eXRlc0ZpbGxlZCwKICAgICAgICAgICAgIGZpcnN0RGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gZmly
c3REZXNjcmlwdG9yLmJ5dGVzRmlsbGVkKTsKLSAgICAgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRl
KHRoaXMsICJieW9iUmVxdWVzdCIsIG5ldyBAUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCh0aGlz
LCB2aWV3KSk7CisgICAgICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAiYnlvYlJlcXVl
c3QiLCBuZXcgQFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QodGhpcywgdmlldywgQGlzUmVhZGFi
bGVTdHJlYW0pKTsKICAgICB9CiAKICAgICByZXR1cm4gQGdldEJ5SWREaXJlY3RQcml2YXRlKHRo
aXMsICJieW9iUmVxdWVzdCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggNDExMDk4
YjM0ODYzYTUwZTkzYmY4Y2E4Y2M1YzdhNjI3YTA4NDRlNi4uNzVlYjFlZjMzOWNmMjMxN2VlMTVj
YjAyMjllMzM1YzFhNmNmMTEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0yNiw4
MiArMjYsNiBAQAogLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkKIC8vIEBpbnRl
cm5hbAogCi1mdW5jdGlvbiBwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRl
cihzdHJlYW0pCi17Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgaWYgKCFAaXNSZWFkYWJsZVN0
cmVhbShzdHJlYW0pKQotICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllP
QlJlYWRlciBuZWVkcyBhIFJlYWRhYmxlU3RyZWFtIik7Ci0gICAgaWYgKCFAaXNSZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyKEBnZXRCeUlkRGlyZWN0UHJpdmF0ZShzdHJlYW0sICJyZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXIiKSkpCi0gICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVT
dHJlYW1CWU9CUmVhZGVyIG5lZWRzIGEgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciIpOwot
ICAgIGlmIChAaXNSZWFkYWJsZVN0cmVhbUxvY2tlZChzdHJlYW0pKQotICAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtIGlzIGxvY2tlZCIpOwotCi0gICAgQHJlYWRhYmxlU3Ry
ZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemUodGhpcywgc3RyZWFtKTsKLSAgICBAcHV0QnlJZERp
cmVjdFByaXZhdGUodGhpcywgInJlYWRJbnRvUmVxdWVzdHMiLCBbXSk7Ci0KLSAgICByZXR1cm4g
dGhpczsKLX0KLQotZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyKHN0cmVhbSwgdW5kZXJseWluZ0J5dGVTb3VyY2UsIGhpZ2hXYXRlck1hcmspCi17
Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbShzdHJlYW0p
KQotICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIg
bmVlZHMgYSBSZWFkYWJsZVN0cmVhbSIpOwotCi0gICAgLy8gcmVhZGFibGVTdHJlYW1Db250cm9s
bGVyIGlzIGluaXRpYWxpemVkIHdpdGggbnVsbCB2YWx1ZS4KLSAgICBpZiAoQGdldEJ5SWREaXJl
Y3RQcml2YXRlKHN0cmVhbSwgInJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIpICE9PSBudWxsKQot
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtIGFscmVhZHkgaGFzIGEgY29u
dHJvbGxlciIpOwotCi0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJjb250cm9sbGVk
UmVhZGFibGVTdHJlYW0iLCBzdHJlYW0pOwotICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlz
LCAidW5kZXJseWluZ0J5dGVTb3VyY2UiLCB1bmRlcmx5aW5nQnl0ZVNvdXJjZSk7Ci0gICAgQHB1
dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJwdWxsQWdhaW4iLCBmYWxzZSk7Ci0gICAgQHB1dEJ5
SWREaXJlY3RQcml2YXRlKHRoaXMsICJwdWxsaW5nIiwgZmFsc2UpOwotICAgIEByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5kaW5nUHVsbEludG9zKHRoaXMpOwotICAgIEBwdXRC
eUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAicXVldWUiLCBAbmV3UXVldWUoKSk7Ci0gICAgQHB1dEJ5
SWREaXJlY3RQcml2YXRlKHRoaXMsICJzdGFydGVkIiwgZmFsc2UpOwotICAgIEBwdXRCeUlkRGly
ZWN0UHJpdmF0ZSh0aGlzLCAiY2xvc2VSZXF1ZXN0ZWQiLCBmYWxzZSk7Ci0KLSAgICBsZXQgaHdt
ID0gQHRvTnVtYmVyKGhpZ2hXYXRlck1hcmspOwotICAgIGlmIChAaXNOYU4oaHdtKSB8fCBod20g
PCAwKQotICAgICAgICBAdGhyb3dSYW5nZUVycm9yKCJoaWdoV2F0ZXJNYXJrIHZhbHVlIGlzIG5l
Z2F0aXZlIG9yIG5vdCBhIG51bWJlciIpOwotICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlz
LCAic3RyYXRlZ3lIV00iLCBod20pOwotCi0gICAgbGV0IGF1dG9BbGxvY2F0ZUNodW5rU2l6ZSA9
IHVuZGVybHlpbmdCeXRlU291cmNlLmF1dG9BbGxvY2F0ZUNodW5rU2l6ZTsKLSAgICBpZiAoYXV0
b0FsbG9jYXRlQ2h1bmtTaXplICE9PSBAdW5kZWZpbmVkKSB7Ci0gICAgICAgIGF1dG9BbGxvY2F0
ZUNodW5rU2l6ZSA9IEB0b051bWJlcihhdXRvQWxsb2NhdGVDaHVua1NpemUpOwotICAgICAgICBp
ZiAoYXV0b0FsbG9jYXRlQ2h1bmtTaXplIDw9IDAgfHwgYXV0b0FsbG9jYXRlQ2h1bmtTaXplID09
PSBATnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIHx8IGF1dG9BbGxvY2F0ZUNodW5rU2l6ZSA9PT0g
QE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkKLSAgICAgICAgICAgIEB0aHJvd1JhbmdlRXJyb3Io
ImF1dG9BbGxvY2F0ZUNodW5rU2l6ZSB2YWx1ZSBpcyBuZWdhdGl2ZSBvciBlcXVhbCB0byBwb3Np
dGl2ZSBvciBuZWdhdGl2ZSBpbmZpbml0eSIpOwotICAgIH0KLSAgICBAcHV0QnlJZERpcmVjdFBy
aXZhdGUodGhpcywgImF1dG9BbGxvY2F0ZUNodW5rU2l6ZSIsIGF1dG9BbGxvY2F0ZUNodW5rU2l6
ZSk7Ci0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJwZW5kaW5nUHVsbEludG9zIiwg
W10pOwotCi0gICAgY29uc3QgY29udHJvbGxlciA9IHRoaXM7Ci0gICAgY29uc3Qgc3RhcnRSZXN1
bHQgPSBAcHJvbWlzZUludm9rZU9yTm9vcE5vQ2F0Y2godW5kZXJseWluZ0J5dGVTb3VyY2UsICJz
dGFydCIsIFt0aGlzXSkuQHRoZW4oKCkgPT4gewotICAgICAgICBAcHV0QnlJZERpcmVjdFByaXZh
dGUoY29udHJvbGxlciwgInN0YXJ0ZWQiLCB0cnVlKTsKLSAgICAgICAgQGFzc2VydCghQGdldEJ5
SWREaXJlY3RQcml2YXRlKGNvbnRyb2xsZXIsICJwdWxsaW5nIikpOwotICAgICAgICBAYXNzZXJ0
KCFAZ2V0QnlJZERpcmVjdFByaXZhdGUoY29udHJvbGxlciwgInB1bGxBZ2FpbiIpKTsKLSAgICAg
ICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xs
ZXIpOwotICAgIH0sIChlcnJvcikgPT4gewotICAgICAgICBpZiAoQGdldEJ5SWREaXJlY3RQcml2
YXRlKHN0cmVhbSwgInN0YXRlIikgPT09IEBzdHJlYW1SZWFkYWJsZSkKLSAgICAgICAgICAgIEBy
ZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRXJyb3IoY29udHJvbGxlciwgZXJyb3IpOwotICAg
IH0pOwotCi0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJjYW5jZWwiLCBAcmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNlbCk7Ci0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRl
KHRoaXMsICJwdWxsIiwgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsKTsKLQotICAg
IHJldHVybiB0aGlzOwotfQotCi1mdW5jdGlvbiBwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3Ry
ZWFtQllPQlJlcXVlc3QoY29udHJvbGxlciwgdmlldykKLXsKLSAgICAidXNlIHN0cmljdCI7Ci0K
LSAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgImFzc29jaWF0ZWRSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyIiwgY29udHJvbGxlcik7Ci0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRl
KHRoaXMsICJ2aWV3Iiwgdmlldyk7Ci19Ci0KIGZ1bmN0aW9uIGlzUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlcihjb250cm9sbGVyKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCAzMzc2Y2Q0
ZTY5MjZiNTU5ZTI2YTI3ZGVhZjEzMDM2NTkxMzRhNzRiLi4wNjhmZTI0Y2FiZTVjZTg1MTc4OTAw
ZTc3ODg0OTg2OWIyYjQwYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtLmpzCkBAIC02MSwxMSArNjEsMTEgQEAgZnVuY3Rpb24gaW5pdGlh
bGl6ZVJlYWRhYmxlU3RyZWFtKHVuZGVybHlpbmdTb3VyY2UsIHN0cmF0ZWd5KQogICAgICAgICAg
ICAgQHRocm93UmFuZ2VFcnJvcigiU3RyYXRlZ3kgZm9yIGEgUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlciBjYW5ub3QgaGF2ZSBhIHNpemUiKTsKIAogICAgICAgICBsZXQgcmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlckNvbnN0cnVjdG9yID0gQFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXI7Ci0gICAgICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAicmVhZGFibGVTdHJlYW1D
b250cm9sbGVyIiwgbmV3IEBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHRoaXMsIHVuZGVy
bHlpbmdTb3VyY2UsIHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmspKTsKKyAgICAgICAgQHB1dEJ5SWRE
aXJlY3RQcml2YXRlKHRoaXMsICJyZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIiLCBuZXcgQFJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIodGhpcywgdW5kZXJseWluZ1NvdXJjZSwgc3RyYXRlZ3ku
aGlnaFdhdGVyTWFyaywgQGlzUmVhZGFibGVTdHJlYW0pKTsKICAgICB9IGVsc2UgaWYgKHR5cGUg
PT09IEB1bmRlZmluZWQpIHsKICAgICAgICAgaWYgKHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmsgPT09
IEB1bmRlZmluZWQpCiAgICAgICAgICAgICBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrID0gMTsKLSAg
ICAgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJyZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXIiLCBuZXcgQFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcywgdW5kZXJseWlu
Z1NvdXJjZSwgc3RyYXRlZ3kuc2l6ZSwgc3RyYXRlZ3kuaGlnaFdhdGVyTWFyaykpOworICAgICAg
ICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIs
IG5ldyBAUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcih0aGlzLCB1bmRlcmx5aW5nU291
cmNlLCBzdHJhdGVneS5zaXplLCBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrLCBAaXNSZWFkYWJsZVN0
cmVhbSkpOwogICAgIH0gZWxzZQogICAgICAgICBAdGhyb3dSYW5nZUVycm9yKCJJbnZhbGlkIHR5
cGUgZm9yIHVuZGVybHlpbmcgc291cmNlIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKaW5kZXgg
MzVkMWZiZDljZDI3NzQ5NDVhMTI0ODNlNGIwOWUxYzVmMGFjOTI3OS4uNGIxYTUyMjRiNzU5NDE2
ZTZiYWVlMWUwMDdmMzMyNzI0MDIyZDNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKQEAgLTI2
LDcgKzI2LDggQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJLAotICAgIEN1c3Rv
bUNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSksCisgICAgQ29uc3RydWN0b3IoUmVh
ZGFibGVTdHJlYW0gc3RyZWFtKSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBK
U0J1aWx0aW4sCiAgICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0gaW50ZXJmYWNlIFJlYWRhYmxlU3Ry
ZWFtQllPQlJlYWRlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5qcwppbmRleCA2OGJjYWZiMTkxZDU4ZGQ5
ODgxNTY1MmUxMzA5ZDExM2E5OWY0Yzk1Li42ZTFiOGMxN2MxNjkxYzU3Yzg2NDk3N2ViYTE1OTRm
MzMwMDU5NTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1CWU9CUmVhZGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuanMKQEAgLTI0LDYgKzI0LDIzIEBACiAKIC8v
IEBjb25kaXRpb25hbD1FTkFCTEUoU1RSRUFNU19BUEkpCiAKK2Z1bmN0aW9uIGluaXRpYWxpemVS
ZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIoc3RyZWFtKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKwor
ICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0oc3RyZWFtKSkKKyAgICAgICAgQHRocm93VHlwZUVy
cm9yKCJSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIgbmVlZHMgYSBSZWFkYWJsZVN0cmVhbSIpOwor
ICAgIGlmICghQGlzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcihAZ2V0QnlJZERpcmVjdFBy
aXZhdGUoc3RyZWFtLCAicmVhZGFibGVTdHJlYW1Db250cm9sbGVyIikpKQorICAgICAgICBAdGhy
b3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciBuZWVkcyBhIFJlYWRhYmxlQnl0
ZVN0cmVhbUNvbnRyb2xsZXIiKTsKKyAgICBpZiAoQGlzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc3Ry
ZWFtKSkKKyAgICAgICAgQHRocm93VHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSBpcyBsb2NrZWQi
KTsKKyAgICAKKyAgICBAcmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZSh0aGlz
LCBzdHJlYW0pOworICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAicmVhZEludG9SZXF1
ZXN0cyIsIFtdKTsKKyAgICAKKyAgICByZXR1cm4gdGhpczsKK30KKwogZnVuY3Rpb24gY2FuY2Vs
KHJlYXNvbikKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKaW5k
ZXggMDg5NzE4OGZjMGIxYjY3YzY2YTVjOGE1MGY1YjcwODM5ODY4NjE3MS4uYmI2NzA2NWU4YmJm
YWYzZGIyYjJiNGFiNjE4NmVjYmU1ZWIwYWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbApA
QCAtMjgsNyArMjgsOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFNU19BUEksCi0gICAg
Q3VzdG9tQ29uc3RydWN0b3IoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBjb250cm9sbGVy
LCBUeXBlZEFycmF5IHZpZXcpLAorICAgIENvbnN0cnVjdG9yKFJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIgY29udHJvbGxlciwgVHlwZWRBcnJheSB2aWV3KSwKKyAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyKSwKICAgICBKU0J1aWx0aW4sCiAgICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0gaW50
ZXJmYWNlIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcwpp
bmRleCAzODczMTYwMmQ3Y2I4YWMxODBmMDhmOTFlNDFiMzE5NGZlMjY1ZDA4Li43NjQ5NmJjZjMx
ZWRmNTE2Y2ExOTNkNmNjMDgyYzM1ZWQ3YzZhMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcwpA
QCAtMjUsNiArMjUsMTkgQEAKIAogLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkK
IAorZnVuY3Rpb24gaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QoY29udHJvbGxl
ciwgdmlldykKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0
aCAhPT0gMyAmJiBhcmd1bWVudHNbMl0gIT09IEBpc1JlYWRhYmxlU3RyZWFtKQorICAgICAgICBA
dGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgY29uc3RydWN0b3Igc2hv
dWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiKTsKKworICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0
ZSh0aGlzLCAiYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIiLCBjb250cm9s
bGVyKTsKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInZpZXciLCB2aWV3KTsKKwor
ICAgIHJldHVybiB0aGlzOworfQorCiBmdW5jdGlvbiByZXNwb25kKGJ5dGVzV3JpdHRlbikKIHsK
ICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwKaW5k
ZXggNzdhMzg4NjVhYWJjZDBmMTUyZDhiY2FmMWUxOGU3NmUzZmIxNDBiZS4uMTRjMDQyMjZiNGEy
YTRiNzllYWMzMDMxYzA1ZmQxYTNlMjAwNWUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyLmlkbApAQCAtMjksNyArMjksOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFN
U19BUEksCi0gICAgQ3VzdG9tQ29uc3RydWN0b3IoUmVhZGFibGVTdHJlYW0gc3RyZWFtLCBhbnkg
dW5kZXJseWluZ1NvdXJjZSwgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGhpZ2hX
YXRlck1hcmspLAorICAgIENvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwgYW55IHVu
ZGVybHlpbmdTb3VyY2UsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBoaWdoV2F0
ZXJNYXJrKSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBKU0J1aWx0aW4sCiAg
ICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0gaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENv
bnRyb2xsZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcwppbmRleCBhMzczZmFk
Yjc0YjA2MzIwNWRjN2ZjZjAwNWY0OTlhMmM1NmE3MmRhLi5jYTUxMTM0MDkwYWJlMzkzYjVhMDU4
MzBmZWYwOTg1YTRhMzM3NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcwpA
QCAtMjUsMTAgKzI1LDUxIEBACiAKIC8vIEBjb25kaXRpb25hbD1FTkFCTEUoU1RSRUFNU19BUEkp
CiAKK2Z1bmN0aW9uIGluaXRpYWxpemVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHN0
cmVhbSwgdW5kZXJseWluZ1NvdXJjZSwgc2l6ZSwgaGlnaFdhdGVyTWFyaykKK3sKKyAgICAidXNl
IHN0cmljdCI7CisKKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gNSAmJiBhcmd1bWVudHNb
NF0gIT09IEBpc1JlYWRhYmxlU3RyZWFtKQorICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgY29uc3RydWN0b3Igc2hvdWxkIG5vdCBiZSBjYWxs
ZWQgZGlyZWN0bHkiKTsKKworICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0oc3RyZWFtKSkKKyAg
ICAgICAgQHRocm93VHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIG5l
ZWRzIGEgUmVhZGFibGVTdHJlYW0iKTsKKyAgICAKKyAgICAvLyByZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXIgaXMgaW5pdGlhbGl6ZWQgd2l0aCBudWxsIHZhbHVlLgorICAgIGlmIChAZ2V0QnlJZERp
cmVjdFByaXZhdGUoc3RyZWFtLCAicmVhZGFibGVTdHJlYW1Db250cm9sbGVyIikgIT09IG51bGwp
CisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0gYWxyZWFkeSBoYXMgYSBj
b250cm9sbGVyIik7CisgICAgCisgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJjb250
cm9sbGVkUmVhZGFibGVTdHJlYW0iLCBzdHJlYW0pOworICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0
ZSh0aGlzLCAidW5kZXJseWluZ1NvdXJjZSIsIHVuZGVybHlpbmdTb3VyY2UpOworICAgIEBwdXRC
eUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAicXVldWUiLCBAbmV3UXVldWUoKSk7CisgICAgQHB1dEJ5
SWREaXJlY3RQcml2YXRlKHRoaXMsICJzdGFydGVkIiwgZmFsc2UpOworICAgIEBwdXRCeUlkRGly
ZWN0UHJpdmF0ZSh0aGlzLCAiY2xvc2VSZXF1ZXN0ZWQiLCBmYWxzZSk7CisgICAgQHB1dEJ5SWRE
aXJlY3RQcml2YXRlKHRoaXMsICJwdWxsQWdhaW4iLCBmYWxzZSk7CisgICAgQHB1dEJ5SWREaXJl
Y3RQcml2YXRlKHRoaXMsICJwdWxsaW5nIiwgZmFsc2UpOworICAgIEBwdXRCeUlkRGlyZWN0UHJp
dmF0ZSh0aGlzLCAic3RyYXRlZ3kiLCBAdmFsaWRhdGVBbmROb3JtYWxpemVRdWV1aW5nU3RyYXRl
Z3koc2l6ZSwgaGlnaFdhdGVyTWFyaykpOworICAgIAorICAgIGNvbnN0IGNvbnRyb2xsZXIgPSB0
aGlzOworICAgIEBwcm9taXNlSW52b2tlT3JOb29wTm9DYXRjaCh1bmRlcmx5aW5nU291cmNlLCAi
c3RhcnQiLCBbdGhpc10pLkB0aGVuKCgpID0+IHsKKyAgICAgICAgQHB1dEJ5SWREaXJlY3RQcml2
YXRlKGNvbnRyb2xsZXIsICJzdGFydGVkIiwgdHJ1ZSk7CisgICAgICAgIEBhc3NlcnQoIUBnZXRC
eUlkRGlyZWN0UHJpdmF0ZShjb250cm9sbGVyLCAicHVsbGluZyIpKTsKKyAgICAgICAgQGFzc2Vy
dCghQGdldEJ5SWREaXJlY3RQcml2YXRlKGNvbnRyb2xsZXIsICJwdWxsQWdhaW4iKSk7CisgICAg
ICAgIEByZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZChjb250
cm9sbGVyKTsKKyAgICB9LCAoZXJyb3IpID0+IHsKKyAgICAgICAgQHJlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlcnJvcik7CisgICAgfSk7CisgICAgCisg
ICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJjYW5jZWwiLCBAcmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlckNhbmNlbCk7CisgICAgCisgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRl
KHRoaXMsICJwdWxsIiwgQHJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQdWxsKTsKKyAg
ICAKKyAgICByZXR1cm4gdGhpczsKK30KKwogZnVuY3Rpb24gZW5xdWV1ZShjaHVuaykKIHsKICAg
ICAidXNlIHN0cmljdCI7CiAKKwogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlcih0aGlzKSkKICAgICAgICAgdGhyb3cgQG1ha2VUaGlzVHlwZUVycm9yKCJSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgImVucXVldWUiKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0
UmVhZGVyLmlkbAppbmRleCBhZTYwMGJhOWVmMjgwZWU3ZTIyNWEyYWU5YzhjNjE5ZmFiY2FlY2M4
Li4xZmEyYjc5MDBmMmJiMzBlM2YyOGEyZDlmM2E3MmIwYzE1YjI3MzViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1E
ZWZhdWx0UmVhZGVyLmlkbApAQCAtMjksNyArMjksOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9
U1RSRUFNU19BUEksCi0gICAgQ3VzdG9tQ29uc3RydWN0b3IoUmVhZGFibGVTdHJlYW0gc3RyZWFt
KSwKKyAgICBDb25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0pLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKICAgICBQcml2YXRlSWRlbnRpZmllcgog
XSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0
UmVhZGVyLmpzCmluZGV4IGRiMTZhYjVmYzZhZTZmNmUyMGJlZTkwMDY1MzExOWRiN2I4YTNmNzcu
LmRhNzVhM2Y2MjlhNDFhYzg0ODljY2U5ZmRiMmVjZWVlYTdmMmYwM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVm
YXVsdFJlYWRlci5qcwpAQCAtMjUsNiArMjUsMjEgQEAKIAogLy8gQGNvbmRpdGlvbmFsPUVOQUJM
RShTVFJFQU1TX0FQSSkKIAorZnVuY3Rpb24gaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVs
dFJlYWRlcihzdHJlYW0pCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgaWYgKCFAaXNSZWFk
YWJsZVN0cmVhbShzdHJlYW0pKQorICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlciBuZWVkcyBhIFJlYWRhYmxlU3RyZWFtIik7CisgICAgaWYgKEBpc1Jl
YWRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVh
ZGFibGVTdHJlYW0gaXMgbG9ja2VkIik7CisKKyAgICBAcmVhZGFibGVTdHJlYW1SZWFkZXJHZW5l
cmljSW5pdGlhbGl6ZSh0aGlzLCBzdHJlYW0pOworICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0
aGlzLCAicmVhZFJlcXVlc3RzIiwgW10pOworCisgICAgcmV0dXJuIHRoaXM7Cit9CisKIGZ1bmN0
aW9uIGNhbmNlbChyZWFzb24pCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpz
CmluZGV4IDk1YWE3NWI1MDRkYTVjNGQxZDI1NDJhNGNmZjg3YTU4Njc5ZDdhN2UuLmZkMDM1ZjNk
Njk3OWY5MzlhMmY5OGUzMmZmYzUwYjYzNTg3MGNlNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAg
LTI3LDIxICsyNyw2IEBACiAvLyBAY29uZGl0aW9uYWw9RU5BQkxFKFNUUkVBTVNfQVBJKQogLy8g
QGludGVybmFsCiAKLWZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1EZWZh
dWx0UmVhZGVyKHN0cmVhbSkKLXsKLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICBpZiAoIUBpc1Jl
YWRhYmxlU3RyZWFtKHN0cmVhbSkpCi0gICAgICAgQHRocm93VHlwZUVycm9yKCJSZWFkYWJsZVN0
cmVhbURlZmF1bHRSZWFkZXIgbmVlZHMgYSBSZWFkYWJsZVN0cmVhbSIpOwotICAgIGlmIChAaXNS
ZWFkYWJsZVN0cmVhbUxvY2tlZChzdHJlYW0pKQotICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVh
ZGFibGVTdHJlYW0gaXMgbG9ja2VkIik7Ci0KLSAgICBAcmVhZGFibGVTdHJlYW1SZWFkZXJHZW5l
cmljSW5pdGlhbGl6ZSh0aGlzLCBzdHJlYW0pOwotICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0
aGlzLCAicmVhZFJlcXVlc3RzIiwgW10pOwotCi0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KIGZ1bmN0
aW9uIHJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemUocmVhZGVyLCBzdHJlYW0p
CiB7CiAgICAgInVzZSBzdHJpY3QiOwpAQCAtNTgsNDMgKzQzLDYgQEAgZnVuY3Rpb24gcmVhZGFi
bGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZShyZWFkZXIsIHN0cmVhbSkKICAgICB9CiB9
CiAKLWZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlcihzdHJlYW0sIHVuZGVybHlpbmdTb3VyY2UsIHNpemUsIGhpZ2hXYXRlck1hcmspCi17Ci0g
ICAgInVzZSBzdHJpY3QiOwotCi0gICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKQot
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIg
bmVlZHMgYSBSZWFkYWJsZVN0cmVhbSIpOwotCi0gICAgLy8gcmVhZGFibGVTdHJlYW1Db250cm9s
bGVyIGlzIGluaXRpYWxpemVkIHdpdGggbnVsbCB2YWx1ZS4KLSAgICBpZiAoQGdldEJ5SWREaXJl
Y3RQcml2YXRlKHN0cmVhbSwgInJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIpICE9PSBudWxsKQot
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtIGFscmVhZHkgaGFzIGEgY29u
dHJvbGxlciIpOwotCi0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJjb250cm9sbGVk
UmVhZGFibGVTdHJlYW0iLCBzdHJlYW0pOwotICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlz
LCAidW5kZXJseWluZ1NvdXJjZSIsIHVuZGVybHlpbmdTb3VyY2UpOwotICAgIEBwdXRCeUlkRGly
ZWN0UHJpdmF0ZSh0aGlzLCAicXVldWUiLCBAbmV3UXVldWUoKSk7Ci0gICAgQHB1dEJ5SWREaXJl
Y3RQcml2YXRlKHRoaXMsICJzdGFydGVkIiwgZmFsc2UpOwotICAgIEBwdXRCeUlkRGlyZWN0UHJp
dmF0ZSh0aGlzLCAiY2xvc2VSZXF1ZXN0ZWQiLCBmYWxzZSk7Ci0gICAgQHB1dEJ5SWREaXJlY3RQ
cml2YXRlKHRoaXMsICJwdWxsQWdhaW4iLCBmYWxzZSk7Ci0gICAgQHB1dEJ5SWREaXJlY3RQcml2
YXRlKHRoaXMsICJwdWxsaW5nIiwgZmFsc2UpOwotICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0
aGlzLCAic3RyYXRlZ3kiLCBAdmFsaWRhdGVBbmROb3JtYWxpemVRdWV1aW5nU3RyYXRlZ3koc2l6
ZSwgaGlnaFdhdGVyTWFyaykpOwotCi0gICAgY29uc3QgY29udHJvbGxlciA9IHRoaXM7Ci0gICAg
QHByb21pc2VJbnZva2VPck5vb3BOb0NhdGNoKHVuZGVybHlpbmdTb3VyY2UsICJzdGFydCIsIFt0
aGlzXSkuQHRoZW4oKCkgPT4gewotICAgICAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUoY29udHJv
bGxlciwgInN0YXJ0ZWQiLCB0cnVlKTsKLSAgICAgICAgQGFzc2VydCghQGdldEJ5SWREaXJlY3RQ
cml2YXRlKGNvbnRyb2xsZXIsICJwdWxsaW5nIikpOwotICAgICAgICBAYXNzZXJ0KCFAZ2V0QnlJ
ZERpcmVjdFByaXZhdGUoY29udHJvbGxlciwgInB1bGxBZ2FpbiIpKTsKLSAgICAgICAgQHJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpOwot
ICAgIH0sIChlcnJvcikgPT4gewotICAgICAgICBAcmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlckVycm9yKGNvbnRyb2xsZXIsIGVycm9yKTsKLSAgICB9KTsKLQotICAgIEBwdXRCeUlkRGly
ZWN0UHJpdmF0ZSh0aGlzLCAiY2FuY2VsIiwgQHJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXJDYW5jZWwpOwotCi0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJwdWxsIiwgQHJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQdWxsKTsKLQotICAgIHJldHVybiB0aGlzOwot
fQotCiBmdW5jdGlvbiByZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IoY29udHJv
bGxlciwgZXJyb3IpCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA5Mzcz
YTI1NmVmMTEyMWNjNDJjZDAxYjA3OGFjZWIwMDRkZDgxNDUyLi4zYjI0ZmNmNzc1NjFiY2ViYTIz
ZDUxNTJjM2Q4ZDMzOGM0MzcwZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNDY0LDcgKzQ2NCw2IEBA
IGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VPYnNlcnZlckN1c3RvbS5jcHAKIGJpbmRpbmdzL2pz
L0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVu
dEN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTUHJvbWlzZVJlamVjdGlvbkV2ZW50Q3VzdG9tLmNw
cAotYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwCiBi
aW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtU291cmNlQ3VzdG9tLmNwcAogYmluZGluZ3MvanMv
SlNSZW1vdGVET01XaW5kb3dCYXNlLmNwcAogYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dD
dXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvVW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAppbmRleCA1NzEyYjk1ZmQ2NTliNDM4YWM3NGQ2Yjk0ZDQ4MDAwYTgyYzM3MDY4Li5kZmMy
YTNjMjk1MjlhNDE0NjQ0OGVjOGMzYjViY2VlMDgxNDExNzMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEzOTMsNyArMTM5Myw2IEBA
ICQoU1JDUk9PVCkvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZU9ic2VydmVyQ3VzdG9tLmNwcAog
JChTUkNST09UKS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCiAkKFNS
Q1JPT1QpL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICQoU1JDUk9PVCkv
YmluZGluZ3MvanMvSlNQcm9taXNlUmVqZWN0aW9uRXZlbnRDdXN0b20uY3BwCi0kKFNSQ1JPT1Qp
L2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmNwcAogJChT
UkNST09UKS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtU291cmNlQ3VzdG9tLmNwcAogJChT
UkNST09UKS9iaW5kaW5ncy9qcy9KU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwCiAkKFNSQ1JPT1Qp
L2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRiY2I0YTdlZTJl
NjdjZjBjM2JmY2E5NThkMzVjOGIxZTRmNjAxNTAuLmRmZWY5ZmVjNTJmZDI3ZWUxMDVjZDUwMDg4
MWM4ZGNhZmMyYWFlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNzIsNyArMTA3Miw2IEBACiAJCTQxMjlDOUE5MUY1OUM1
NkIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThDMzk1RjFDOEYwQUFCMDA1
MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjlDOUFCMUY1OUM1NzMwMDlE
NzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QzM5NUIxQzhGMEE2MTAwNTFDOEEzIC8qIFJlYWRhYmxl
U3RyZWFtU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDEyOUM5QUYxRjU5Q0Y1QjAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOUM5ODAx
RjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxMjlERjg2MUJCNUI4MEMwMDMyMkEx
NiAvKiBKU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOURGODQxQkI1QjdGNzAwMzIyQTE2
IC8qIEpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyREU0QjgyMTkyODVDMDAwNzVG
M0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEyREU0QjYyMTkyODVCRjAwNzVGM0E3IC8qIFJUQ1J0cENhcGFi
aWxpdGllcy5oICovOyB9OwogCQk0MTMzQ0I4QjIwRjgwRTk5MDBFODlCMTEgLyogTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzNDQjg5MjBGODBFODYwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlv
U291cmNlQ29jb2EuY3BwICovOyB9OwogCQk0MTM4MEMyNzFGMzQzNkFDMDAxNTVGREEgLyogRE9N
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MzgwQzI1MUYzNDM2OUEwMDE1NUZEQSAvKiBET01DYWNoZS5oICovOyB9OwpAQCAtNzI0Miw4ICs3
MjQxLDYgQEAKIAkJNDEyOUM5ODAxRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2lu
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbVNpbmsu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAz
IC8qIFJlYWRhYmxlU3RyZWFtU2luay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFi
bGVTdHJlYW1TaW5rLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyOUM5ODcx
RjU4NjYyRDAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbVNpbmsuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MTI5REY4MzFCQjVCN0Y3MDAzMjJBMTYgLyogSlNSZWFkYWJs
ZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTI5REY4NDFCQjVCN0Y3MDAzMjJBMTYgLyogSlNS
ZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyQkE1RkUyMThDNjUxODAwMzY1NDc0IC8qIFJUQ1BN
dXhQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUE11eFBvbGlj
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTJERTRCNjIxOTI4NUJGMDA3NUYz
QTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJUQ1J0cENhcGFiaWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTMwMTVENTFDN0I1NzA0MDAwOTFDNkUgLyogRmV0Y2hSZXNwb25zZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaFJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI0NTI1LDggKzI0NTIyLDYgQEAKIAkJCQlFM0M5QUVDOTIxMTMx
NDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICovLAogCQkJCTkzQjcwRDRGMDlF
QjBDN0MwMDlEODQ2OCAvKiBKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwICovLAogCQkJCTkz
QjcwRDUwMDlFQjBDN0MwMDlEODQ2OCAvKiBKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCAqLywK
LQkJCQk0MTI5REY4MzFCQjVCN0Y3MDAzMjJBMTYgLyogSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVD
b25zdHJ1Y3RvcnMuY3BwICovLAotCQkJCTQxMjlERjg0MUJCNUI3RjcwMDMyMkExNiAvKiBKU1Jl
YWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5oICovLAogCQkJCTQ2QkNCQkMxMjA4NTAw
ODAwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwICovLAogCQkJCTQ2QkNCQkMw
MjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCAqLywKIAkJCQk5MzFB
RTNCODFGQjgwRUFFMDBGNUVGQjIgLyogSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oICovLApAQCAt
Mjk2NTYsNyArMjk2NTEsNiBAQAogCQkJCTZDNEM5NkRGMUFENDQ4MzUwMDM2NTY3MiAvKiBKU1Jl
YWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTZDNEM5NkRGMUFE
NDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDNEM5NkRGMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDEyOURGODYxQkI1QjgwQzAw
MzIyQTE2IC8qIEpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3RjRDOTZERDFBRDQ0ODM1MDAzNjVBNTEgLyogSlNSZWFkYWJsZVN0cmVhbVNp
bmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFNEM5NkREMUFENDQ4MzUwMDM2NUE1MSAvKiBKU1Jl
YWRhYmxlU3RyZWFtU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkMzNzY2MjIwODUxNzdE
MDBDNzM4MjkgLyogSlNSZW1vdGVET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmgKaW5k
ZXggNmFiNWVjMGVmZTVmZjM0MGFjZDI2ZDllZjRkZTg3ZjgyN2U4MjhhOC4uY2ZmODY1ZGJlNzdj
YmE1Y2QzZmFhNzAwZjg4OGVjZTQ2NGE0YTE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oCkBAIC0xMDUsNyArMTA1LDcg
QEAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SlNET01PYmplY3RJbnNwZWN0b3I8SlNDbGFzcz46
OmlzQnVpbHRpbiwgSlNDOjpKU09iamVjdCYKICAgICByZXR1cm4gKkpTQ2xhc3M6OmNyZWF0ZShn
ZXRET01TdHJ1Y3R1cmU8SlNDbGFzcz4oZ2xvYmFsT2JqZWN0LnZtKCksIGdsb2JhbE9iamVjdCks
ICZnbG9iYWxPYmplY3QpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUK
K3RlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSAKIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl
X2lmPEpTRE9NT2JqZWN0SW5zcGVjdG9yPEpTQ2xhc3M+Ojppc0NvbXBsZXhXcmFwcGVyLCBKU0M6
OkpTT2JqZWN0Kj46OnR5cGUgY3JlYXRlSlNPYmplY3QoSlNET01CdWlsdGluQ29uc3RydWN0b3I8
SlNDbGFzcz4mIGNvbnN0cnVjdG9yKQogewogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQgPSBjb25zdHJ1Y3Rvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNzY1ZWVk
Y2MyNDU1MTJkNTU5ZGUyOTE0NmU1ZGY4ZmFlNGUzNjg4YS4uYTJlYjdiNjBlYzE0YzQ0NDNmYzA5
ZDgzNjc3MTBmNzVhNmZhNDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIkpTUlRD
SWNlQ2FuZGlkYXRlLmgiCiAjaW5jbHVkZSAiSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJsZVN0cmVhbVBy
aXZhdGVDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJKU1JlbW90ZURPTVdpbmRvdy5oIgogI2lu
Y2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxT
Y29wZS5oIgpAQCAtMTIyLDI4ICsxMjEsNiBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjphZGRC
dWlsdGluR2xvYmFscyhWTSYgdm0pCiB7CiAgICAgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnMu
aW5pdGlhbGl6ZSgqdGhpcyk7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgSlNPYmpl
Y3QqIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29uc3RydWN0b3IgPSBj
cmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZt
LCAqdGhpcyk7Ci0gICAgSlNPYmplY3QqIHByaXZhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyQ29uc3RydWN0b3IgPSBjcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJpdmF0
ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyk7Ci0gICAgSlNPYmplY3QqIHByaXZhdGVSZWFkYWJsZVN0
cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3IgPSBjcmVhdGVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1
ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyk7Ci0gICAgSlNPYmplY3QqIHByaXZhdGVS
ZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJDb25zdHJ1Y3RvciA9IGNyZWF0ZVJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpOwotICAgIEpTT2Jq
ZWN0KiBwcml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29uc3RydWN0b3IgPSBjcmVhdGVS
ZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKTsKLQot
ICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0KHByaXZhdGVS
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29uc3RydWN0b3ItPmluZm8oKSkuZ2V0KCkp
OwotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0KHByaXZh
dGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29uc3RydWN0b3ItPmluZm8oKSkuZ2V0KCkp
OwotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0KHByaXZh
dGVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3ItPmluZm8oKSkuZ2V0KCkpOwot
ICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0KHByaXZhdGVS
ZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJDb25zdHJ1Y3Rvci0+aW5mbygpKS5nZXQoKSk7Ci0g
ICAgQVNTRVJUKCFjb25zdHJ1Y3RvcnMoTm9Mb2NraW5nTmVjZXNzYXJ5KS5nZXQocHJpdmF0ZVJl
YWRhYmxlU3RyZWFtQllPQlJlYWRlckNvbnN0cnVjdG9yLT5pbmZvKCkpLmdldCgpKTsKLSAgICBK
U0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0PiB0ZW1wOwotICAgIHsKLSAgICAgICAgYXV0
byBsb2NrZXIgPSBsb2NrRHVyaW5nTWFya2luZyh2bS5oZWFwLCBtX2djTG9jayk7Ci0gICAgICAg
IGNvbnN0cnVjdG9ycyhsb2NrZXIpLmFkZChwcml2YXRlUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlckNvbnN0cnVjdG9yLT5pbmZvKCksIHRlbXApLml0ZXJhdG9yLT52YWx1ZS5zZXQodm0s
IHRoaXMsIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29uc3RydWN0b3Ip
OwotICAgICAgICBjb25zdHJ1Y3RvcnMobG9ja2VyKS5hZGQocHJpdmF0ZVJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJDb25zdHJ1Y3Rvci0+aW5mbygpLCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUu
c2V0KHZtLCB0aGlzLCBwcml2YXRlUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbnN0cnVj
dG9yKTsKLSAgICAgICAgY29uc3RydWN0b3JzKGxvY2tlcikuYWRkKHByaXZhdGVSZWFkYWJsZVN0
cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3ItPmluZm8oKSwgdGVtcCkuaXRlcmF0b3ItPnZhbHVl
LnNldCh2bSwgdGhpcywgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RDb25zdHJ1Y3Rv
cik7Ci0gICAgICAgIGNvbnN0cnVjdG9ycyhsb2NrZXIpLmFkZChwcml2YXRlUmVhZGFibGVTdHJl
YW1EZWZhdWx0UmVhZGVyQ29uc3RydWN0b3ItPmluZm8oKSwgdGVtcCkuaXRlcmF0b3ItPnZhbHVl
LnNldCh2bSwgdGhpcywgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvbnN0cnVj
dG9yKTsKLSAgICAgICAgY29uc3RydWN0b3JzKGxvY2tlcikuYWRkKHByaXZhdGVSZWFkYWJsZVN0
cmVhbUJZT0JSZWFkZXJDb25zdHJ1Y3Rvci0+aW5mbygpLCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUu
c2V0KHZtLCB0aGlzLCBwcml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29uc3RydWN0b3Ip
OwotICAgIH0KLSNlbmRpZgogICAgIEpTVk1DbGllbnREYXRhJiBjbGllbnREYXRhID0gKnN0YXRp
Y19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgSlNET01HbG9iYWxP
YmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAgICAgICAgIEpT
RE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFt
ZXMoKS5tYWtlVGhpc1R5cGVFcnJvclByaXZhdGVOYW1lKCksCkBAIC0xNjQsMTEgKzE0MSw2IEBA
IHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKFZNJiB2bSkKICAgICAg
ICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0
aW5OYW1lcygpLnN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoNCksIFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwK
ICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRh
LmJ1aWx0aW5OYW1lcygpLnN0cmVhbVdhaXRpbmdQcml2YXRlTmFtZSgpLCBqc051bWJlcig1KSwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpLAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVu
dERhdGEuYnVpbHRpbk5hbWVzKCkuc3RyZWFtV3JpdGFibGVQcml2YXRlTmFtZSgpLCBqc051bWJl
cig2KSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkpLAotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZv
KGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
clByaXZhdGVOYW1lKCksIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29u
c3RydWN0b3IsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KSwKLSAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5
SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbnN0
cnVjdG9yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSksCi0gICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUlu
Zm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJp
dmF0ZU5hbWUoKSwgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RDb25zdHJ1Y3Rvciwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpLAotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVu
dERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZU5h
bWUoKSwgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvbnN0cnVjdG9yLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSks
Ci0gICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0
YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlTmFtZSgpLCBw
cml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29uc3RydWN0b3IsIFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAg
SlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5O
YW1lcygpLnJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWRQcml2YXRlTmFtZSgpLCBKU0Z1bmN0
aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBpc1JlYWRhYmxlQnl0ZVN0cmVhbUFQ
SUVuYWJsZWQpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSksCiAjZW5kaWYKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1
Y3RvcnMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTBjZDI3M2I2MGVkMGMy
Y2Q3MTc0YzNjMzQxNjUzMGE5MTBhMjE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJl
YW1Qcml2YXRlQ29uc3RydWN0b3JzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE3NyArMCwwIEBA
Ci0vKgotICogIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExlc3NlciBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmgiCi0K
LSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0KLSNpbmNsdWRlICJKU0RPTUJ1aWx0aW5Db25zdHJ1
Y3Rvci5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oIgotI2lu
Y2x1ZGUgIkpTUmVhZGFibGVTdHJlYW0uaCIKLSNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtQllP
QlJlYWRlci5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5oIgotI2lu
Y2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkpT
UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotdXNp
bmcgbmFtZXNwYWNlIEpTQzsKLQotZW51bSBjbGFzcyBSZWFkZXJUeXBlIHsKLSAgICBCeW9iLAot
ICAgIERlZmF1bHQsCi19OwotCi10ZW1wbGF0ZSA8UmVhZGVyVHlwZSB0eXBlPgotRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU1JlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJp
YyhFeGVjU3RhdGUmKTsKLQotLy8gUHVibGljIEpTIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIgY29uc3RydWN0b3IgY2FsbGJhY2suCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGNvbnN0cnVjdEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcihFeGVjU3RhdGUmIGV4
ZWMpCi17Ci0gICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcigmZXhlYywgc2Nv
cGUsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnN0cnVjdG9yIHNob3VsZCBu
b3QgYmUgY2FsbGVkIGRpcmVjdGx5Il9zKTsKLX0KLQotLy8gUHVibGljIEpTIFJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlciBhbmQgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIGNhbGxiYWNrcy4K
LXRlbXBsYXRlPFJlYWRlclR5cGUgdHlwZT4KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
Y29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWMoRXhlY1N0YXRlJiBleGVjKQot
ewotICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICBhdXRvJiBjbGllbnREYXRhID0gKnN0YXRp
Y19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7Ci0gICAgYXV0byYgZ2xvYmFs
T2JqZWN0ID0gKkpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpOwotCi0gICAgSlNDOjpKU09iamVjdCogY29uc3RydWN0b3I7Ci0gICAgaWYg
KHR5cGUgPT0gUmVhZGVyVHlwZTo6QnlvYikKLSAgICAgICAgY29uc3RydWN0b3IgPSBKU0M6OmFz
T2JqZWN0KGdsb2JhbE9iamVjdC5nZXQoJmV4ZWMsIGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCku
UmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZU5hbWUoKSkpOwotICAgIGVsc2UKLSAgICAg
ICAgY29uc3RydWN0b3IgPSBKU0M6OmFzT2JqZWN0KGdsb2JhbE9iamVjdC5nZXQoJmV4ZWMsIGNs
aWVudERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0
ZU5hbWUoKSkpOwotCi0gICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwotICAgIENvbnN0
cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGNvbnN0cnVjdG9yLT5tZXRob2RUYWJsZSh2bSktPmdl
dENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOwotICAgIEFTU0VSVChj
b25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGU6Ok5vbmUpOwotCi0gICAgTWFya2VkQXJndW1l
bnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZChleGVjLmFyZ3VtZW50KDApKTsKLSAgICBB
U1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTQzo6Y29uc3RydWN0KCZleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3Ry
dWN0RGF0YSwgYXJncykpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0
cnVjdEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKEV4ZWNTdGF0ZSYgZXhlYykKLXsKLSAg
ICByZXR1cm4gY29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWM8UmVhZGVyVHlw
ZTo6RGVmYXVsdD4oZXhlYyk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29u
c3RydWN0SlNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIoRXhlY1N0YXRlJiBleGVjKQotewotICAg
IHJldHVybiBjb25zdHJ1Y3RKU1JlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpYzxSZWFkZXJUeXBl
OjpCeW9iPihleGVjKTsKLX0KLQotLy8gUHVibGljIEpTIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXIgYW5kIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgY29uc3RydWN0b3IgY2FsbGJhY2tz
LgotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU1JlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIoRXhlY1N0YXRlJiBleGVjKQotewotICAgIFZNJiB2bSA9IGV4ZWMudm0o
KTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgcmV0dXJu
IHRocm93Vk1UeXBlRXJyb3IoJmV4ZWMsIHNjb3BlLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlciBjb25zdHJ1Y3RvciBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSJfcyk7Ci19Ci0K
LUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbUJZ
T0JSZXF1ZXN0KEV4ZWNTdGF0ZSYgZXhlYykKLXsKLSAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0g
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIHJldHVybiB0aHJv
d1ZNVHlwZUVycm9yKCZleGVjLCBzY29wZSwgIlJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgY29u
c3RydWN0b3Igc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiX3MpOwotfQotCi0vLyBQcml2
YXRlIEpTIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciBhbmQgUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlciBjb25zdHJ1Y3RvcnMuCi11c2luZyBKU0J1aWx0aW5SZWFkYWJsZVN0cmVh
bURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IgPSBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rv
cjxKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcj47Ci11c2luZyBKU0J1aWx0aW5SZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yID0gSlNET01CdWlsdGlu
Q29uc3RydWN0b3I8SlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPjsKLS8vIFByaXZh
dGUgSlMgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciwgUmVhZGFibGVTdHJlYW1CWU9CUmVh
ZGVyIGFuZCBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IGNvbnN0cnVjdG9ycy4KLXVzaW5nIEpT
QnVpbHRpblJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3IgPSBK
U0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXI+Owot
dXNpbmcgSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9y
ID0gSlNET01CdWlsdGluQ29uc3RydWN0b3I8SlNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXI+Owot
dXNpbmcgSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rv
ciA9IEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdD47
Ci0KLVNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShKU0J1aWx0aW5SZWFk
YWJsZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IpOwotU1RBVElDX0FTU0VS
VF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3IpOwotU1RBVElDX0FTU0VSVF9JU19UUklWSUFM
TFlfREVTVFJVQ1RJQkxFKEpTQnVpbHRpblJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcml2
YXRlQ29uc3RydWN0b3IpOwotU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxF
KEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcik7Ci1T
VEFUSUNfQVNTRVJUX0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNCdWlsdGluUmVhZGFibGVT
dHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rvcik7Ci0KLXRlbXBsYXRlPD4gY29uc3Qg
Q2xhc3NJbmZvIEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclByaXZhdGVDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZUNv
bnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3Ry
dWN0b3IpIH07Ci10ZW1wbGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU0J1aWx0aW5SZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNf
aW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J1aWx0aW5SZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKSB9OwotdGVtcGxh
dGU8PiBjb25zdCBDbGFzc0luZm8gSlNCdWlsdGluUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
clByaXZhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlclByaXZhdGVDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoSlNCdWlsdGluUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
clByaXZhdGVDb25zdHJ1Y3RvcikgfTsKLXRlbXBsYXRlPD4gY29uc3QgQ2xhc3NJbmZvIEpTQnVp
bHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNf
aW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J1aWx0aW5SZWFk
YWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IpIH07Ci10ZW1wbGF0ZTw+IGNv
bnN0IENsYXNzSW5mbyBKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNv
bnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVj
dG9yKSB9OwotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNCdWlsdGluUmVhZGFi
bGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjppbml0aWFsaXplRXhlY3V0
YWJsZShKU0M6OlZNJiB2bSkKLXsKLSAgICByZXR1cm4gcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNQ
cml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvZGVHZW5lcmF0b3Io
dm0pOwotfQotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNCdWlsdGluUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZUV4
ZWN1dGFibGUoSlNDOjpWTSYgdm0pCi17Ci0gICAgcmV0dXJuIHJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzUHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29kZUdl
bmVyYXRvcih2bSk7Ci19Ci0KLXRlbXBsYXRlPD4gRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0J1aWx0
aW5SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjppbml0aWFs
aXplRXhlY3V0YWJsZShKU0M6OlZNJiB2bSkKLXsKLSAgICByZXR1cm4gcmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzUHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
Q29kZUdlbmVyYXRvcih2bSk7Ci19Ci0KLXRlbXBsYXRlPD4gRnVuY3Rpb25FeGVjdXRhYmxlKiBK
U0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0b3I6OmluaXRp
YWxpemVFeGVjdXRhYmxlKEpTQzo6Vk0mIHZtKQotewotICAgIHJldHVybiByZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHNQcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlckNv
ZGVHZW5lcmF0b3Iodm0pOwotfQotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNC
dWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZUV4ZWN1dGFibGUoSlNDOjpWTSYgdm0pCi17Ci0gICAgcmV0dXJuIHJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc1ByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdENv
ZGVHZW5lcmF0b3Iodm0pOwotfQotCi1KU09iamVjdCogY3JlYXRlUmVhZGFibGVTdHJlYW1EZWZh
dWx0UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJlYW1EZWZhdWx0
UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTQnVpbHRpblJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSksIGdsb2JhbE9iamVj
dCk7Ci19Ci0KLUpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
UHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
clByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0Lm9iamVjdFByb3RvdHlwZSgpKSwgZ2xvYmFsT2JqZWN0
KTsKLX0KLQotSlNPYmplY3QqIGNyZWF0ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcml2
YXRlQ29uc3RydWN0b3IoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQot
ewotICAgIHJldHVybiBKU0J1aWx0aW5SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJpdmF0
ZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTQnVpbHRpblJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJQcml2YXRlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0
LCBnbG9iYWxPYmplY3Qub2JqZWN0UHJvdG90eXBlKCkpLCBnbG9iYWxPYmplY3QpOwotfQotCi1K
U09iamVjdCogY3JlYXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9y
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4g
SlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVh
dGUodm0sIEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVDb25zdHJ1Y3Rv
cjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQ
cm90b3R5cGUoKSksIGdsb2JhbE9iamVjdCk7Ci19Ci0KLUpTT2JqZWN0KiBjcmVhdGVSZWFkYWJs
ZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJl
YW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0J1aWx0aW5SZWFk
YWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0Lm9iamVjdFByb3RvdHlwZSgpKSwgZ2xvYmFs
T2JqZWN0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29u
c3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFt
UHJpdmF0ZUNvbnN0cnVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTI4
YTIzOTU1MzIzYzU1ZTI2MzQ4NzhmODVkNTM4ZDlmMWZiMDlkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0
MSArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
ICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBK
U09iamVjdDsKLWNsYXNzIFZNOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEpT
RE9NR2xvYmFsT2JqZWN0OwotCi1KU0M6OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZVN0cmVhbURl
ZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0
Jik7Ci1KU0M6OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
UHJpdmF0ZUNvbnN0cnVjdG9yKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotCi1KU0M6
OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0
cnVjdG9yKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotSlNDOjpKU09iamVjdCogY3Jl
YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKEpTQzo6Vk0mLCBK
U0RPTUdsb2JhbE9iamVjdCYpOwotSlNDOjpKU09iamVjdCogY3JlYXRlUmVhZGFibGVTdHJlYW1C
WU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3RvcihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3Qm
KTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFNUUkVBTVNf
QVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQppbmRleCBjYjkwMTc0YTA5NDhmNWIxMTk5MWU2NmJhYzIyMDgyODBjNjQ5MWI4Li44
MzA3Mjg0ZDZhYTU4YTU2MmVjMTRmZGZhNzgwMDYyYmNjNTkxYzBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzA1Nyw2
ICszMDU3LDcgQEAgc3ViIEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZQogICAgIGZvcmVhY2gg
bXkgJGF0dHJpYnV0ZSAoQGF0dHJpYnV0ZXMpIHsKICAgICAgICAgbmV4dCBpZiAoJGF0dHJpYnV0
ZS0+aXNTdGF0aWMpOwogICAgICAgICBuZXh0IGlmIEF0dHJpYnV0ZVNob3VsZEJlT25JbnN0YW5j
ZSgkaW50ZXJmYWNlLCAkYXR0cmlidXRlKSAhPSAkaXNJbnN0YW5jZTsKKyAgICAgICAgbmV4dCBp
ZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UHJpdmF0ZUlkZW50aWZpZXJ9IGFu
ZCBub3QgJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UHVibGljSWRlbnRpZmllcn0p
OwogCiAgICAgICAgICMgR2xvYmFsIG9iamVjdHMgYWRkIFJ1bnRpbWVFbmFibGVkIGF0dHJpYnV0
ZXMgYWZ0ZXIgY3JlYXRpb24gc28gZG8gbm90IGFkZCB0aGVtIHRvIHRoZSBzdGF0aWMgdGFibGUu
CiAgICAgICAgIGlmICgkaXNJbnN0YW5jZSAmJiBOZWVkc1J1bnRpbWVDaGVjaygkaW50ZXJmYWNl
LCAkYXR0cmlidXRlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9wcmVwcm9jZXNzLWlkbHMucGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3ByZXByb2Nlc3MtaWRscy5wbAppbmRleCA3ZmFmNDA5YmU4MzQxOTQ0ODhlMGM3ZjZjYTU0ODBi
MDlmM2ExZTUwLi5mZTExNjRkOTg5OWJhZmJiNWZhMWQyNDdkZTI1MjkxYzZlNjA0Yjk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5w
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5w
bApAQCAtNDA4LDcgKzQwOCw1IEBAIHN1YiBzaG91bGRFeHBvc2VJbnRlcmZhY2UKIHsKICAgICBt
eSAkZXh0ZW5kZWRBdHRyaWJ1dGVzID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMCBpZiAkZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ik5vSW50ZXJmYWNlT2JqZWN0In07Ci0gICAgcmV0dXJuIDAgaWYgJGV4
dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlSWRlbnRpZmllciJ9ICYmICEoJGV4dGVuZGVkQXR0
cmlidXRlcy0+eyJQdWJsaWNJZGVudGlmaWVyIn0pOwotICAgIHJldHVybiAxOworICAgIHJldHVy
biAhJGV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb0ludGVyZmFjZU9iamVjdCJ9OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357689</attachid>
            <date>2018-12-19 10:10:27 -0800</date>
            <delta_ts>2018-12-20 16:03:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192838-20181219101024.patch</filename>
            <type>text/plain</type>
            <size>39503</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNlOTM2MzA3MTJlMmIz
NDBhOGRmNjJiODgyZWNiZGNmMTMxYWM1OS4uNmY1MWJhNTc5OTYwZjkwYmRiZjU3ZDViYzVjOGMx
OTk4NjQ1ODI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE4LTEyLTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY3VzdG9tIGNv
bnN0cnVjdG9ycyBvZiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIgYW5kIFJlYWRhYmxlU3Ry
ZWFtQllPQlJlYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkyODM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgR2VuZXJhdGUgY29uc3RydWN0b3IgY29kZSBpbiBjYXNlIG9mIGEgUHJpdmF0ZSBidXQg
bm90IFB1YmxpYyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgTWFrZSBzdXJlIHRoaXMgaXMgY29ycmVj
dGx5IGV4cG9zZWQgaW4gZ2xvYmFsIG9iamVjdHMuCisgICAgICAgIEFkZCBKUyBidWlsdC1pbiBj
b25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbnMgZm9yIHRob3NlIHR3byBvYmplY3RzLgorCisgICAg
ICAgIEFsc28gYWRkIEpTIGJ1aWx0LWluIGNvbnN0cnVjdG9ycyBmb3IgY29udHJvbGxlciBhbmQg
YnlvYiByZXF1ZXN0LgorICAgICAgICBUbyBrZWVwIGV4aXN0aW5nIGJlaGF2aW9yLCBKUyBidWls
dC1pbnMgY2FsbGluZyB0aGVzZSBjb25zdHJ1Y3RvcnMgbmVlZCB0byBwYXNzCisgICAgICAgIGFu
IGFkZGl0aW9uYWwgcGFyYW1ldGVyIHRoYXQgYWxsb3dzIG1ha2luZyB0aGUgZGlmZmVyZW5jZSBi
ZXR3ZWVuIGEgSlMgYnVpbHRpbiBjYWxsZXIgb3IgYSBKUyBjYWxsZXIuCisgICAgICAgIEluIHRo
ZSBsYXR0ZXIgY2FzZSwgdGhlIGNvbnN0cnVjdG9yIHdpbGwgdGhyb3cuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cywgbm8gb2JzZXJ2YWJsZSBjaGFuZ2Ugb2YgYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXIuanM6CisgICAgICAgIChpbml0aWFsaXplUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
cik6CisgICAgICAgIChnZXR0ZXIuYnlvYlJlcXVlc3QpOgorICAgICAgICAqIE1vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChwcml2YXRlSW5p
dGlhbGl6ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBEZWxldGVkLgorICAgICAgICAo
cHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgIChpbml0
aWFsaXplUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbUJZT0JSZWFkZXIuanM6CisgICAgICAgIChpbml0aWFsaXplUmVhZGFibGVTdHJlYW1C
WU9CUmVhZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllP
QlJlcXVlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVz
dCk6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXIpOgorICAgICAgICAoZW5xdWV1ZSk6CisgICAgICAgICogTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5qczoKKyAgICAgICAgKGluaXRpYWxpemVS
ZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIpOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHJlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXJFcnJvcik6IERlbGV0ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogVW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01C
dWlsdGluQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRp
bkdsb2JhbHMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Qcml2YXRl
Q29uc3RydWN0b3JzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1JlYWRh
YmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVQcm9wZXJ0
aWVzSGFzaFRhYmxlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRs
cy5wbDoKKyAgICAgICAgKHNob3VsZEV4cG9zZUludGVyZmFjZSk6CisKIDIwMTgtMTItMTcgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUmVhZGFibGVT
dHJlYW1YWCBjb25zdHJ1Y3RzIHVzZSBQcml2YXRlSWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuaWRsCmluZGV4IGU4MzZjYWQxMDhlNDM2Yjg3OTgxMTQ3ZTYzOTY0NmM3ODBjYTYx
MTEuLjAwMmMxYWZmYmVkMDZhYzJlNWM4NmEzN2VmMTkzNGIxODAyNzkzYTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlci5pZGwKQEAgLTI5LDcgKzI5LDcgQEAKIAogWwogICAgIENvbmRpdGlv
bmFsPVNUUkVBTVNfQVBJLAotICAgIEN1c3RvbUNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0
cmVhbSwgYW55IHVuZGVybHlpbmdCeXRlU291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1h
cmspLAorICAgIENvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwgYW55IHVuZGVybHlp
bmdCeXRlU291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspLAogICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKICAgICBQcml2YXRlSWRlbnRpZmllcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlci5qcwppbmRleCA4YmJmMzFiMTg3Mjk4NGY5MjhlMWNiZTg2
NjRhN2U0NzFjNzY5MGM4Li4yNGVlNzZkNWJmNmRkMzczOWFjNzgxMThiMDM4ODNkM2Y2MjMyNDhk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5qcwpAQCAtMjUsNiArMjUsMTYgQEAKIAogLy8g
QGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkKIAorZnVuY3Rpb24gaW5pdGlhbGl6ZVJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLCB1bmRlcmx5aW5nQnl0ZVNvdXJjZSwg
aGlnaFdhdGVyTWFyaykKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoYXJndW1lbnRz
Lmxlbmd0aCAhPT0gNCAmJiBhcmd1bWVudHNbM10gIT09IEBpc1JlYWRhYmxlU3RyZWFtKQorICAg
ICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgY29uc3Ry
dWN0b3Igc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiKTsKKworICAgIHJldHVybiBAcHJp
dmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLkBjYWxsKHRoaXMsIHN0
cmVhbSwgdW5kZXJseWluZ0J5dGVTb3VyY2UsIGhpZ2hXYXRlck1hcmspOworfQorCiBmdW5jdGlv
biBlbnF1ZXVlKGNodW5rKQogewogICAgICJ1c2Ugc3RyaWN0IjsKQEAgLTg5LDcgKzk5LDcgQEAg
ZnVuY3Rpb24gYnlvYlJlcXVlc3QoKQogICAgICAgICBjb25zdCB2aWV3ID0gbmV3IEBVaW50OEFy
cmF5KGZpcnN0RGVzY3JpcHRvci5idWZmZXIsCiAgICAgICAgICAgICBmaXJzdERlc2NyaXB0b3Iu
Ynl0ZU9mZnNldCArIGZpcnN0RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCwKICAgICAgICAgICAgIGZp
cnN0RGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gZmlyc3REZXNjcmlwdG9yLmJ5dGVzRmlsbGVkKTsK
LSAgICAgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJieW9iUmVxdWVzdCIsIG5ldyBA
UmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCh0aGlzLCB2aWV3KSk7CisgICAgICAgIEBwdXRCeUlk
RGlyZWN0UHJpdmF0ZSh0aGlzLCAiYnlvYlJlcXVlc3QiLCBuZXcgQFJlYWRhYmxlU3RyZWFtQllP
QlJlcXVlc3QodGhpcywgdmlldywgQGlzUmVhZGFibGVTdHJlYW0pKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gQGdldEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJieW9iUmVxdWVzdCIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUlu
dGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHMuanMKaW5kZXggNDExMDk4YjM0ODYzYTUwZTkzYmY4Y2E4Y2M1YzdhNjI3
YTA4NDRlNi4uYTY4NmJlNDc5YmRhNWJhOWQ1OGM1OWMzZWQwNDMzMTFmZjE5NGU1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUlu
dGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVC
eXRlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0yNiwyMyArMjYsNiBAQAogLy8gQGNvbmRpdGlvbmFs
PUVOQUJMRShTVFJFQU1TX0FQSSkKIC8vIEBpbnRlcm5hbAogCi1mdW5jdGlvbiBwcml2YXRlSW5p
dGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihzdHJlYW0pCi17Ci0gICAgInVzZSBzdHJp
Y3QiOwotCi0gICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKQotICAgICAgICBAdGhy
b3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciBuZWVkcyBhIFJlYWRhYmxlU3Ry
ZWFtIik7Ci0gICAgaWYgKCFAaXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKEBnZXRCeUlk
RGlyZWN0UHJpdmF0ZShzdHJlYW0sICJyZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIiKSkpCi0gICAg
ICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIG5lZWRzIGEgUmVh
ZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciIpOwotICAgIGlmIChAaXNSZWFkYWJsZVN0cmVhbUxv
Y2tlZChzdHJlYW0pKQotICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtIGlz
IGxvY2tlZCIpOwotCi0gICAgQHJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemUo
dGhpcywgc3RyZWFtKTsKLSAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInJlYWRJbnRv
UmVxdWVzdHMiLCBbXSk7Ci0KLSAgICByZXR1cm4gdGhpczsKLX0KLQogZnVuY3Rpb24gcHJpdmF0
ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSwgdW5kZXJseWlu
Z0J5dGVTb3VyY2UsIGhpZ2hXYXRlck1hcmspCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCmluZGV4IDMz
NzZjZDRlNjkyNmI1NTllMjZhMjdkZWFmMTMwMzY1OTEzNGE3NGIuLjA2OGZlMjRjYWJlNWNlODUx
Nzg5MDBlNzc4ODQ5ODY5YjJiNDBhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKQEAgLTYxLDExICs2MSwxMSBAQCBmdW5jdGlvbiBp
bml0aWFsaXplUmVhZGFibGVTdHJlYW0odW5kZXJseWluZ1NvdXJjZSwgc3RyYXRlZ3kpCiAgICAg
ICAgICAgICBAdGhyb3dSYW5nZUVycm9yKCJTdHJhdGVneSBmb3IgYSBSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyIGNhbm5vdCBoYXZlIGEgc2l6ZSIpOwogCiAgICAgICAgIGxldCByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29uc3RydWN0b3IgPSBAUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlcjsKLSAgICAgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJyZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXIiLCBuZXcgQFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIodGhpcywg
dW5kZXJseWluZ1NvdXJjZSwgc3RyYXRlZ3kuaGlnaFdhdGVyTWFyaykpOworICAgICAgICBAcHV0
QnlJZERpcmVjdFByaXZhdGUodGhpcywgInJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIsIG5ldyBA
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcih0aGlzLCB1bmRlcmx5aW5nU291cmNlLCBzdHJh
dGVneS5oaWdoV2F0ZXJNYXJrLCBAaXNSZWFkYWJsZVN0cmVhbSkpOwogICAgIH0gZWxzZSBpZiAo
dHlwZSA9PT0gQHVuZGVmaW5lZCkgewogICAgICAgICBpZiAoc3RyYXRlZ3kuaGlnaFdhdGVyTWFy
ayA9PT0gQHVuZGVmaW5lZCkKICAgICAgICAgICAgIHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmsgPSAx
OwotICAgICAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInJlYWRhYmxlU3RyZWFtQ29u
dHJvbGxlciIsIG5ldyBAUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcih0aGlzLCB1bmRl
cmx5aW5nU291cmNlLCBzdHJhdGVneS5zaXplLCBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrKSk7Cisg
ICAgICAgIEBwdXRCeUlkRGlyZWN0UHJpdmF0ZSh0aGlzLCAicmVhZGFibGVTdHJlYW1Db250cm9s
bGVyIiwgbmV3IEBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMsIHVuZGVybHlp
bmdTb3VyY2UsIHN0cmF0ZWd5LnNpemUsIHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmssIEBpc1JlYWRh
YmxlU3RyZWFtKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIEB0aHJvd1JhbmdlRXJyb3IoIkludmFs
aWQgdHlwZSBmb3IgdW5kZXJseWluZyBzb3VyY2UiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmlkbApp
bmRleCAzNWQxZmJkOWNkMjc3NDk0NWExMjQ4M2U0YjA5ZTFjNWYwYWM5Mjc5Li40YjFhNTIyNGI3
NTk0MTZlNmJhZWUxZTAwN2YzMzI3MjQwMjJkM2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmlkbApA
QCAtMjYsNyArMjYsOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFNU19BUEksCi0gICAg
Q3VzdG9tQ29uc3RydWN0b3IoUmVhZGFibGVTdHJlYW0gc3RyZWFtKSwKKyAgICBDb25zdHJ1Y3Rv
cihSZWFkYWJsZVN0cmVhbSBzdHJlYW0pLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAog
ICAgIEpTQnVpbHRpbiwKICAgICBQcml2YXRlSWRlbnRpZmllcgogXSBpbnRlcmZhY2UgUmVhZGFi
bGVTdHJlYW1CWU9CUmVhZGVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmpzCmluZGV4IDY4YmNhZmIxOTFk
NThkZDk4ODE1NjUyZTEzMDlkMTEzYTk5ZjRjOTUuLmUzYjQzMmQyNzVjNGNkMWQ3YmY4NTljY2Fl
NzRlZTk2NGEzZjVkMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5qcwpAQCAtMjQsNiArMjQsMjMgQEAK
IAogLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkKIAorZnVuY3Rpb24gaW5pdGlh
bGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihzdHJlYW0pCit7CisgICAgInVzZSBzdHJpY3Qi
OworCisgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKQorICAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciBuZWVkcyBhIFJlYWRhYmxlU3RyZWFt
Iik7CisgICAgaWYgKCFAaXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKEBnZXRCeUlkRGly
ZWN0UHJpdmF0ZShzdHJlYW0sICJyZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIiKSkpCisgICAgICAg
IEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIG5lZWRzIGEgUmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlciIpOworICAgIGlmIChAaXNSZWFkYWJsZVN0cmVhbUxvY2tl
ZChzdHJlYW0pKQorICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtIGlzIGxv
Y2tlZCIpOworCisgICAgQHJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemUodGhp
cywgc3RyZWFtKTsKKyAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodGhpcywgInJlYWRJbnRvUmVx
dWVzdHMiLCBbXSk7CisKKyAgICByZXR1cm4gdGhpczsKK30KKwogZnVuY3Rpb24gY2FuY2VsKHJl
YXNvbikKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKaW5kZXgg
MDg5NzE4OGZjMGIxYjY3YzY2YTVjOGE1MGY1YjcwODM5ODY4NjE3MS4uYmI2NzA2NWU4YmJmYWYz
ZGIyYjJiNGFiNjE4NmVjYmU1ZWIwYWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbApAQCAt
MjgsNyArMjgsOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFNU19BUEksCi0gICAgQ3Vz
dG9tQ29uc3RydWN0b3IoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBjb250cm9sbGVyLCBU
eXBlZEFycmF5IHZpZXcpLAorICAgIENvbnN0cnVjdG9yKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXIgY29udHJvbGxlciwgVHlwZWRBcnJheSB2aWV3KSwKKyAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBKU0J1aWx0aW4sCiAgICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0gaW50ZXJm
YWNlIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcwppbmRl
eCAzODczMTYwMmQ3Y2I4YWMxODBmMDhmOTFlNDFiMzE5NGZlMjY1ZDA4Li4wMDlhMGE1N2FkYzgy
YTk3ZTM0OGNhMzdhNjA5YzFkZmRjMGNkNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5qcwpAQCAt
MjUsNiArMjUsMTYgQEAKIAogLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkKIAor
ZnVuY3Rpb24gaW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QoY29udHJvbGxlciwg
dmlldykKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAh
PT0gMyAmJiBhcmd1bWVudHNbMl0gIT09IEBpc1JlYWRhYmxlU3RyZWFtKQorICAgICAgICBAdGhy
b3dUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgY29uc3RydWN0b3Igc2hvdWxk
IG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiKTsKKworICAgIHJldHVybiBAcHJpdmF0ZUluaXRpYWxp
emVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LkBjYWxsKHRoaXMsIGNvbnRyb2xsZXIsIHZpZXcp
OworfQorCiBmdW5jdGlvbiByZXNwb25kKGJ5dGVzV3JpdHRlbikKIHsKICAgICAidXNlIHN0cmlj
dCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwKaW5kZXggNzdhMzg4NjVhYWJj
ZDBmMTUyZDhiY2FmMWUxOGU3NmUzZmIxNDBiZS4uMTRjMDQyMjZiNGEyYTRiNzllYWMzMDMxYzA1
ZmQxYTNlMjAwNWUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbApAQCAt
MjksNyArMjksOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFNU19BUEksCi0gICAgQ3Vz
dG9tQ29uc3RydWN0b3IoUmVhZGFibGVTdHJlYW0gc3RyZWFtLCBhbnkgdW5kZXJseWluZ1NvdXJj
ZSwgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspLAorICAg
IENvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwgYW55IHVuZGVybHlpbmdTb3VyY2Us
IHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBoaWdoV2F0ZXJNYXJrKSwKKyAgICBF
eHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBKU0J1aWx0aW4sCiAgICAgUHJpdmF0ZUlkZW50
aWZpZXIKIF0gaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcwppbmRleCBhMzczZmFkYjc0YjA2MzIwNWRjN2Zj
ZjAwNWY0OTlhMmM1NmE3MmRhLi45MzBkYjcxMmFlZWE5NDk0ZDQ5MTRhNDhlZTU3ODliNjI5MzYz
ZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5qcwpAQCAtMjUsNiArMjUsMTYg
QEAKIAogLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShTVFJFQU1TX0FQSSkKIAorZnVuY3Rpb24gaW5p
dGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoc3RyZWFtLCB1bmRlcmx5aW5n
U291cmNlLCBzaXplLCBoaWdoV2F0ZXJNYXJrKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAg
IGlmIChhcmd1bWVudHMubGVuZ3RoICE9PSA1ICYmIGFyZ3VtZW50c1s0XSAhPT0gQGlzUmVhZGFi
bGVTdHJlYW0pCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlciBjb25zdHJ1Y3RvciBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSIpOwor
CisgICAgcmV0dXJuIEBwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuQGNhbGwodGhpcywgc3RyZWFtLCB1bmRlcmx5aW5nU291cmNlLCBzaXplLCBoaWdoV2F0
ZXJNYXJrKTsKK30KKwogZnVuY3Rpb24gZW5xdWV1ZShjaHVuaykKIHsKICAgICAidXNlIHN0cmlj
dCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1EZWZhdWx0UmVhZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIuaWRsCmluZGV4IGFlNjAwYmE5ZWYyODBlZTdlMjI1
YTJhZTljOGM2MTlmYWJjYWVjYzguLjFmYTJiNzkwMGYyYmIzMGUzZjI4YTJkOWYzYTcyYjBjMTVi
MjczNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbURlZmF1bHRSZWFkZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIuaWRsCkBAIC0yOSw3ICsyOSw4IEBACiAK
IFsKICAgICBDb25kaXRpb25hbD1TVFJFQU1TX0FQSSwKLSAgICBDdXN0b21Db25zdHJ1Y3RvcihS
ZWFkYWJsZVN0cmVhbSBzdHJlYW0pLAorICAgIENvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0
cmVhbSksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSlNCdWlsdGluLAogICAg
IFByaXZhdGVJZGVudGlmaWVyCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFk
ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtRGVmYXVsdFJlYWRlci5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIuanMKaW5kZXggZGIxNmFiNWZjNmFlNmY2ZTIwYmVl
OTAwNjUzMTE5ZGI3YjhhM2Y3Ny4uZGE3NWEzZjYyOWE0MWFjODQ4OWNjZTlmZGIyZWNlZWVhN2Yy
ZjAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtRGVmYXVsdFJlYWRlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmpzCkBAIC0yNSw2ICsyNSwyMSBAQAogCiAv
LyBAY29uZGl0aW9uYWw9RU5BQkxFKFNUUkVBTVNfQVBJKQogCitmdW5jdGlvbiBpbml0aWFsaXpl
UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHN0cmVhbSkKK3sKKyAgICAidXNlIHN0cmljdCI7
CisKKyAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtKHN0cmVhbSkpCisgICAgICAgIEB0aHJvd1R5
cGVFcnJvcigiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyIG5lZWRzIGEgUmVhZGFibGVTdHJl
YW0iKTsKKyAgICBpZiAoQGlzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtKSkKKyAgICAgICAg
QHRocm93VHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSBpcyBsb2NrZWQiKTsKKworICAgIEByZWFk
YWJsZVN0cmVhbVJlYWRlckdlbmVyaWNJbml0aWFsaXplKHRoaXMsIHN0cmVhbSk7CisgICAgQHB1
dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJyZWFkUmVxdWVzdHMiLCBbXSk7CisKKyAgICByZXR1
cm4gdGhpczsKK30KKwogZnVuY3Rpb24gY2FuY2VsKHJlYXNvbikKIHsKICAgICAidXNlIHN0cmlj
dCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggOTVhYTc1YjUwNGRhNWM0ZDFkMjU0MmE0Y2ZmODdh
NTg2NzlkN2E3ZS4uNTFmMDE5ODcxODViOTlhMGIzZDdiMmExYjIxZWVmYmU5MTJlNGQ5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbUludGVybmFscy5qcwpAQCAtMjcsMjEgKzI3LDYgQEAKIC8vIEBjb25kaXRpb25hbD1FTkFC
TEUoU1RSRUFNU19BUEkpCiAvLyBAaW50ZXJuYWwKIAotZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxp
emVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIoc3RyZWFtKQotewotICAgICJ1c2Ugc3RyaWN0
IjsKLQotICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0oc3RyZWFtKSkKLSAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciBuZWVkcyBhIFJlYWRhYmxlU3Ry
ZWFtIik7Ci0gICAgaWYgKEBpc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkpCi0gICAgICAg
QHRocm93VHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSBpcyBsb2NrZWQiKTsKLQotICAgIEByZWFk
YWJsZVN0cmVhbVJlYWRlckdlbmVyaWNJbml0aWFsaXplKHRoaXMsIHN0cmVhbSk7Ci0gICAgQHB1
dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJyZWFkUmVxdWVzdHMiLCBbXSk7Ci0KLSAgICByZXR1
cm4gdGhpczsKLX0KLQogZnVuY3Rpb24gcmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlh
bGl6ZShyZWFkZXIsIHN0cmVhbSkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cmlu
ZGV4IDkzNzNhMjU2ZWYxMTIxY2M0MmNkMDFiMDc4YWNlYjAwNGRkODE0NTIuLjNiMjRmY2Y3NzU2
MWJjZWJhMjNkNTE1MmMzZDhkMzM4YzQzNzBkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC00NjQsNyAr
NDY0LDYgQEAgYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZU9ic2VydmVyQ3VzdG9tLmNwcAogYmlu
ZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAogYmluZGluZ3MvanMvSlNQb3BT
dGF0ZUV2ZW50Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNQcm9taXNlUmVqZWN0aW9uRXZlbnRD
dXN0b20uY3BwCi1iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9y
cy5jcHAKIGJpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwCiBiaW5k
aW5ncy9qcy9KU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwCiBiaW5kaW5ncy9qcy9KU1JlbW90ZURP
TVdpbmRvd0N1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CmluZGV4IDU3MTJiOTVmZDY1OWI0MzhhYzc0ZDZiOTRkNDgwMDBhODJjMzcw
NjguLmRmYzJhM2MyOTUyOWE0MTQ2NDQ4ZWM4YzNiNWJjZWUwODE0MTE3MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvVW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTM5Myw3ICsx
MzkzLDYgQEAgJChTUkNST09UKS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDdXN0
b20uY3BwCiAkKFNSQ1JPT1QpL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5j
cHAKICQoU1JDUk9PVCkvYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAogJChT
UkNST09UKS9iaW5kaW5ncy9qcy9KU1Byb21pc2VSZWplY3Rpb25FdmVudEN1c3RvbS5jcHAKLSQo
U1JDUk9PVCkvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMu
Y3BwCiAkKFNSQ1JPT1QpL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20u
Y3BwCiAkKFNSQ1JPT1QpL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93QmFzZS5jcHAKICQo
U1JDUk9PVCkvYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dDdXN0b20uY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGJj
YjRhN2VlMmU2N2NmMGMzYmZjYTk1OGQzNWM4YjFlNGY2MDE1MC4uZGZlZjlmZWM1MmZkMjdlZTEw
NWNkNTAwODgxYzhkY2FmYzJhYWU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA3Miw3ICsxMDcyLDYgQEAKIAkJNDEyOUM5
QTkxRjU5QzU2QjAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEMzOTVGMUM4
RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOUM5QUIxRjU5
QzU3MzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyog
UmVhZGFibGVTdHJlYW1Tb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTI5QzlBRjFGNTlDRjVCMDA5RDc0MDMgLyogUmVhZGFibGVTdHJl
YW1TaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDEyOURGODYxQkI1Qjgw
QzAwMzIyQTE2IC8qIEpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5REY4NDFCQjVCN0Y3
MDAzMjJBMTYgLyogSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4
NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRD
UnRwQ2FwYWJpbGl0aWVzLmggKi87IH07CiAJCTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi87IH07CiAJCTQxMzgwQzI3MUYzNDM2QUMwMDE1NUZE
QSAvKiBET01DYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEzODBDMjUxRjM0MzY5QTAwMTU1RkRBIC8qIERPTUNhY2hlLmggKi87IH07CkBAIC03
MjQyLDggKzcyNDEsNiBAQAogCQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVT
dHJlYW1TaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3Ry
ZWFtU2luay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTI5Qzk4MTFGNTg2MUM3
MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBSZWFkYWJsZVN0cmVhbVNpbmsuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtU2luay5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMjlERjgzMUJCNUI3RjcwMDMyMkExNiAvKiBK
U1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMjlERjg0MUJCNUI3RjcwMDMyMkEx
NiAvKiBKU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTJCQTVGRTIxOEM2NTE4MDAzNjU0NzQg
LyogUlRDUE11eFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENQ
TXV4UG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMkRFNEI2MjE5Mjg1
QkYwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDUnRwQ2FwYWJpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxMzAxNUQ1MUM3QjU3MDQwMDA5MUM2RSAvKiBGZXRjaFJlc3BvbnNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZldGNoUmVzcG9uc2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQ1MjUsOCArMjQ1MjIsNiBAQAogCQkJCUUzQzlB
RUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi8sCiAJCQkJOTNC
NzBENEYwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgKi8s
CiAJCQkJOTNCNzBENTAwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9u
cy5oICovLAotCQkJCTQxMjlERjgzMUJCNUI3RjcwMDMyMkExNiAvKiBKU1JlYWRhYmxlU3RyZWFt
UHJpdmF0ZUNvbnN0cnVjdG9ycy5jcHAgKi8sCi0JCQkJNDEyOURGODQxQkI1QjdGNzAwMzIyQTE2
IC8qIEpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmggKi8sCiAJCQkJNDZCQ0JC
QzEyMDg1MDA4MDAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5jcHAgKi8sCiAJCQkJ
NDZCQ0JCQzAyMDg1MDA3RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oICovLAog
CQkJCTkzMUFFM0I4MUZCODBFQUUwMEY1RUZCMiAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0Lmgg
Ki8sCkBAIC0yOTY1Niw3ICsyOTY1MSw2IEBACiAJCQkJNkM0Qzk2REYxQUQ0NDgzNTAwMzY1Njcy
IC8qIEpTUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkM0
Qzk2REYxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2REYxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTI5REY4NjFC
QjVCODBDMDAzMjJBMTYgLyogSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTdGNEM5NkREMUFENDQ4MzUwMDM2NUE1MSAvKiBKU1JlYWRhYmxl
U3RyZWFtU2luay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0U0Qzk2REQxQUQ0NDgzNTAwMzY1QTUx
IC8qIEpTUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2QzM3NjYy
MjA4NTE3N0QwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5k
ZXggNzY1ZWVkY2MyNDU1MTJkNTU5ZGUyOTE0NmU1ZGY4ZmFlNGUzNjg4YS4uYTJlYjdiNjBlYzE0
YzQ0NDNmYzA5ZDgzNjc3MTBmNzVhNmZhNDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgIkpTUlRDSWNlQ2FuZGlkYXRlLmgiCiAjaW5jbHVkZSAiSlNSVENTZXNzaW9uRGVzY3JpcHRp
b24uaCIKICNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJs
ZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJKU1JlbW90ZURPTVdpbmRv
dy5oIgogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1dvcmts
ZXRHbG9iYWxTY29wZS5oIgpAQCAtMTIyLDI4ICsxMjEsNiBAQCB2b2lkIEpTRE9NR2xvYmFsT2Jq
ZWN0OjphZGRCdWlsdGluR2xvYmFscyhWTSYgdm0pCiB7CiAgICAgbV9idWlsdGluSW50ZXJuYWxG
dW5jdGlvbnMuaW5pdGlhbGl6ZSgqdGhpcyk7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0g
ICAgSlNPYmplY3QqIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29uc3Ry
dWN0b3IgPSBjcmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0
cnVjdG9yKHZtLCAqdGhpcyk7Ci0gICAgSlNPYmplY3QqIHByaXZhdGVSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyQ29uc3RydWN0b3IgPSBjcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyk7Ci0gICAgSlNPYmplY3QqIHByaXZhdGVS
ZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3IgPSBjcmVhdGVSZWFkYWJsZVN0cmVh
bUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyk7Ci0gICAgSlNPYmplY3Qq
IHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJDb25zdHJ1Y3RvciA9IGNyZWF0ZVJl
YWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpOwot
ICAgIEpTT2JqZWN0KiBwcml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29uc3RydWN0b3Ig
PSBjcmVhdGVSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0
aGlzKTsKLQotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0
KHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29uc3RydWN0b3ItPmluZm8o
KSkuZ2V0KCkpOwotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSku
Z2V0KHByaXZhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29uc3RydWN0b3ItPmluZm8o
KSkuZ2V0KCkpOwotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSku
Z2V0KHByaXZhdGVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3ItPmluZm8oKSku
Z2V0KCkpOwotICAgIEFTU0VSVCghY29uc3RydWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeSkuZ2V0
KHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJDb25zdHJ1Y3Rvci0+aW5mbygpKS5n
ZXQoKSk7Ci0gICAgQVNTRVJUKCFjb25zdHJ1Y3RvcnMoTm9Mb2NraW5nTmVjZXNzYXJ5KS5nZXQo
cHJpdmF0ZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlckNvbnN0cnVjdG9yLT5pbmZvKCkpLmdldCgp
KTsKLSAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0PiB0ZW1wOwotICAgIHsKLSAg
ICAgICAgYXV0byBsb2NrZXIgPSBsb2NrRHVyaW5nTWFya2luZyh2bS5oZWFwLCBtX2djTG9jayk7
Ci0gICAgICAgIGNvbnN0cnVjdG9ycyhsb2NrZXIpLmFkZChwcml2YXRlUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlckNvbnN0cnVjdG9yLT5pbmZvKCksIHRlbXApLml0ZXJhdG9yLT52YWx1
ZS5zZXQodm0sIHRoaXMsIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ29u
c3RydWN0b3IpOwotICAgICAgICBjb25zdHJ1Y3RvcnMobG9ja2VyKS5hZGQocHJpdmF0ZVJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb25zdHJ1Y3Rvci0+aW5mbygpLCB0ZW1wKS5pdGVyYXRv
ci0+dmFsdWUuc2V0KHZtLCB0aGlzLCBwcml2YXRlUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckNvbnN0cnVjdG9yKTsKLSAgICAgICAgY29uc3RydWN0b3JzKGxvY2tlcikuYWRkKHByaXZhdGVS
ZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0Q29uc3RydWN0b3ItPmluZm8oKSwgdGVtcCkuaXRlcmF0
b3ItPnZhbHVlLnNldCh2bSwgdGhpcywgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RD
b25zdHJ1Y3Rvcik7Ci0gICAgICAgIGNvbnN0cnVjdG9ycyhsb2NrZXIpLmFkZChwcml2YXRlUmVh
ZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyQ29uc3RydWN0b3ItPmluZm8oKSwgdGVtcCkuaXRlcmF0
b3ItPnZhbHVlLnNldCh2bSwgdGhpcywgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRl
ckNvbnN0cnVjdG9yKTsKLSAgICAgICAgY29uc3RydWN0b3JzKGxvY2tlcikuYWRkKHByaXZhdGVS
ZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJDb25zdHJ1Y3Rvci0+aW5mbygpLCB0ZW1wKS5pdGVyYXRv
ci0+dmFsdWUuc2V0KHZtLCB0aGlzLCBwcml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29u
c3RydWN0b3IpOwotICAgIH0KLSNlbmRpZgogICAgIEpTVk1DbGllbnREYXRhJiBjbGllbnREYXRh
ID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgSlNE
T01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAg
ICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5i
dWlsdGluTmFtZXMoKS5tYWtlVGhpc1R5cGVFcnJvclByaXZhdGVOYW1lKCksCkBAIC0xNjQsMTEg
KzE0MSw2IEBAIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKFZNJiB2
bSkKICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnRE
YXRhLmJ1aWx0aW5OYW1lcygpLnN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIo
NCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KSwKICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhj
bGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLnN0cmVhbVdhaXRpbmdQcml2YXRlTmFtZSgpLCBqc051
bWJlcig1KSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkpLAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJ
bmZvKGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuc3RyZWFtV3JpdGFibGVQcml2YXRlTmFtZSgp
LCBqc051bWJlcig2KSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpLAotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJv
cGVydHlJbmZvKGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlclByaXZhdGVOYW1lKCksIHByaXZhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyQ29uc3RydWN0b3IsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKLSAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2Jh
bFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLlJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlUmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckNvbnN0cnVjdG9yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSksCi0gICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQ
cm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUJZT0JS
ZXF1ZXN0UHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RDb25z
dHJ1Y3RvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkpLAotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJ
bmZvKGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVy
UHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvbnN0cnVj
dG9yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSksCi0gICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8o
Y2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRl
TmFtZSgpLCBwcml2YXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyQ29uc3RydWN0b3IsIFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwK
ICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRh
LmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWRQcml2YXRlTmFtZSgp
LCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBpc1JlYWRhYmxlQnl0
ZVN0cmVhbUFQSUVuYWJsZWQpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAjZW5kaWYKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3Rv
cnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVByaXZh
dGVDb25zdHJ1Y3RvcnMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTBjZDI3
M2I2MGVkMGMyY2Q3MTc0YzNjMzQxNjUzMGE5MTBhMjE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVh
ZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE3
NyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
LSAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0
b3JzLmgiCi0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0KLSNpbmNsdWRlICJKU0RPTUJ1aWx0
aW5Db25zdHJ1Y3Rvci5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ci5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW0uaCIKLSNpbmNsdWRlICJKU1JlYWRhYmxl
U3RyZWFtQllPQlJlYWRlci5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVz
dC5oIgotI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oIgotI2lu
Y2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFi
bGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgot
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotZW51bSBjbGFzcyBSZWFkZXJUeXBlIHsKLSAg
ICBCeW9iLAotICAgIERlZmF1bHQsCi19OwotCi10ZW1wbGF0ZSA8UmVhZGVyVHlwZSB0eXBlPgot
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU1JlYWRhYmxlU3RyZWFtUmVh
ZGVyR2VuZXJpYyhFeGVjU3RhdGUmKTsKLQotLy8gUHVibGljIEpTIFJlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXIgY29uc3RydWN0b3IgY2FsbGJhY2suCi1FbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGNvbnN0cnVjdEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcihFeGVj
U3RhdGUmIGV4ZWMpCi17Ci0gICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcigm
ZXhlYywgc2NvcGUsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnN0cnVjdG9y
IHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5Il9zKTsKLX0KLQotLy8gUHVibGljIEpTIFJl
YWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciBhbmQgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIGNh
bGxiYWNrcy4KLXRlbXBsYXRlPFJlYWRlclR5cGUgdHlwZT4KLUVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWMoRXhlY1N0YXRl
JiBleGVjKQotewotICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICBhdXRvJiBjbGllbnREYXRh
ID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7Ci0gICAgYXV0
byYgZ2xvYmFsT2JqZWN0ID0gKkpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwotCi0gICAgSlNDOjpKU09iamVjdCogY29uc3RydWN0b3I7
Ci0gICAgaWYgKHR5cGUgPT0gUmVhZGVyVHlwZTo6QnlvYikKLSAgICAgICAgY29uc3RydWN0b3Ig
PSBKU0M6OmFzT2JqZWN0KGdsb2JhbE9iamVjdC5nZXQoJmV4ZWMsIGNsaWVudERhdGEuYnVpbHRp
bk5hbWVzKCkuUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZU5hbWUoKSkpOwotICAgIGVs
c2UKLSAgICAgICAgY29uc3RydWN0b3IgPSBKU0M6OmFzT2JqZWN0KGdsb2JhbE9iamVjdC5nZXQo
JmV4ZWMsIGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVh
ZGVyUHJpdmF0ZU5hbWUoKSkpOwotCi0gICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwot
ICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGNvbnN0cnVjdG9yLT5tZXRob2RUYWJs
ZSh2bSktPmdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOwotICAg
IEFTU0VSVChjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGU6Ok5vbmUpOwotCi0gICAgTWFy
a2VkQXJndW1lbnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZChleGVjLmFyZ3VtZW50KDAp
KTsKLSAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgpKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKEpTQzo6Y29uc3RydWN0KCZleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlw
ZSwgY29uc3RydWN0RGF0YSwgYXJncykpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGNvbnN0cnVjdEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKEV4ZWNTdGF0ZSYgZXhl
YykKLXsKLSAgICByZXR1cm4gY29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWM8
UmVhZGVyVHlwZTo6RGVmYXVsdD4oZXhlYyk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY29uc3RydWN0SlNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIoRXhlY1N0YXRlJiBleGVj
KQotewotICAgIHJldHVybiBjb25zdHJ1Y3RKU1JlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpYzxS
ZWFkZXJUeXBlOjpCeW9iPihleGVjKTsKLX0KLQotLy8gUHVibGljIEpTIFJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIgYW5kIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgY29uc3RydWN0b3Ig
Y2FsbGJhY2tzLgotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU1JlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoRXhlY1N0YXRlJiBleGVjKQotewotICAgIFZNJiB2bSA9
IGV4ZWMudm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0g
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoJmV4ZWMsIHNjb3BlLCAiUmVhZGFibGVCeXRlU3Ry
ZWFtQ29udHJvbGxlciBjb25zdHJ1Y3RvciBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSJf
cyk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNSZWFkYWJs
ZVN0cmVhbUJZT0JSZXF1ZXN0KEV4ZWNTdGF0ZSYgZXhlYykKLXsKLSAgICBWTSYgdm0gPSBleGVj
LnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIHJl
dHVybiB0aHJvd1ZNVHlwZUVycm9yKCZleGVjLCBzY29wZSwgIlJlYWRhYmxlU3RyZWFtQllPQlJl
cXVlc3QgY29uc3RydWN0b3Igc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiX3MpOwotfQot
Ci0vLyBQcml2YXRlIEpTIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciBhbmQgUmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlciBjb25zdHJ1Y3RvcnMuCi11c2luZyBKU0J1aWx0aW5SZWFk
YWJsZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IgPSBKU0RPTUJ1aWx0aW5D
b25zdHJ1Y3RvcjxKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcj47Ci11c2luZyBKU0J1aWx0
aW5SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yID0gSlNE
T01CdWlsdGluQ29uc3RydWN0b3I8SlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPjsK
LS8vIFByaXZhdGUgSlMgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciwgUmVhZGFibGVTdHJl
YW1CWU9CUmVhZGVyIGFuZCBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IGNvbnN0cnVjdG9ycy4K
LXVzaW5nIEpTQnVpbHRpblJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3Ry
dWN0b3IgPSBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXI+OwotdXNpbmcgSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNv
bnN0cnVjdG9yID0gSlNET01CdWlsdGluQ29uc3RydWN0b3I8SlNSZWFkYWJsZVN0cmVhbUJZT0JS
ZWFkZXI+OwotdXNpbmcgSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVD
b25zdHJ1Y3RvciA9IEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdD47Ci0KLVNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShKU0J1
aWx0aW5SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IpOwotU1RB
VElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEpTQnVpbHRpblJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdENvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3IpOwotU1RBVElDX0FTU0VSVF9J
U19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEpTQnVpbHRpblJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJQcml2YXRlQ29uc3RydWN0b3IpOwotU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVT
VFJVQ1RJQkxFKEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVDb25zdHJ1
Y3Rvcik7Ci1TVEFUSUNfQVNTRVJUX0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNCdWlsdGlu
UmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rvcik7Ci0KLXRlbXBsYXRl
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclBy
aXZhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVy
UHJpdmF0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2
YXRlQ29uc3RydWN0b3IpIH07Ci10ZW1wbGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU0J1aWx0aW5S
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpzX2luZm8g
PSB7ICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yIiwg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J1
aWx0aW5SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKSB9
OwotdGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNCdWlsdGluUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiUmVhZGFibGVCeXRlU3Ry
ZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNCdWlsdGluUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3RvcikgfTsKLXRlbXBsYXRlPD4gY29uc3QgQ2xhc3NJ
bmZvIEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcjo6
c19pbmZvID0geyAiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yIiwg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J1
aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IpIH07Ci10ZW1w
bGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0
UHJpdmF0ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0
UHJpdmF0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0
ZUNvbnN0cnVjdG9yKSB9OwotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNCdWls
dGluUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjppbml0aWFs
aXplRXhlY3V0YWJsZShKU0M6OlZNJiB2bSkKLXsKLSAgICByZXR1cm4gcmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNQcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvZGVH
ZW5lcmF0b3Iodm0pOwotfQotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNCdWls
dGluUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcjo6aW5p
dGlhbGl6ZUV4ZWN1dGFibGUoSlNDOjpWTSYgdm0pCi17Ci0gICAgcmV0dXJuIHJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzUHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyQ29kZUdlbmVyYXRvcih2bSk7Ci19Ci0KLXRlbXBsYXRlPD4gRnVuY3Rpb25FeGVjdXRhYmxl
KiBKU0J1aWx0aW5SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9y
Ojppbml0aWFsaXplRXhlY3V0YWJsZShKU0M6OlZNJiB2bSkKLXsKLSAgICByZXR1cm4gcmVhZGFi
bGVCeXRlU3RyZWFtSW50ZXJuYWxzUHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ29kZUdlbmVyYXRvcih2bSk7Ci19Ci0KLXRlbXBsYXRlPD4gRnVuY3Rpb25FeGVj
dXRhYmxlKiBKU0J1aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJQcml2YXRlQ29uc3RydWN0
b3I6OmluaXRpYWxpemVFeGVjdXRhYmxlKEpTQzo6Vk0mIHZtKQotewotICAgIHJldHVybiByZWFk
YWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNQcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQllP
QlJlYWRlckNvZGVHZW5lcmF0b3Iodm0pOwotfQotCi10ZW1wbGF0ZTw+IEZ1bmN0aW9uRXhlY3V0
YWJsZSogSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rv
cjo6aW5pdGlhbGl6ZUV4ZWN1dGFibGUoSlNDOjpWTSYgdm0pCi17Ci0gICAgcmV0dXJuIHJlYWRh
YmxlQnl0ZVN0cmVhbUludGVybmFsc1ByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdENvZGVHZW5lcmF0b3Iodm0pOwotfQotCi1KU09iamVjdCogY3JlYXRlUmVhZGFibGVT
dHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJl
YW1EZWZhdWx0UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTQnVpbHRpblJl
YWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0
dXJlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSksIGds
b2JhbE9iamVjdCk7Ci19Ci0KLUpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0J1aWx0aW5SZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0Lm9iamVjdFByb3RvdHlwZSgpKSwgZ2xv
YmFsT2JqZWN0KTsKLX0KLQotSlNPYmplY3QqIGNyZWF0ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJQcml2YXRlQ29uc3RydWN0b3IoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQotewotICAgIHJldHVybiBKU0J1aWx0aW5SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyUHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTQnVpbHRpblJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3Qub2JqZWN0UHJvdG90eXBlKCkpLCBnbG9iYWxPYmplY3Qp
OwotfQotCi1KU09iamVjdCogY3JlYXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNv
bnN0cnVjdG9yKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAg
ICByZXR1cm4gSlNCdWlsdGluUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVj
dG9yOjpjcmVhdGUodm0sIEpTQnVpbHRpblJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclByaXZhdGVD
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC5vYmplY3RQcm90b3R5cGUoKSksIGdsb2JhbE9iamVjdCk7Ci19Ci0KLUpTT2JqZWN0KiBjcmVh
dGVSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yKFZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNCdWlsdGluUmVh
ZGFibGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0J1
aWx0aW5SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0UHJpdmF0ZUNvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmUodm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0Lm9iamVjdFByb3RvdHlwZSgp
KSwgZ2xvYmFsT2JqZWN0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Q
cml2YXRlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRh
YmxlU3RyZWFtUHJpdmF0ZUNvbnN0cnVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1YTI4YTIzOTU1MzIzYzU1ZTI2MzQ4NzhmODVkNTM4ZDlmMWZiMDlkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29uc3RydWN0b3JzLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw0MSArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYwotICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLQotbmFtZXNwYWNlIEpTQyB7
Ci1jbGFzcyBKU09iamVjdDsKLWNsYXNzIFZNOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OwotCi1KU0M6OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJs
ZVN0cmVhbURlZmF1bHRSZWFkZXJQcml2YXRlQ29uc3RydWN0b3IoSlNDOjpWTSYsIEpTRE9NR2xv
YmFsT2JqZWN0Jik7Ci1KU0M6OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYp
OwotCi1KU0M6OkpTT2JqZWN0KiBjcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJp
dmF0ZUNvbnN0cnVjdG9yKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotSlNDOjpKU09i
amVjdCogY3JlYXRlUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKEpT
Qzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotSlNDOjpKU09iamVjdCogY3JlYXRlUmVhZGFi
bGVTdHJlYW1CWU9CUmVxdWVzdFByaXZhdGVDb25zdHJ1Y3RvcihKU0M6OlZNJiwgSlNET01HbG9i
YWxPYmplY3QmKTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxF
KFNUUkVBTVNfQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQppbmRleCBjYjkwMTc0YTA5NDhmNWIxMTk5MWU2NmJhYzIyMDgyODBj
NjQ5MWI4Li44MzA3Mjg0ZDZhYTU4YTU2MmVjMTRmZGZhNzgwMDYyYmNjNTkxYzBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtMzA1Nyw2ICszMDU3LDcgQEAgc3ViIEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZQogICAg
IGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQGF0dHJpYnV0ZXMpIHsKICAgICAgICAgbmV4dCBpZiAo
JGF0dHJpYnV0ZS0+aXNTdGF0aWMpOwogICAgICAgICBuZXh0IGlmIEF0dHJpYnV0ZVNob3VsZEJl
T25JbnN0YW5jZSgkaW50ZXJmYWNlLCAkYXR0cmlidXRlKSAhPSAkaXNJbnN0YW5jZTsKKyAgICAg
ICAgbmV4dCBpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UHJpdmF0ZUlkZW50
aWZpZXJ9IGFuZCBub3QgJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UHVibGljSWRl
bnRpZmllcn0pOwogCiAgICAgICAgICMgR2xvYmFsIG9iamVjdHMgYWRkIFJ1bnRpbWVFbmFibGVk
IGF0dHJpYnV0ZXMgYWZ0ZXIgY3JlYXRpb24gc28gZG8gbm90IGFkZCB0aGVtIHRvIHRoZSBzdGF0
aWMgdGFibGUuCiAgICAgICAgIGlmICgkaXNJbnN0YW5jZSAmJiBOZWVkc1J1bnRpbWVDaGVjaygk
aW50ZXJmYWNlLCAkYXR0cmlidXRlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAppbmRleCA3ZmFmNDA5YmU4MzQxOTQ0ODhlMGM3
ZjZjYTU0ODBiMDlmM2ExZTUwLi5mZTExNjRkOTg5OWJhZmJiNWZhMWQyNDdkZTI1MjkxYzZlNjA0
Yjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nl
c3MtaWRscy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nl
c3MtaWRscy5wbApAQCAtNDA4LDcgKzQwOCw1IEBAIHN1YiBzaG91bGRFeHBvc2VJbnRlcmZhY2UK
IHsKICAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVzID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMCBp
ZiAkZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vSW50ZXJmYWNlT2JqZWN0In07Ci0gICAgcmV0dXJu
IDAgaWYgJGV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlSWRlbnRpZmllciJ9ICYmICEoJGV4
dGVuZGVkQXR0cmlidXRlcy0+eyJQdWJsaWNJZGVudGlmaWVyIn0pOwotICAgIHJldHVybiAxOwor
ICAgIHJldHVybiAhJGV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb0ludGVyZmFjZU9iamVjdCJ9Owog
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>