<?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>216939</bug_id>
          
          <creation_ts>2020-09-24 12:06:55 -0700</creation_ts>
          <short_desc>Use more inline initialization and constexpr in WebAudio code</short_desc>
          <delta_ts>2020-09-24 13:11:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691623</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-24 12:06:55 -0700</bug_when>
    <thetext>Use more inline initialization and constexpr in WebAudio code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691627</commentid>
    <comment_count>1</comment_count>
      <attachid>409610</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-24 12:11:23 -0700</bug_when>
    <thetext>Created attachment 409610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691631</commentid>
    <comment_count>2</comment_count>
      <attachid>409610</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-24 12:24:44 -0700</bug_when>
    <thetext>Comment on attachment 409610
Patch

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

&gt; Source/WebCore/platform/audio/HRTFPanner.h:85
&gt; +    int m_azimuthIndex1 { UninitializedAzimuth };

Maybe these become optionals too?

&gt; Source/WebCore/platform/audio/HRTFPanner.h:89
&gt; +    int m_azimuthIndex2 { UninitializedAzimuth };

Maybe these become optionals too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691632</commentid>
    <comment_count>3</comment_count>
      <attachid>409612</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-24 12:31:54 -0700</bug_when>
    <thetext>Created attachment 409612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691647</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-24 13:10:11 -0700</bug_when>
    <thetext>Committed r267544: &lt;https://trac.webkit.org/changeset/267544&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409612.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691649</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-24 13:11:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/69521117&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409610</attachid>
            <date>2020-09-24 12:11:23 -0700</date>
            <delta_ts>2020-09-24 12:31:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216939-20200924121122.patch</filename>
            <type>text/plain</type>
            <size>72179</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYwYTk2YmZiY2M4NzRk
ODZkMWU0OTQyNDFkNzAxY2VkOTI2YjUzOS4uOTQ5ZTM2MTZlZTIyNTcxNjViYzUyMTkyZmFhZmFl
YTM3MGFhMjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNiBAQAorMjAyMC0wOS0yNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBtb3JlIGlubGluZSBp
bml0aWFsaXphdGlvbiBhbmQgY29uc3RleHByIGluIFdlYkF1ZGlvIGNvZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjkzOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBtb3JlIGlubGluZSBpbml0
aWFsaXphdGlvbiBhbmQgY29uc3RleHByIGluIFdlYkF1ZGlvIGNvZGUuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6QXVkaW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b05vZGVPdXRwdXQ6OkF1ZGlvTm9kZU91dHB1dCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb05vZGVPdXRwdXQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFy
YW1UaW1lbGluZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9k
ZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZTo6dXBkYXRlU2NoZWR1bGluZ0luZm8pOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmg6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb1N1bW1pbmdKdW5jdGlvbjo6QXVkaW9TdW1taW5nSnVuY3Rpb24pOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9CaXF1YWRQcm9jZXNzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmlxdWFkUHJvY2Vzc29y
OjpCaXF1YWRQcm9jZXNzb3IpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJv
Y2Vzc29yLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHA6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmlvZGljV2F2ZTo6UGVyaW9kaWNXYXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmlvZGlj
V2F2ZTo6d2F2ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJpb2RpY1dhdmU6Om51bWJlck9mUGFydGlhbHNGb3JSYW5nZSBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVB
bmFseXNlcjo6UmVhbHRpbWVBbmFseXNlcik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9S
ZWFsdGltZUFuYWx5c2VyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OlNj
cmlwdFByb2Nlc3Nvck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nl
c3Nvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXYXZlU2hhcGVyUHJvY2Vzc29yOjpXYXZlU2hh
cGVyUHJvY2Vzc29yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9j
ZXNzb3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5j
cHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QXVkaW9QYW5uZXJOb2RlOjpXZWJLaXRBdWRpb1Bh
bm5lck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJO
b2RlLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9CdXM6OkF1ZGlvQnVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yOjpBdWRpb0RTUEtlcm5lbFByb2Nl
c3Nvcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0hhcmR3YXJlTGlzdGVuZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpBdWRpb0hhcmR3YXJlTGlz
dGVuZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvUmVzYW1wbGVyOjpBdWRpb1Jlc2FtcGxlcik6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9B
dWRpb1Jlc2FtcGxlcktlcm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Jlc2FtcGxl
cktlcm5lbDo6QXVkaW9SZXNhbXBsZXJLZXJuZWwpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0F1ZGlvUmVzYW1wbGVyS2VybmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQmlxdWFk
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Db25lLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9Db25lLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0Rpc3RhbmNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vRG93blNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG93blNhbXBsZXI6
OkRvd25TYW1wbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEeW5hbWljc0NvbXByZXNzb3JLZXJuZWw6OkR5bmFtaWNzQ29tcHJl
c3Nvcktlcm5lbCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29y
S2VybmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBhbm5lci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFcXVhbFBvd2VyUGFubmVyOjpFcXVhbFBvd2VyUGFubmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZGVENv
bnZvbHZlcjo6RkZUQ29udm9sdmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9GRlRDb252
b2x2ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlOjpIUlRGRGF0YWJhc2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGS2VybmVsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhSVEZLZXJuZWw6OkhSVEZLZXJuZWwpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0hSVEZLZXJuZWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhSVEZQYW5uZXI6OkhSVEZQYW5uZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UGxhdGZvcm1NZWRpYVNlc3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUHVzaFB1bGxG
SUZPLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hQdWxsRklGTzo6UHVzaFB1bGxGSUZPKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QdXNoUHVsbEZJRk8uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9SZXZlcmIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkFj
Y3VtdWxhdGlvbkJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJBY2N1bXVsYXRp
b25CdWZmZXI6OlJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vUmV2ZXJiQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJD
b252b2x2ZXJTdGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJDb252b2x2ZXJTdGFn
ZTo6UmV2ZXJiQ29udm9sdmVyU3RhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVy
YkNvbnZvbHZlclN0YWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRC
dWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2ZXJiSW5wdXRCdWZmZXI6OlJldmVyYklu
cHV0QnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5o
OgorCiAyMDIwLTA5LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGVjbGFyZSByZW5kZXIgcXVhbnR1bSBzaXplIGNvbnN0YW50IGluIEF1ZGlvVXRpbGl0aWVz
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9C
dWZmZXJTb3VyY2VOb2RlLmNwcAppbmRleCBkMTk5OWUzODgzMmY5N2U5ZTU5NzM5MjEzZDdhYWJi
NWQ1NjlmNjVhLi40NDI0MjY0MTI4MDg2ZTFmMTk2ODE3YWMyMTg1YTk0MThkZGNlZDAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChBdWRpb0J1ZmZlclNvdXJjZU5vZGUpOwogV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZSk7CiAKLWNv
bnN0IGRvdWJsZSBEZWZhdWx0R3JhaW5EdXJhdGlvbiA9IDAuMDIwOyAvLyAyMG1zCitjb25zdGV4
cHIgZG91YmxlIERlZmF1bHRHcmFpbkR1cmF0aW9uID0gMC4wMjA7IC8vIDIwbXMKIAogLy8gQXJi
aXRyYXJ5IHVwcGVyIGxpbWl0IG9uIHBsYXliYWNrIHJhdGUuCiAvLyBIaWdoZXIgdGhhbiBleHBl
Y3RlZCByYXRlcyBjYW4gYmUgdXNlZnVsIHdoZW4gcGxheWluZyBiYWNrIG92ZXJzYW1wbGVkIGJ1
ZmZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggZDM0NmRmODliMGUzZTQwMTI5ODYwMWQzY2U3OWQ1
MjEyNjc1Yzg5YS4uODEzMzZhNGQ4YjBkMTI2MDJjODNjOTYxYWRiZjc3ZDcxYzk0Mzk2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAKQEAgLTQxLDEwICs0MSw2IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7CiAKIEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpBdWRp
b0Rlc3RpbmF0aW9uTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIDogQXVkaW9O
b2RlKGNvbnRleHQpCi0gICAgLCBtX2N1cnJlbnRTYW1wbGVGcmFtZSgwKQotICAgICwgbV9pc1Np
bGVudCh0cnVlKQotICAgICwgbV9pc0VmZmVjdGl2ZWx5UGxheWluZ0F1ZGlvKGZhbHNlKQotICAg
ICwgbV9tdXRlZChmYWxzZSkKIHsKICAgICBzZXROb2RlVHlwZShOb2RlVHlwZURlc3RpbmF0aW9u
KTsKICAgICBhZGRJbnB1dChtYWtlVW5pcXVlPEF1ZGlvTm9kZUlucHV0Pih0aGlzKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25O
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25O
b2RlLmgKaW5kZXggYjliNGMzMGM2ZGIzYTBhZmM2MzJiZjFiMWY3MTlkMjM1NzVlNGNiYi4uYzU2
NzBjMzY0ODU3NWU4ODBlYjY4NWUwYTNhMTM1YzI5MjQzNzViYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaApAQCAt
NzEsMTEgKzcxLDExIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUlzRWZmZWN0aXZlbHlQ
bGF5aW5nQXVkaW8oKTsKIAogICAgIC8vIENvdW50cyB0aGUgbnVtYmVyIG9mIHNhbXBsZS1mcmFt
ZXMgcHJvY2Vzc2VkIGJ5IHRoZSBkZXN0aW5hdGlvbi4KLSAgICBzaXplX3QgbV9jdXJyZW50U2Ft
cGxlRnJhbWU7CisgICAgc2l6ZV90IG1fY3VycmVudFNhbXBsZUZyYW1lIHsgMCB9OwogCi0gICAg
Ym9vbCBtX2lzU2lsZW50OwotICAgIGJvb2wgbV9pc0VmZmVjdGl2ZWx5UGxheWluZ0F1ZGlvOwot
ICAgIGJvb2wgbV9tdXRlZDsKKyAgICBib29sIG1faXNTaWxlbnQgeyB0cnVlIH07CisgICAgYm9v
bCBtX2lzRWZmZWN0aXZlbHlQbGF5aW5nQXVkaW8geyBmYWxzZSB9OworICAgIGJvb2wgbV9tdXRl
ZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHAKaW5kZXggMzY3
MzRkYTExM2RmNGM3YzM4NTU1YTliYTU3ZmM0ZTFjYmE0Mjc1Ny4uNmI2ZGUwYmMyMzU0ODgyYWNl
NDI2MTJkNTUzYzcyMjcwMzNjODc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb05vZGVPdXRwdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Ob2RlT3V0cHV0LmNwcApAQCAtNDAsMTAgKzQwLDYgQEAgQXVkaW9O
b2RlT3V0cHV0OjpBdWRpb05vZGVPdXRwdXQoQXVkaW9Ob2RlKiBub2RlLCB1bnNpZ25lZCBudW1i
ZXJPZkNoYW5uZWxzKQogICAgIDogbV9ub2RlKG5vZGUpCiAgICAgLCBtX251bWJlck9mQ2hhbm5l
bHMobnVtYmVyT2ZDaGFubmVscykKICAgICAsIG1fZGVzaXJlZE51bWJlck9mQ2hhbm5lbHMobnVt
YmVyT2ZDaGFubmVscykKLSAgICAsIG1faXNJblBsYWNlKGZhbHNlKQotICAgICwgbV9pc0VuYWJs
ZWQodHJ1ZSkKLSAgICAsIG1fcmVuZGVyaW5nRmFuT3V0Q291bnQoMCkKLSAgICAsIG1fcmVuZGVy
aW5nUGFyYW1GYW5PdXRDb3VudCgwKQogewogICAgIEFTU0VSVChudW1iZXJPZkNoYW5uZWxzIDw9
IEF1ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGVPdXRwdXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlT3V0cHV0LmgKaW5kZXggNWNhZmY1Mjk2
YmVjYmJkNWM4MzU2MWY5Njc3N2M5N2ZmMDUzNmJlZi4uYjJiNzZlOTE5OTYyNWFmZDAzZTY1Yzc3
ZTJkNTY1ZGJhNzM2NzcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb05vZGVPdXRwdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvTm9kZU91dHB1dC5oCkBAIC0xMzgsMTYgKzEzOCwxNiBAQCBwcml2YXRlOgogICAg
IFJlZlB0cjxBdWRpb0J1cz4gbV9pbnRlcm5hbEJ1czsKICAgICBSZWZQdHI8QXVkaW9CdXM+IG1f
aW5QbGFjZUJ1czsKICAgICAvLyBJZiBtX2lzSW5QbGFjZSBpcyB0cnVlLCB1c2UgbV9pblBsYWNl
QnVzIGFzIHRoZSB2YWxpZCBBdWRpb0J1czsgSWYgZmFsc2UsIHVzZSB0aGUgZGVmYXVsdCBtX2lu
dGVybmFsQnVzLgotICAgIGJvb2wgbV9pc0luUGxhY2U7CisgICAgYm9vbCBtX2lzSW5QbGFjZSB7
IGZhbHNlIH07CiAKICAgICBIYXNoU2V0PEF1ZGlvTm9kZUlucHV0Kj4gbV9pbnB1dHM7CiAgICAg
dHlwZWRlZiBIYXNoU2V0PEF1ZGlvTm9kZUlucHV0Kj46Oml0ZXJhdG9yIElucHV0c0l0ZXJhdG9y
OwotICAgIGJvb2wgbV9pc0VuYWJsZWQ7CisgICAgYm9vbCBtX2lzRW5hYmxlZCB7IHRydWUgfTsK
IAogICAgIC8vIEZvciB0aGUgcHVycG9zZXMgb2YgcmVuZGVyaW5nLCBrZWVwcyB0cmFjayBvZiB0
aGUgbnVtYmVyIG9mIGlucHV0cyBhbmQgQXVkaW9QYXJhbXMgd2UncmUgY29ubmVjdGVkIHRvLgog
ICAgIC8vIFRoZXNlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgYXQgdGhlIHZlcnkgc3Rh
cnQgb3IgZW5kIG9mIHRoZSByZW5kZXJpbmcgcXVhbnR1bS4KLSAgICB1bnNpZ25lZCBtX3JlbmRl
cmluZ0Zhbk91dENvdW50OwotICAgIHVuc2lnbmVkIG1fcmVuZGVyaW5nUGFyYW1GYW5PdXRDb3Vu
dDsKKyAgICB1bnNpZ25lZCBtX3JlbmRlcmluZ0Zhbk91dENvdW50IHsgMCB9OworICAgIHVuc2ln
bmVkIG1fcmVuZGVyaW5nUGFyYW1GYW5PdXRDb3VudCB7IDAgfTsKIAogICAgIEhhc2hTZXQ8UmVm
UHRyPEF1ZGlvUGFyYW0+PiBtX3BhcmFtczsKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPEF1
ZGlvUGFyYW0+Pjo6aXRlcmF0b3IgUGFyYW1zSXRlcmF0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuaAppbmRleCBkZGVlNTYy
MzU1NTlkYjNhMmFkYmE5Y2Y3ODM1MDIxNDlhZmRhZjc2Li43MGY5ODM4YjNjZmZlOTNkNWU1NzMz
MzdiOWM4ZDI0MDkzZWQxN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmgKQEAgLTM5LDkgKzM5LDcgQEAgY2xhc3MgQXVk
aW9QYXJhbVRpbWVsaW5lIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb1BhcmFtVGlt
ZWxpbmUpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEF1ZGlv
UGFyYW1UaW1lbGluZSgpCi0gICAgewotICAgIH0KKyAgICBBdWRpb1BhcmFtVGltZWxpbmUoKSA9
IGRlZmF1bHQ7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRWYWx1ZUF0VGltZShmbG9hdCB2
YWx1ZSwgU2Vjb25kcyB0aW1lKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBsaW5lYXJSYW1wVG9W
YWx1ZUF0VGltZShmbG9hdCB0YXJnZXRWYWx1ZSwgU2Vjb25kcyBlbmRUaW1lLCBmbG9hdCBjdXJy
ZW50VmFsdWUsIFNlY29uZHMgY3VycmVudFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCmlu
ZGV4IGQxZDQzMzA1ZTNiZTEyYzYzY2ZjNjgzMDI2MDBjYTQzMzA0M2M5MTcuLjFjMWNmNjkzYmI4
YzNiMTAwNDQ5YTkzMmU1YWI0YWZmOGRiYzkyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAK
QEAgLTQ3LDEyICs0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSk7CiAKLWNvbnN0IGRvdWJsZSBB
dWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OlVua25vd25UaW1lID0gLTE7Ci0KIEF1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKEJhc2VBdWRpb0NvbnRleHQm
IGNvbnRleHQpCiAgICAgOiBBdWRpb05vZGUoY29udGV4dCkKICAgICAsIEFjdGl2ZURPTU9iamVj
dChjb250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAsIG1fZW5kVGltZShVbmtu
b3duVGltZSkKIHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKICAgICBtX3BlbmRpbmdBY3Rpdml0
eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwpAQCAtODAsMTUgKzc3LDE1IEBAIHZvaWQg
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjp1cGRhdGVTY2hlZHVsaW5nSW5mbyhzaXplX3QgcXVh
bnR1bUZyYW1lU2l6ZSwgQXVkCiAgICAgLy8gUm91bmQgdXAgaWYgdGhlIHN0YXJ0IHRpbWUgaXNu
J3Qgb24gYSBmcmFtZSBib3VuZGFyeSBzbyB3ZSBkb24ndCBzdGFydCB0b28gZWFybHkuCiAgICAg
c2l6ZV90IHN0YXJ0RnJhbWUgPSBBdWRpb1V0aWxpdGllczo6dGltZVRvU2FtcGxlRnJhbWUobV9z
dGFydFRpbWUsIHNhbXBsZVJhdGUsIEF1ZGlvVXRpbGl0aWVzOjpTYW1wbGVGcmFtZVJvdW5kaW5n
OjpVcCk7CiAgICAgc2l6ZV90IGVuZEZyYW1lID0gMDsKLSAgICBpZiAobV9lbmRUaW1lICE9IFVu
a25vd25UaW1lKSB7CisgICAgaWYgKG1fZW5kVGltZSkgewogICAgICAgICAvLyBUaGUgZW5kIGZy
YW1lIGlzIHRoZSBlbmQgdGltZSByb3VuZGVkIHVwIGJlY2F1c2UgaXQgaXMgYW4gZXhjbHVzaXZl
IHVwcGVyCiAgICAgICAgIC8vIGJvdW5kIG9mIHRoZSBlbmQgdGltZS4gV2UgYWxzbyBuZWVkIHRv
IHRha2UgY2FyZSB0byBoYW5kbGUgaHVnZSBlbmQKICAgICAgICAgLy8gdGltZXMgYW5kIGNsYW1w
IHRoZSBjb3JyZXNwb25kaW5nIGZyYW1lIHRvIHRoZSBsYXJnZXN0IHNpemVfdCB2YWx1ZS4KLSAg
ICAgICAgZW5kRnJhbWUgPSBBdWRpb1V0aWxpdGllczo6dGltZVRvU2FtcGxlRnJhbWUobV9lbmRU
aW1lLCBzYW1wbGVSYXRlLCBBdWRpb1V0aWxpdGllczo6U2FtcGxlRnJhbWVSb3VuZGluZzo6VXAp
OworICAgICAgICBlbmRGcmFtZSA9IEF1ZGlvVXRpbGl0aWVzOjp0aW1lVG9TYW1wbGVGcmFtZSgq
bV9lbmRUaW1lLCBzYW1wbGVSYXRlLCBBdWRpb1V0aWxpdGllczo6U2FtcGxlRnJhbWVSb3VuZGlu
Zzo6VXApOwogICAgIH0KIAogICAgIC8vIElmIHdlIGtub3cgdGhlIGVuZCB0aW1lIGFuZCBpdCdz
IGFscmVhZHkgcGFzc2VkLCB0aGVuIGRvbid0IGJvdGhlciBkb2luZyBhbnkgbW9yZSByZW5kZXJp
bmcgdGhpcyBjeWNsZS4KLSAgICBpZiAobV9lbmRUaW1lICE9IFVua25vd25UaW1lICYmIGVuZEZy
YW1lIDw9IHF1YW50dW1TdGFydEZyYW1lKQorICAgIGlmIChtX2VuZFRpbWUgJiYgZW5kRnJhbWUg
PD0gcXVhbnR1bVN0YXJ0RnJhbWUpCiAgICAgICAgIGZpbmlzaCgpOwogCiAgICAgaWYgKG1fcGxh
eWJhY2tTdGF0ZSA9PSBVTlNDSEVEVUxFRF9TVEFURSB8fCBtX3BsYXliYWNrU3RhdGUgPT0gRklO
SVNIRURfU1RBVEUgfHwgc3RhcnRGcmFtZSA+PSBxdWFudHVtRW5kRnJhbWUpIHsKQEAgLTEyNyw3
ICsxMjQsNyBAQCB2b2lkIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6dXBkYXRlU2NoZWR1bGlu
Z0luZm8oc2l6ZV90IHF1YW50dW1GcmFtZVNpemUsIEF1ZAogICAgIC8vIEhhbmRsZSBzaWxlbmNl
IGFmdGVyIHdlJ3JlIGRvbmUgcGxheWluZy4KICAgICAvLyBJZiB0aGUgZW5kIHRpbWUgaXMgc29t
ZXdoZXJlIGluIHRoZSBtaWRkbGUgb2YgdGhpcyB0aW1lIHF1YW50dW0sIHRoZW4gemVybyBvdXQg
dGhlCiAgICAgLy8gZnJhbWVzIGZyb20gdGhlIGVuZCB0aW1lIHRvIHRoZSB2ZXJ5IGVuZCBvZiB0
aGUgcXVhbnR1bS4KLSAgICBpZiAobV9lbmRUaW1lICE9IFVua25vd25UaW1lICYmIGVuZEZyYW1l
ID49IHF1YW50dW1TdGFydEZyYW1lICYmIGVuZEZyYW1lIDwgcXVhbnR1bUVuZEZyYW1lKSB7Cisg
ICAgaWYgKG1fZW5kVGltZSAmJiBlbmRGcmFtZSA+PSBxdWFudHVtU3RhcnRGcmFtZSAmJiBlbmRG
cmFtZSA8IHF1YW50dW1FbmRGcmFtZSkgewogICAgICAgICBzaXplX3QgemVyb1N0YXJ0RnJhbWUg
PSBlbmRGcmFtZSAtIHF1YW50dW1TdGFydEZyYW1lOwogICAgICAgICBzaXplX3QgZnJhbWVzVG9a
ZXJvID0gcXVhbnR1bUZyYW1lU2l6ZSAtIHplcm9TdGFydEZyYW1lOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5v
ZGUuaAppbmRleCAwMDNlOWY4MWZlNTA3MzRjMGUzNDMwMjRmYWM0MmY3YTg2ZGI4YjJmLi5lOTA2
MzI0M2NkY2MwMmQwMTlkNTIwNTExYmIxMjFlNjI0Mjc1NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2Rl
LmgKQEAgLTkwLDkgKzkwLDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIG1fZW5kVGltZSBpcyB0aGUg
dGltZSB0byBzdG9wIHBsYXlpbmcgYmFzZWQgb24gdGhlIGNvbnRleHQncyB0aW1lbGluZSAoMCBv
ciBhIHRpbWUgbGVzcyB0aGFuIHRoZSBjb250ZXh0J3MgY3VycmVudCB0aW1lIG1lYW5zICJub3ci
KS4KICAgICAvLyBJZiBpdCBoYXNuJ3QgYmVlbiBzZXQgZXhwbGljaXRseSwgdGhlbiB0aGUgc291
bmQgd2lsbCBub3Qgc3RvcCBwbGF5aW5nIChpZiBsb29waW5nKSBvciB3aWxsIHN0b3Agd2hlbiB0
aGUgZW5kIG9mIHRoZSBBdWRpb0J1ZmZlcgogICAgIC8vIGhhcyBiZWVuIHJlYWNoZWQuCi0gICAg
ZG91YmxlIG1fZW5kVGltZTsgLy8gaW4gc2Vjb25kcwotCi0gICAgc3RhdGljIGNvbnN0IGRvdWJs
ZSBVbmtub3duVGltZTsKKyAgICBPcHRpb25hbDxkb3VibGU+IG1fZW5kVGltZTsgLy8gaW4gc2Vj
b25kcwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcAppbmRleCA3
MzZjZTZiMTM0ZWQ5NzJmN2JkZjEyYWE5YjQyODQ5ZDIzNGE4N2M1Li4xMjhiNDdiNmIxM2IyMzY3
NTU4ZTg1ZWU3ZDVkNzkwMDVkYzE2YTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcApAQCAtMzYsNyArMzYs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEF1ZGlvU3VtbWluZ0p1bmN0aW9uOjpBdWRpb1N1
bW1pbmdKdW5jdGlvbihCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIDogbV9jb250ZXh0
KGNvbnRleHQpCi0gICAgLCBtX3JlbmRlcmluZ1N0YXRlTmVlZFVwZGF0aW5nKGZhbHNlKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3Vt
bWluZ0p1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3Vt
bWluZ0p1bmN0aW9uLmgKaW5kZXggNTY3MWY3MDc3OWFlZDMyMzBhMWYzMDIzYzM3N2EwZDI1YzAw
ZTgyMC4uNTIzMjEyNzU5MTk5MTQ5YmY1MGQwM2EyMzMyODgwODgxYmE5MTg4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rp
b24uaApAQCAtNzcsNyArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgVmVjdG9yPEF1ZGlvTm9kZU91
dHB1dCo+IG1fcmVuZGVyaW5nT3V0cHV0czsKIAogICAgIC8vIG1fcmVuZGVyaW5nU3RhdGVOZWVk
VXBkYXRpbmcga2VlcHMgdHJhY2sgaWYgbV9vdXRwdXRzIGlzIG1vZGlmaWVkLgotICAgIGJvb2wg
bV9yZW5kZXJpbmdTdGF0ZU5lZWRVcGRhdGluZzsKKyAgICBib29sIG1fcmVuZGVyaW5nU3RhdGVO
ZWVkVXBkYXRpbmcgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3Bw
CmluZGV4IGNiNjcxY2FhYjYzZGViMTg4ZDg4MWU0N2I2NTc1NTVhZDU5NWRiZDkuLmMwNzc2OGUx
NjMwYzdjYjAyNmI3YzBiMTg0ZDI5NjdhM2QyZTlmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHAKQEAgLTM3LDEyICszNyw2
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gRklYTUU6IEFzIGEgcmVjdXJzaXZlIGxp
bmVhciBmaWx0ZXIsIGRlcGVuZGluZyBvbiBpdHMgcGFyYW1ldGVycywgYSBiaXF1YWQgZmlsdGVy
IGNhbiBoYXZlCi0vLyBhbiBpbmZpbml0ZSB0YWlsVGltZS4gSW4gcHJhY3RpY2UsIEJpcXVhZCBm
aWx0ZXJzIGRvIG5vdCB1c3VhbGx5IChleGNlcHQgZm9yIHZlcnkgaGlnaCByZXNvbmFuY2UgdmFs
dWVzKSAKLS8vIGhhdmUgYSB0YWlsVGltZSBvZiBsb25nZXIgdGhhbiBhcHByb3guIDIwMG1zLiBU
aGlzIHZhbHVlIGNvdWxkIHBvc3NpYmx5IGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlCi0vLyBz
ZXR0aW5ncyBvZiB0aGUgQmlxdWFkLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNYXhCaXF1YWREZWxh
eVRpbWUgPSAwLjI7Ci0KIHN0YXRpYyBib29sIGhhc0NvbnN0YW50VmFsdWVzKGZsb2F0KiB2YWx1
ZXMsIGludCBmcmFtZXNUb1Byb2Nlc3MpCiB7CiAgICAgLy8gRklYTUU6IFVzZSBTSU1EIHRvIG9w
dGltaXplIHRoaXMuIFRoaXMgd291bGQgc3BlZWQgdXAgcHJvY2Vzc2luZyBieSBhIGZhY3RvciBv
ZiA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFBy
b2Nlc3Nvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nl
c3Nvci5jcHAKaW5kZXggZjMyMjVlMTcyYmQzNjAwZTY5MWI4NTI2ZWU3M2NhMmE1NDU5Njg0ZC4u
ZmZjNjRmYmY1M2Q1ZWYzZjU4NjFjZDk3ZWM2MzcxMGE1YTAxZTQ0MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJvY2Vzc29yLmNwcApAQCAtMzQs
MTMgKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIEJpcXVhZFByb2Nlc3Nvcjo6
QmlxdWFkUHJvY2Vzc29yKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJh
dGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBib29sIGF1dG9Jbml0aWFsaXplKQogICAgIDog
QXVkaW9EU1BLZXJuZWxQcm9jZXNzb3Ioc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFubmVscykKLSAg
ICAsIG1fdHlwZShCaXF1YWRGaWx0ZXJUeXBlOjpMb3dwYXNzKQogICAgICwgbV9wYXJhbWV0ZXIx
KEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZnJlcXVlbmN5IiwgMzUwLjAsIDAuMCwgMC41
ICogc2FtcGxlUmF0ZSwgQXV0b21hdGlvblJhdGU6OkFSYXRlKSkKICAgICAsIG1fcGFyYW1ldGVy
MihBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgIlEiLCAxLCAtRkxUX01BWCwgRkxUX01BWCwg
QXV0b21hdGlvblJhdGU6OkFSYXRlKSkKICAgICAsIG1fcGFyYW1ldGVyMyhBdWRpb1BhcmFtOjpj
cmVhdGUoY29udGV4dCwgImdhaW4iLCAwLjAsIC1GTFRfTUFYLCA0MCAqIHN0ZDo6bG9nMTAoc3Rk
OjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSwgQXV0b21hdGlvblJhdGU6OkFSYXRlKSkK
ICAgICAsIG1fcGFyYW1ldGVyNChBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImRldHVuZSIs
IDAuMCwgLTE1MzYwMCwgMTUzNjAwLCBBdXRvbWF0aW9uUmF0ZTo6QVJhdGUpKQotICAgICwgbV9m
aWx0ZXJDb2VmZmljaWVudHNEaXJ0eSh0cnVlKQotICAgICwgbV9oYXNTYW1wbGVBY2N1cmF0ZVZh
bHVlcyhmYWxzZSkKIHsKICAgICBpZiAoYXV0b0luaXRpYWxpemUpCiAgICAgICAgIGluaXRpYWxp
emUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFk
UHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nl
c3Nvci5oCmluZGV4IGMxMWU5YTNhZWYyNDQwZDE4NjMxZGJhOGJmYjYwMGRkMmQzMGZiNjEuLmEy
NThlMjc1YzkyMWYxOWJiOTc5NjZmMGRhNGRiMzAzYjE3ZDEzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJvY2Vzc29yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuaApAQCAtNjksNyArNjks
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGRVc2VBUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2hvdWxkVXNlQVJhdGU7IH0KIAogcHJpdmF0ZToKLSAgICBCaXF1YWRGaWx0ZXJUeXBlIG1fdHlw
ZTsKKyAgICBCaXF1YWRGaWx0ZXJUeXBlIG1fdHlwZSB7IEJpcXVhZEZpbHRlclR5cGU6Okxvd3Bh
c3MgfTsKIAogICAgIFJlZjxBdWRpb1BhcmFtPiBtX3BhcmFtZXRlcjE7CiAgICAgUmVmPEF1ZGlv
UGFyYW0+IG1fcGFyYW1ldGVyMjsKQEAgLTc3LDEwICs3NywxMCBAQCBwcml2YXRlOgogICAgIFJl
ZjxBdWRpb1BhcmFtPiBtX3BhcmFtZXRlcjQ7CiAKICAgICAvLyBzbyBEU1Aga2VybmVscyBrbm93
IHdoZW4gdG8gcmUtY29tcHV0ZSBjb2VmZmljaWVudHMKLSAgICBib29sIG1fZmlsdGVyQ29lZmZp
Y2llbnRzRGlydHk7CisgICAgYm9vbCBtX2ZpbHRlckNvZWZmaWNpZW50c0RpcnR5IHsgdHJ1ZSB9
OwogCiAgICAgLy8gU2V0IHRvIHRydWUgaWYgYW55IG9mIHRoZSBmaWx0ZXIgcGFyYW1ldGVycyBh
cmUgc2FtcGxlLWFjY3VyYXRlLgotICAgIGJvb2wgbV9oYXNTYW1wbGVBY2N1cmF0ZVZhbHVlczsK
KyAgICBib29sIG1faGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMgeyBmYWxzZSB9OwogCiAgICAgYm9v
bCBtX3Nob3VsZFVzZUFSYXRlIHsgdHJ1ZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCmluZGV4IDZkNDc2MjI1MzU3ZGZmYzZm
MjU3NGJiYmU2NWFhYjMwZmQyZjI5MjYuLjExNGM2YzIxMmY0NDdmYmI5YTkzMmY4MTAxYWVlNGY1
NWIzMmI0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29u
dm9sdmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252
b2x2ZXJOb2RlLmNwcApAQCAtNDIsNyArNDIsNyBAQAogLy8gaXQncyBpbXBvcnRhbnQgbm90IHRv
IG1ha2UgdGhpcyB0b28gaGlnaC4gIEluIHRoaXMgY2FzZSA4MTkyIGlzIGEgZ29vZCB2YWx1ZS4K
IC8vIEJ1dCwgdGhlIFJldmVyYiBvYmplY3QgaXMgbXVsdGktdGhyZWFkZWQsIHNvIHdlIHdhbnQg
dGhpcyBhcyBoaWdoIGFzIHBvc3NpYmxlIHdpdGhvdXQgbG9zaW5nIHRvbyBtdWNoIGFjY3VyYWN5
LgogLy8gVmVyeSBsYXJnZSBGRlRzIHdpbGwgaGF2ZSB3b3JzZSBwaGFzZSBlcnJvcnMuIEdpdmVu
IHRoZXNlIGNvbnN0cmFpbnRzIDMyNzY4IGlzIGEgZ29vZCBjb21wcm9taXNlLgotY29uc3Qgc2l6
ZV90IE1heEZGVFNpemUgPSAzMjc2ODsKK2NvbnN0ZXhwciBzaXplX3QgTWF4RkZUU2l6ZSA9IDMy
NzY4OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cAppbmRleCBiNDk3OTVkZmE1MjY1YzdmZTBiNjgyOWY2Zjg5ZDYxNjQ0NDkwYjI4Li43NTFkZTkx
OGNlMWRjMzZhMWM3OWU5NTAzYzkyOGY0Zjg5ZjA5NmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlv
bk5vZGUuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCi1jb25zdCB1bnNpZ25lZCBFbmFi
bGVkSW5wdXRDaGFubmVscyA9IDI7Citjb25zdGV4cHIgdW5zaWduZWQgRW5hYmxlZElucHV0Q2hh
bm5lbHMgPSAyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAppbmRleCAyY2E0NDMyNGQyZDBjODEzZmU4YjAx
MmVkZTVhZWU0NGNiMmIzZTRhLi4yOGZkMGM0ZDA3ZDUyOTRmYTcyMDgwYmVlZjU4MDcwOTcwNThj
ZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3Bw
CkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKERlbGF5Tm9kZSk7CiAKLWNvbnN0IGRvdWJsZSBtYXhpbXVtQWxsb3dlZERl
bGF5VGltZSA9IDE4MDsKK2NvbnN0ZXhwciBkb3VibGUgbWF4aW11bUFsbG93ZWREZWxheVRpbWUg
PSAxODA7CiAKIGlubGluZSBEZWxheU5vZGU6OkRlbGF5Tm9kZShCYXNlQXVkaW9Db250ZXh0JiBj
b250ZXh0LCBkb3VibGUgbWF4RGVsYXlUaW1lKQogICAgIDogQXVkaW9CYXNpY1Byb2Nlc3Nvck5v
ZGUoY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
RHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCmluZGV4IDU5ODNjNmRiMjJhZWYzMmIxYWNi
NjRkNzYzYWVkOTJmZDEyNmVhNWEuLjM3ZGY3YmMxZjc3NTQwYTkzMzI5M2NlZjEwN2Q3NTRkMmQ4
MTZjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1p
Y3NDb21wcmVzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIC8vIFNldCBvdXRwdXQgdG8gc3RlcmVvIGJ5IGRl
ZmF1bHQuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVsdE51bWJlck9mT3V0cHV0Q2hhbm5l
bHMgPSAyOworc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBkZWZhdWx0TnVtYmVyT2ZPdXRwdXRD
aGFubmVscyA9IDI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUuY3BwCmluZGV4IGMxYzhmZWU1MDNmZjk4YTAyN2E0MjA0NzQ5OGZmYWQwZmJmMGE4Njcu
LmEyNTNiNjA4OTlmM2M4YzBhZWZiMWNiMDhlYmRjZjUzYmYyODFiZmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZS5jcHAKQEAgLTM4LDggKzM4LDggQEAKICNpbmNsdWRlIDx3dGYvTG9ja2Vy
Lmg+CiAKIC8vIFRoZXNlIGFyZSBzb21ld2hhdCBhcmJpdHJhcnkgbGltaXRzLCBidXQgd2UgbmVl
ZCB0byBkbyBzb21lIGtpbmQgb2Ygc2FuaXR5LWNoZWNraW5nLgotY29uc3QgdW5zaWduZWQgbWlu
U2FtcGxlUmF0ZSA9IDgwMDA7Ci1jb25zdCB1bnNpZ25lZCBtYXhTYW1wbGVSYXRlID0gMTkyMDAw
OworY29uc3RleHByIHVuc2lnbmVkIG1pblNhbXBsZVJhdGUgPSA4MDAwOworY29uc3RleHByIHVu
c2lnbmVkIG1heFNhbXBsZVJhdGUgPSAxOTIwMDA7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmlu
ZGV4IGFiZDZiNTI5NDUyY2IwMzE3OWNhNGI2Nzc4NDJlYzUwYTdiZmFiYzkuLjY2Yzk0NzYyNmIw
ZjQxMTJkY2U3NTc3OTk2NzFhZDY3NGRhOTZmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKQEAgLTEzMyw3ICsxMzMsNiBAQCBSZWY8
UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKGZsb2F0IHNhbXBsZVJh
dGUpCiBQZXJpb2RpY1dhdmU6OlBlcmlvZGljV2F2ZShmbG9hdCBzYW1wbGVSYXRlKQogICAgIDog
bV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX251bWJlck9mUmFuZ2VzKDAuNSArIE51
bWJlck9mT2N0YXZlQmFuZHMgKiBsb2cyZihwZXJpb2RpY1dhdmVTaXplKCkpKQotICAgICwgbV9j
ZW50c1BlclJhbmdlKENlbnRzUGVyUmFuZ2UpCiB7CiAgICAgZmxvYXQgbnlxdWlzdCA9IDAuNSAq
IG1fc2FtcGxlUmF0ZTsKICAgICBtX2xvd2VzdEZ1bmRhbWVudGFsRnJlcXVlbmN5ID0gbnlxdWlz
dCAvIG1heE51bWJlck9mUGFydGlhbHMoKTsKQEAgLTE1MCw3ICsxNDksNyBAQCB2b2lkIFBlcmlv
ZGljV2F2ZTo6d2F2ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeShmbG9hdCBmdW5kYW1lbnRh
bEZyZXF1ZW5jeSwgZgogICAgIGZsb2F0IGNlbnRzQWJvdmVMb3dlc3RGcmVxdWVuY3kgPSBsb2cy
ZihyYXRpbykgKiAxMjAwOwogCiAgICAgLy8gQWRkIG9uZSB0byByb3VuZC11cCB0byB0aGUgbmV4
dCByYW5nZSBqdXN0IGluIHRpbWUgdG8gdHJ1bmNhdGUgcGFydGlhbHMgYmVmb3JlIGFsaWFzaW5n
IG9jY3Vycy4KLSAgICBmbG9hdCBwaXRjaFJhbmdlID0gMSArIGNlbnRzQWJvdmVMb3dlc3RGcmVx
dWVuY3kgLyBtX2NlbnRzUGVyUmFuZ2U7CisgICAgZmxvYXQgcGl0Y2hSYW5nZSA9IDEgKyBjZW50
c0Fib3ZlTG93ZXN0RnJlcXVlbmN5IC8gQ2VudHNQZXJSYW5nZTsKIAogICAgIHBpdGNoUmFuZ2Ug
PSBzdGQ6Om1heChwaXRjaFJhbmdlLCAwLjBmKTsKICAgICBwaXRjaFJhbmdlID0gc3RkOjptaW4o
cGl0Y2hSYW5nZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fbnVtYmVyT2ZSYW5nZXMgLSAxKSk7CkBA
IC0xNzYsNyArMTc1LDcgQEAgdW5zaWduZWQgUGVyaW9kaWNXYXZlOjptYXhOdW1iZXJPZlBhcnRp
YWxzKCkgY29uc3QKIHVuc2lnbmVkIFBlcmlvZGljV2F2ZTo6bnVtYmVyT2ZQYXJ0aWFsc0ZvclJh
bmdlKHVuc2lnbmVkIHJhbmdlSW5kZXgpIGNvbnN0CiB7CiAgICAgLy8gTnVtYmVyIG9mIGNlbnRz
IGJlbG93IG55cXVpc3Qgd2hlcmUgd2UgY3VsbCBwYXJ0aWFscy4KLSAgICBmbG9hdCBjZW50c1Rv
Q3VsbCA9IHJhbmdlSW5kZXggKiBtX2NlbnRzUGVyUmFuZ2U7CisgICAgZmxvYXQgY2VudHNUb0N1
bGwgPSByYW5nZUluZGV4ICogQ2VudHNQZXJSYW5nZTsKIAogICAgIC8vIEEgdmFsdWUgZnJvbSAw
IC0+IDEgcmVwcmVzZW50aW5nIHdoYXQgZnJhY3Rpb24gb2YgdGhlIHBhcnRpYWxzIHRvIGtlZXAu
CiAgICAgZmxvYXQgY3VsbGluZ1NjYWxlID0gcG93KDIsIC1jZW50c1RvQ3VsbCAvIDEyMDApOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmgKaW5kZXgg
NTUxMzA2OTdiNTRiZmViOThlOGMwMDgzZGNmODA0ZDQ4ZWQwYWQ2My4uZjBiNTQ0YzdjM2MyNzM1
MWEyYzkyMTgyN2EyOWI4ZTQ1NGQxZWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oCkBAIC04Myw3ICs4Myw2IEBAIHByaXZhdGU6CiAKICAg
ICBmbG9hdCBtX3NhbXBsZVJhdGU7CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZlJhbmdlczsKLSAg
ICBmbG9hdCBtX2NlbnRzUGVyUmFuZ2U7CiAKICAgICAvLyBUaGUgbG93ZXN0IGZyZXF1ZW5jeSAo
aW4gSGVydHopIHdoZXJlIHBsYXliYWNrIHdpbGwgaW5jbHVkZSBhbGwgb2YgdGhlIHBhcnRpYWxz
LgogICAgIC8vIFBsYXlpbmcgYmFjayBsb3dlciB0aGFuIHRoaXMgZnJlcXVlbmN5IHdpbGwgZ3Jh
ZHVhbGx5IGxvc2UgbW9yZSBoaWdoLWZyZXF1ZW5jeSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3BwCmluZGV4
IDI5OGQ1MWZmZWM5NTE0OWRkMDFhYmQxODhiMTNmZDU4Y2U0MjllZWMuLmM0ZGEzZmZmNTc1ZTI0
YTVhNWNhOTdmOGZjZWFiMGJmODJmMjQ2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcApAQCAtNDIsMjUgKzQyLDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgUmVhbHRpbWVBbmFseXNlcjo6
RGVmYXVsdFNtb290aGluZ1RpbWVDb25zdGFudCAgPSAwLjg7Ci1jb25zdCBkb3VibGUgUmVhbHRp
bWVBbmFseXNlcjo6RGVmYXVsdE1pbkRlY2liZWxzID0gLTEwMDsKLWNvbnN0IGRvdWJsZSBSZWFs
dGltZUFuYWx5c2VyOjpEZWZhdWx0TWF4RGVjaWJlbHMgPSAtMzA7Ci0KLWNvbnN0IHVuc2lnbmVk
IFJlYWx0aW1lQW5hbHlzZXI6OkRlZmF1bHRGRlRTaXplID0gMjA0ODsKLS8vIEFsbCBGRlQgaW1w
bGVtZW50YXRpb25zIGFyZSBleHBlY3RlZCB0byBoYW5kbGUgcG93ZXItb2YtdHdvIHNpemVzIE1p
bkZGVFNpemUgPD0gc2l6ZSA8PSBNYXhGRlRTaXplLgotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVB
bmFseXNlcjo6TWluRkZUU2l6ZSA9IDMyOwotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVBbmFseXNl
cjo6TWF4RkZUU2l6ZSA9IDMyNzY4OwotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVBbmFseXNlcjo6
SW5wdXRCdWZmZXJTaXplID0gUmVhbHRpbWVBbmFseXNlcjo6TWF4RkZUU2l6ZSAqIDI7Ci0KIFJl
YWx0aW1lQW5hbHlzZXI6OlJlYWx0aW1lQW5hbHlzZXIoKQogICAgIDogbV9pbnB1dEJ1ZmZlcihJ
bnB1dEJ1ZmZlclNpemUpCi0gICAgLCBtX3dyaXRlSW5kZXgoMCkKICAgICAsIG1fZG93bm1peEJ1
cyhBdWRpb0J1czo6Y3JlYXRlKDEsIEF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSkp
Ci0gICAgLCBtX2ZmdFNpemUoRGVmYXVsdEZGVFNpemUpCi0gICAgLCBtX21hZ25pdHVkZUJ1ZmZl
cihEZWZhdWx0RkZUU2l6ZSAvIDIpCi0gICAgLCBtX3Ntb290aGluZ1RpbWVDb25zdGFudChEZWZh
dWx0U21vb3RoaW5nVGltZUNvbnN0YW50KQotICAgICwgbV9taW5EZWNpYmVscyhEZWZhdWx0TWlu
RGVjaWJlbHMpCi0gICAgLCBtX21heERlY2liZWxzKERlZmF1bHRNYXhEZWNpYmVscykKIHsKICAg
ICBtX2FuYWx5c2lzRnJhbWUgPSBtYWtlVW5pcXVlPEZGVEZyYW1lPihEZWZhdWx0RkZUU2l6ZSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFs
eXNlci5oCmluZGV4IGIyNWJhOWNiZWIwZTU0Mzk5YmY4OGMxNzI1NDNmOWE4YzI1ZmQ4YjMuLjJl
MDE5MDllNTAxM2YyOWJkYTRlZDkwNWUzNDRlMDNjYzY3YWY0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC02NSwzNyAr
NjUsMzggQEAgcHVibGljOgogICAgIC8vIFRoZSBhdWRpbyB0aHJlYWQgd3JpdGVzIGlucHV0IGRh
dGEgaGVyZS4KICAgICB2b2lkIHdyaXRlSW5wdXQoQXVkaW9CdXMqLCBzaXplX3QgZnJhbWVzVG9Q
cm9jZXNzKTsKIAotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFNtb290aGluZ1RpbWVD
b25zdGFudDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRNaW5EZWNpYmVsczsKLSAg
ICBzdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRNYXhEZWNpYmVsczsKKyAgICBzdGF0aWMgY29u
c3RleHByIGRvdWJsZSBEZWZhdWx0U21vb3RoaW5nVGltZUNvbnN0YW50IHsgMC44IH07CisgICAg
c3RhdGljIGNvbnN0ZXhwciBkb3VibGUgRGVmYXVsdE1pbkRlY2liZWxzIHsgLTEwMCB9OworICAg
IHN0YXRpYyBjb25zdGV4cHIgZG91YmxlIERlZmF1bHRNYXhEZWNpYmVscyB7IC0zMCB9OwogCi0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIERlZmF1bHRGRlRTaXplOwotICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBNaW5GRlRTaXplOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNYXhGRlRT
aXplOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBJbnB1dEJ1ZmZlclNpemU7CisgICAgLy8g
QWxsIEZGVCBpbXBsZW1lbnRhdGlvbnMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZSBwb3dlci1vZi10
d28gc2l6ZXMgTWluRkZUU2l6ZSA8PSBzaXplIDw9IE1heEZGVFNpemUuCisgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBEZWZhdWx0RkZUU2l6ZSB7IDIwNDggfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIE1pbkZGVFNpemUgeyAzMiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIg
dW5zaWduZWQgTWF4RkZUU2l6ZSB7IDMyNzY4IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBJbnB1dEJ1ZmZlclNpemUgeyBNYXhGRlRTaXplICogMiB9OwogCiBwcml2YXRlOgogICAg
IC8vIFRoZSBhdWRpbyB0aHJlYWQgd3JpdGVzIHRoZSBpbnB1dCBhdWRpbyBoZXJlLgogICAgIEF1
ZGlvRmxvYXRBcnJheSBtX2lucHV0QnVmZmVyOwotICAgIHVuc2lnbmVkIG1fd3JpdGVJbmRleDsK
KyAgICB1bnNpZ25lZCBtX3dyaXRlSW5kZXggeyAwIH07CiAKICAgICAvLyBBdWRpb0J1cyB1c2Vk
IGZvciBkb3dubWl4aW5nIGlucHV0IGF1ZGlvIGJlZm9yZSBjb3B5aW5nIGl0IHRvIG1faW5wdXRC
dWZmZXIuCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBtX2Rvd25taXhCdXM7CiAgICAgCi0gICAgc2l6
ZV90IG1fZmZ0U2l6ZTsKKyAgICBzaXplX3QgbV9mZnRTaXplIHsgRGVmYXVsdEZGVFNpemUgfTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RkZURnJhbWU+IG1fYW5hbHlzaXNGcmFtZTsKICAgICB2b2lk
IGRvRkZUQW5hbHlzaXNJZk5lY2Vzc2FyeSgpOwogICAgIAogICAgIC8vIGRvRkZUQW5hbHlzaXNJ
Zk5lY2Vzc2FyeSgpIHN0b3JlcyB0aGUgZmxvYXRpbmctcG9pbnQgbWFnbml0dWRlIGFuYWx5c2lz
IGRhdGEgaGVyZS4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbV9tYWduaXR1ZGVCdWZmZXI7CisgICAg
QXVkaW9GbG9hdEFycmF5IG1fbWFnbml0dWRlQnVmZmVyIHsgRGVmYXVsdEZGVFNpemUgLyAyIH07
CiAgICAgQXVkaW9GbG9hdEFycmF5JiBtYWduaXR1ZGVCdWZmZXIoKSB7IHJldHVybiBtX21hZ25p
dHVkZUJ1ZmZlcjsgfQogCiAgICAgLy8gQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEgd2hpY2ggYXZl
cmFnZXMgdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgbV9tYWduaXR1ZGVCdWZmZXIgd2l0aCB0aGUg
Y3VycmVudCBhbmFseXNpcyBtYWduaXR1ZGUgZGF0YS4KLSAgICBkb3VibGUgbV9zbW9vdGhpbmdU
aW1lQ29uc3RhbnQ7ICAgIAorICAgIGRvdWJsZSBtX3Ntb290aGluZ1RpbWVDb25zdGFudCB7IERl
ZmF1bHRTbW9vdGhpbmdUaW1lQ29uc3RhbnQgfTsKIAogICAgIC8vIFRoZSByYW5nZSB1c2VkIHdo
ZW4gY29udmVydGluZyB3aGVuIHVzaW5nIGdldEJ5dGVGcmVxdWVuY3lEYXRhKCkuIAotICAgIGRv
dWJsZSBtX21pbkRlY2liZWxzOwotICAgIGRvdWJsZSBtX21heERlY2liZWxzOworICAgIGRvdWJs
ZSBtX21pbkRlY2liZWxzIHsgRGVmYXVsdE1pbkRlY2liZWxzIH07CisgICAgZG91YmxlIG1fbWF4
RGVjaWJlbHMgeyBEZWZhdWx0TWF4RGVjaWJlbHMgfTsKIAogICAgIC8vIFdlIHNob3VsZCBvbmx5
IGRvIHRoZSBGRlQgYW5hbHlzaXMgb25jZSBwZXIgcmVuZGVyIHF1YW50dW0uCiAgICAgYm9vbCBt
X3Nob3VsZERvRkZUQW5hbHlzaXMgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAppbmRleCA3ZmJkNjQz
YmViMTgxMjk5NjRiMjQ5N2RjMDU1OGQ2Njg1M2U4MjgzLi45YWM3YWQzZmI3ZmU1MWEzZjcwMTdi
NGRhZWRjZTM0MWRhNTAxMGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgUmVm
PFNjcmlwdFByb2Nlc3Nvck5vZGU+IFNjcmlwdFByb2Nlc3Nvck5vZGU6OmNyZWF0ZShCYXNlQXVk
aW9Db250ZXh0JiBjb250ZXh0LAogU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29y
Tm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBzaXplX3QgYnVmZmVyU2l6ZSwgdW5zaWdu
ZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dENoYW5uZWxz
KQogICAgIDogQXVkaW9Ob2RlKGNvbnRleHQpCiAgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4
dC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgLCBtX2RvdWJsZUJ1ZmZlckluZGV4KDAp
CiAgICAgLCBtX2J1ZmZlclNpemUoYnVmZmVyU2l6ZSkKLSAgICAsIG1fYnVmZmVyUmVhZFdyaXRl
SW5kZXgoMCkKICAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzKG51bWJlck9mSW5wdXRDaGFu
bmVscykKICAgICAsIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyhudW1iZXJPZk91dHB1dENoYW5u
ZWxzKQogICAgICwgbV9pbnRlcm5hbElucHV0QnVzKEF1ZGlvQnVzOjpjcmVhdGUobnVtYmVyT2ZJ
bnB1dENoYW5uZWxzLCBBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUsIGZhbHNlKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vz
c29yTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNz
b3JOb2RlLmgKaW5kZXggMzdlZjlhOTBlNzliODZmOGU3NTc3MTZhNjVkMWU2NWM0NGMwM2U4ZC4u
ZjcxMjcwZGRiNmRlYWIwZjIyYWRiM2IzNTIyZDEyMmZmOWJjYmE3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAg
LTgxLDEyICs4MSwxMiBAQCBwcml2YXRlOgogICAgIC8vIERvdWJsZSBidWZmZXJpbmcKICAgICB1
bnNpZ25lZCBkb3VibGVCdWZmZXJJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fZG91YmxlQnVmZmVy
SW5kZXg7IH0KICAgICB2b2lkIHN3YXBCdWZmZXJzKCkgeyBtX2RvdWJsZUJ1ZmZlckluZGV4ID0g
MSAtIG1fZG91YmxlQnVmZmVySW5kZXg7IH0KLSAgICB1bnNpZ25lZCBtX2RvdWJsZUJ1ZmZlcklu
ZGV4OworICAgIHVuc2lnbmVkIG1fZG91YmxlQnVmZmVySW5kZXggeyAwIH07CiAgICAgVmVjdG9y
PFJlZlB0cjxBdWRpb0J1ZmZlcj4+IG1faW5wdXRCdWZmZXJzOwogICAgIFZlY3RvcjxSZWZQdHI8
QXVkaW9CdWZmZXI+PiBtX291dHB1dEJ1ZmZlcnM7CiAKICAgICBzaXplX3QgbV9idWZmZXJTaXpl
OwotICAgIHVuc2lnbmVkIG1fYnVmZmVyUmVhZFdyaXRlSW5kZXg7CisgICAgdW5zaWduZWQgbV9i
dWZmZXJSZWFkV3JpdGVJbmRleCB7IDAgfTsKIAogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZJbnB1
dENoYW5uZWxzOwogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNz
b3IuY3BwCmluZGV4IDc3NTY0OTlkZTQ0NTU2MGI4Y2E3YTM3NDkwMWE5MGZmMWM3MDM4MDIuLjY0
MGU4NjdmYWRmZjYyZGNmMDI3NzczOGFhYWEwN2Q2MDZkYjI3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmNwcApA
QCAtMzQsNyArMzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBXYXZlU2hhcGVyUHJv
Y2Vzc29yOjpXYXZlU2hhcGVyUHJvY2Vzc29yKGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBudW1i
ZXJPZkNoYW5uZWxzKQogICAgIDogQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3Ioc2FtcGxlUmF0ZSwg
bnVtYmVyT2ZDaGFubmVscykKLSAgICAsIG1fb3ZlcnNhbXBsZShPdmVyU2FtcGxlTm9uZSkKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hh
cGVyUHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFw
ZXJQcm9jZXNzb3IuaAppbmRleCA0MmQwY2IzOThlNTRkMDgyZmYxMGRhNjliYmFhZjI4MGRkNTk5
MDdiLi4zMDEzNjkzZWNiMTFhYzZkZTI4ZjJlZTYwZTE2NDJjMDJmZWU5MmI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3Iu
aApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIC8vIG1fY3VydmUgcmVwcmVzZW50cyB0
aGUgbm9uLWxpbmVhciBzaGFwaW5nIGN1cnZlLgogICAgIFJlZlB0cjxGbG9hdDMyQXJyYXk+IG1f
Y3VydmU7CiAKLSAgICBPdmVyU2FtcGxlVHlwZSBtX292ZXJzYW1wbGU7CisgICAgT3ZlclNhbXBs
ZVR5cGUgbV9vdmVyc2FtcGxlIHsgT3ZlclNhbXBsZU5vbmUgfTsKIAogICAgIC8vIFRoaXMgc3lu
Y2hyb25pemVzIHByb2Nlc3MoKSB3aXRoIHNldEN1cnZlKCkuCiAgICAgbXV0YWJsZSBMb2NrIG1f
cHJvY2Vzc011dGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb0NvbnRleHQuY3BwCmluZGV4IGIwYzg0MGE5NTMxYWZmM2NkMDkxMjA3Njg0
MjBkZDBkNzNiYzNjMDMuLmY3MjZhNzgyYzI1MmE4OGFiZTI4MjE4OGJjZWFkYTFkNDZmYzU1Zjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9D
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1
ZGlvQ29udGV4dC5jcHAKQEAgLTUxLDcgKzUxLDcgQEAKICNpbmNsdWRlICJNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU9wdGlvbnMuaCIKICNlbmRpZgogCi1jb25zdCB1bnNpZ25lZCBNYXhQZXJpb2Rp
Y1dhdmVMZW5ndGggPSA0MDk2OworY29uc3RleHByIHVuc2lnbmVkIE1heFBlcmlvZGljV2F2ZUxl
bmd0aCA9IDQwOTY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwCmlu
ZGV4IDg0NzlhZGU5ZGMxNDhlMjdlODNlMDFjNzg1ZGRhMzNhNDg4ODVlYWYuLjJmNmI4ODZkOWVm
YzExY2M1OTE5M2JlNzcyYjkwY2FkNTViNDYyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5jcHAKQEAgLTUw
LDggKzUwLDYgQEAgc3RhdGljIHZvaWQgZml4TkFOcyhkb3VibGUgJngpCiAKIFdlYktpdEF1ZGlv
UGFubmVyTm9kZTo6V2ViS2l0QXVkaW9QYW5uZXJOb2RlKFdlYktpdEF1ZGlvQ29udGV4dCYgY29u
dGV4dCkKICAgICA6IFBhbm5lck5vZGVCYXNlKGNvbnRleHQpCi0gICAgLCBtX3Bhbm5pbmdNb2Rl
bChQYW5uaW5nTW9kZWxUeXBlOjpIUlRGKQotICAgICwgbV9jb25uZWN0aW9uQ291bnQoMCkKIHsK
ICAgICBzZXROb2RlVHlwZShOb2RlVHlwZVBhbm5lcik7CiAgICAgaW5pdGlhbGl6ZURlZmF1bHRO
b2RlT3B0aW9ucygyLCBDaGFubmVsQ291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJw
cmV0YXRpb246OlNwZWFrZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5oCmluZGV4IDRiZTFjYTYzOWJmMmE2Zjk0
YWQ4MDAyNmExZjkwZGVmM2U3YmU5NjcuLmFiNjA2NzU0YTlhZDk2YmEwNWNjZmMwODU0ODc3ZDY1
YmQwYTdlNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2Vi
S2l0QXVkaW9QYW5uZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuaApAQCAtMTI5LDcgKzEyOSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBub3RpZnlBdWRpb1NvdXJjZXNDb25uZWN0ZWRUb05vZGUoQXVkaW9Ob2RlKiwgSGFz
aFNldDxBdWRpb05vZGUqPiYgdmlzaXRlZE5vZGVzKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
YW5uZXI+IG1fcGFubmVyOwotICAgIFBhbm5pbmdNb2RlbFR5cGUgbV9wYW5uaW5nTW9kZWw7Cisg
ICAgUGFubmluZ01vZGVsVHlwZSBtX3Bhbm5pbmdNb2RlbCB7IFBhbm5pbmdNb2RlbFR5cGU6OkhS
VEYgfTsKIAogICAgIEZsb2F0UG9pbnQzRCBtX3Bvc2l0aW9uOwogICAgIEZsb2F0UG9pbnQzRCBt
X29yaWVudGF0aW9uOwpAQCAtMTQyLDcgKzE0Miw3IEBAIHByaXZhdGU6CiAgICAgLy8gSFJURiBE
YXRhYmFzZSBsb2FkZXIKICAgICBSZWZQdHI8SFJURkRhdGFiYXNlTG9hZGVyPiBtX2hydGZEYXRh
YmFzZUxvYWRlcjsKIAotICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbkNvdW50OworICAgIHVuc2ln
bmVkIG1fY29ubmVjdGlvbkNvdW50IHsgMCB9OwogCiAgICAgLy8gU3luY2hyb25pemUgcHJvY2Vz
cygpIGFuZCBzZXRQYW5uaW5nTW9kZWwoKSB3aGljaCBjYW4gY2hhbmdlIHRoZSBwYW5uZXIuCiAg
ICAgbXV0YWJsZSBMb2NrIG1fcGFubmVyTXV0ZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMTAzZWFjMzg1YWFmMGY3OWVmNWYzNWZmNWMxMWViYzk3
YjY2ZmYxZi4uNzM2ZGEzYWZjZjJjNWUxYmNkNmEzNGU3YTg4ZWQ3ZDE0YWM3YTQ5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcApAQCAtNDQsNyArNDQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogCi1j
b25zdCB1bnNpZ25lZCBNYXhCdXNDaGFubmVscyA9IDMyOworY29uc3RleHByIHVuc2lnbmVkIE1h
eEJ1c0NoYW5uZWxzID0gMzI7CiAKIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9CdXM6OmNyZWF0ZSh1
bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbGVuZ3RoLCBib29sIGFsbG9jYXRlKQog
ewpAQCAtNTcsOSArNTcsNiBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvQnVzOjpjcmVhdGUodW5z
aWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0aCwgYm9vbAogCiBBdWRpb0J1czo6
QXVkaW9CdXModW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0aCwgYm9vbCBh
bGxvY2F0ZSkKICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAsIG1fYnVzR2FpbigxKQotICAg
ICwgbV9pc0ZpcnN0VGltZSh0cnVlKQotICAgICwgbV9zYW1wbGVSYXRlKDApCiB7CiAgICAgbV9j
aGFubmVscy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bWJlck9mQ2hhbm5lbHMpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA3MThmNjQ2MDJhYmUzZWMw
ZDI2MmFhYmE3Mzc1NzIzNWY4YjA1N2ZkLi5hNWUyYmRjOWY2MjRmZWNjMWVlYjM4YzJmMzU3Yjhm
NjE5NGQ4ZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAg
LTE2MCwxMCArMTYwLDEwIEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbGVuZ3RoOwogICAgIFZl
Y3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9DaGFubmVsPj4gbV9jaGFubmVsczsKICAgICBpbnQg
bV9sYXlvdXQ7Ci0gICAgZmxvYXQgbV9idXNHYWluOworICAgIGZsb2F0IG1fYnVzR2FpbiB7IDEg
fTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GbG9hdEFycmF5PiBtX2RlemlwcGVyR2FpblZh
bHVlczsKLSAgICBib29sIG1faXNGaXJzdFRpbWU7Ci0gICAgZmxvYXQgbV9zYW1wbGVSYXRlOyAv
LyAwLjAgaWYgdW5rbm93biBvciBOL0EKKyAgICBib29sIG1faXNGaXJzdFRpbWUgeyAwIH07Cisg
ICAgZmxvYXQgbV9zYW1wbGVSYXRlIHsgMCB9OyAvLyAwLjAgaWYgdW5rbm93biBvciBOL0EKIH07
CiAKIH0gLy8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9DaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaAppbmRleCA3Yjk4OTNkMzhhYzQxNzQ1MzE3NDFiNzcyNGM2ZmYyYWJkMDFkZjkwLi5h
ODlhZmIwMTU1MzM0ZjFkNTI1YjJmODRmNGVkOWQ2OWM4MmVmNjlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNTQsMTkgKzU0LDEyIEBAIHB1
YmxpYzoKICAgICAvLyBNYW5hZ2Ugc3RvcmFnZSBmb3IgdXMuCiAgICAgZXhwbGljaXQgQXVkaW9D
aGFubmVsKHNpemVfdCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQotICAgICAg
ICAsIG1fcmF3UG9pbnRlcigwKQotICAgICAgICAsIG1fc2lsZW50KHRydWUpCiAgICAgewogICAg
ICAgICBtX21lbUJ1ZmZlciA9IG1ha2VVbmlxdWU8QXVkaW9GbG9hdEFycmF5PihsZW5ndGgpOwog
ICAgIH0KIAogICAgIC8vIEEgImJsYW5rIiBhdWRpbyBjaGFubmVsIC0tIG11c3QgY2FsbCBzZXQo
KSBiZWZvcmUgaXQncyB1c2VmdWwuLi4KLSAgICBBdWRpb0NoYW5uZWwoKQotICAgICAgICA6IG1f
bGVuZ3RoKDApCi0gICAgICAgICwgbV9yYXdQb2ludGVyKDApCi0gICAgICAgICwgbV9zaWxlbnQo
dHJ1ZSkKLSAgICB7Ci0gICAgfQorICAgIEF1ZGlvQ2hhbm5lbCgpID0gZGVmYXVsdDsKIAogICAg
IC8vIFJlZGVmaW5lIHRoZSBtZW1vcnkgZm9yIHRoaXMgY2hhbm5lbC4KICAgICAvLyBzdG9yYWdl
IHJlcHJlc2VudHMgZXh0ZXJuYWwgbWVtb3J5IG5vdCBtYW5hZ2VkIGJ5IHRoaXMgb2JqZWN0LgpA
QCAtMTI5LDExICsxMjIsMTEgQEAgcHVibGljOgogICAgIGZsb2F0IG1heEFic1ZhbHVlKCkgY29u
c3Q7CiAKIHByaXZhdGU6Ci0gICAgc2l6ZV90IG1fbGVuZ3RoOworICAgIHNpemVfdCBtX2xlbmd0
aCB7IDAgfTsKIAotICAgIGZsb2F0KiBtX3Jhd1BvaW50ZXI7CisgICAgZmxvYXQqIG1fcmF3UG9p
bnRlciB7IG51bGxwdHIgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GbG9hdEFycmF5PiBt
X21lbUJ1ZmZlcjsKLSAgICBib29sIG1fc2lsZW50OworICAgIGJvb2wgbV9zaWxlbnQgeyB0cnVl
IH07CiB9OwogCiB9IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcAppbmRleCAxZDVkNTgxOGU4
NTNjZDkxYzJjMDU0ZDMyZWJiNGJkZDc5M2ZjZTI1Li45NmZjMjU1Njk1OWVlNzA4N2ZjOWE1Mzg4
ODYzNThjNTMzMjEyYzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwCkBAIC00MSw3ICs0MSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIHNldE51bWJlck9mQ2hhbm5lbHMoKSBtYXkgbGF0ZXIgYmUg
Y2FsbGVkIGlmIHRoZSBvYmplY3QgaXMgbm90IHlldCBpbiBhbiAiaW5pdGlhbGl6ZWQiIHN0YXRl
LgogQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3I6OkF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yKGZsb2F0
IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMpCiAgICAgOiBBdWRpb1Byb2Nl
c3NvcihzYW1wbGVSYXRlLCBudW1iZXJPZkNoYW5uZWxzKQotICAgICwgbV9oYXNKdXN0UmVzZXQo
dHJ1ZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmgKaW5kZXggZTQ5YzVhMzZlOGUyOWM1MTc2MzNlOTdm
ZGNiMTE5YWRhMTJhMzJiNy4uNDk4NTkxNzhkYWVkZGRlOTA3NDJkZDc0NzU3Yzc2MGU3OWY5OTEz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJu
ZWxQcm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0RT
UEtlcm5lbFByb2Nlc3Nvci5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVk
OgogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9EU1BLZXJuZWw+PiBtX2tlcm5lbHM7
Ci0gICAgYm9vbCBtX2hhc0p1c3RSZXNldDsKKyAgICBib29sIG1faGFzSnVzdFJlc2V0IHsgdHJ1
ZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5jcHAKaW5kZXggNDNh
ZWQ2ODg3OTI5ZTUzYzEzNzZkNjdiMTY0NGFiZTFhMmJjZDJhNC4uOWQ5ZWIxNzk1OWY4ZTBlZmY0
OWQ2YWRhOTYzNzU3YTBmMzQ5MWU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0hhcmR3YXJlTGlzdGVuZXIuY3BwCkBAIC0zNyw4ICszNyw2IEBA
IFJlZjxBdWRpb0hhcmR3YXJlTGlzdGVuZXI+IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Y3JlYXRl
KENsaWVudCYgY2xpZW50KQogCiBBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OkF1ZGlvSGFyZHdhcmVM
aXN0ZW5lcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1f
YWN0aXZpdHkoQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6VW5rbm93bikKLSAgICAsIG1fb3V0
cHV0RGV2aWNlU3VwcG9ydHNMb3dQb3dlck1vZGUoZmFsc2UpCiB7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBtX291dHB1dERldmljZVN1cHBvcnRzTG93UG93ZXJNb2RlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVM
aXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxp
c3RlbmVyLmgKaW5kZXggOTAzMDM5YzljYjUzZjRjNWQ0OTkwZmQ4ZjI5OTNlN2E1NDY1YWI4ZC4u
MDMxZmExYzFjNzQzNDc1YzI0M2E1NzkxZGNiMDA5ODkxMzg5OTBjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmgKQEAg
LTYwLDggKzYwLDggQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0T3V0cHV0RGV2aWNlU3VwcG9y
dHNMb3dQb3dlck1vZGUoYm9vbCBzdXBwb3J0KSB7IG1fb3V0cHV0RGV2aWNlU3VwcG9ydHNMb3dQ
b3dlck1vZGUgPSBzdXBwb3J0OyB9CiAKICAgICBDbGllbnQmIG1fY2xpZW50OwotICAgIEF1ZGlv
SGFyZHdhcmVBY3Rpdml0eVR5cGUgbV9hY3Rpdml0eTsKLSAgICBib29sIG1fb3V0cHV0RGV2aWNl
U3VwcG9ydHNMb3dQb3dlck1vZGU7CisgICAgQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZSBtX2Fj
dGl2aXR5IHsgQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6VW5rbm93biB9OworICAgIGJvb2wg
bV9vdXRwdXREZXZpY2VTdXBwb3J0c0xvd1Bvd2VyTW9kZSB7IGZhbHNlIH07CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5jcHAKaW5k
ZXggMjg0YzA1NDk0MzI1OTM0NGVhY2UzMjQxOGFkYTliODMwM2RhMmU0NC4uZGU1MDhjYzZlZjRh
NWIwMWJkNGViMjI0NzQ1YjdlZjI4Mjg0MGY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVyLmNwcApAQCAtMzQsMTcgKzM0LDEzIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIEF1ZGlvUmVzYW1wbGVyOjpNYXhSYXRl
ID0gOC4wOwotCiBBdWRpb1Jlc2FtcGxlcjo6QXVkaW9SZXNhbXBsZXIoKQotICAgIDogbV9yYXRl
KDEuMCkKIHsKICAgICBtX2tlcm5lbHMuYXBwZW5kKG1ha2VVbmlxdWU8QXVkaW9SZXNhbXBsZXJL
ZXJuZWw+KHRoaXMpKTsKICAgICBtX3NvdXJjZUJ1cyA9IEF1ZGlvQnVzOjpjcmVhdGUoMSwgMCwg
ZmFsc2UpOwogfQogCiBBdWRpb1Jlc2FtcGxlcjo6QXVkaW9SZXNhbXBsZXIodW5zaWduZWQgbnVt
YmVyT2ZDaGFubmVscykKLSAgICA6IG1fcmF0ZSgxLjApCiB7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG51bWJlck9mQ2hhbm5lbHM7ICsraSkKICAgICAgICAgbV9rZXJuZWxzLmFwcGVu
ZChtYWtlVW5pcXVlPEF1ZGlvUmVzYW1wbGVyS2VybmVsPih0aGlzKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaAppbmRleCAyMDE2YmFmZjdjODhk
ZjE4YWY1ZDM1MmMzMDFmNWZmNDM3Njg5ZjdhLi4xMGRkN2EwMjg4MjI3ZmM2MzExYjU5NGY2ZDE4
YThlZmExNDdmNDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Jlc2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
UmVzYW1wbGVyLmgKQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYXRl
KGRvdWJsZSByYXRlKTsKICAgICBkb3VibGUgcmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmF0ZTsg
fQogCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNYXhSYXRlOworICAgIHN0YXRpYyBjb25zdGV4
cHIgZG91YmxlIE1heFJhdGUgeyA4IH07CiAKIHByaXZhdGU6Ci0gICAgZG91YmxlIG1fcmF0ZTsK
KyAgICBkb3VibGUgbV9yYXRlIHsgMSB9OwogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVk
aW9SZXNhbXBsZXJLZXJuZWw+PiBtX2tlcm5lbHM7CiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBtX3Nv
dXJjZUJ1czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Jlc2FtcGxlcktlcm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Jlc2FtcGxlcktlcm5lbC5jcHAKaW5kZXggMzc5OGQ3ZWVkM2U1ZTM5ODUxZjAyYmExOWMx
YmE4MzcxMWNmNDExNi4uZWQ4MjUyMzkyZDUzYzNmZDdmZDU1MDNkODAxM2Y3ZmI2OGM5ODczMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXJL
ZXJuZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1w
bGVyS2VybmVsLmNwcApAQCAtMzgsOCArMzgsNiBAQCBBdWRpb1Jlc2FtcGxlcktlcm5lbDo6QXVk
aW9SZXNhbXBsZXJLZXJuZWwoQXVkaW9SZXNhbXBsZXIqIHJlc2FtcGxlcikKICAgICA6IG1fcmVz
YW1wbGVyKHJlc2FtcGxlcikKICAgICAvLyBUaGUgYnVmZmVyIHNpemUgbXVzdCBiZSBsYXJnZSBl
bm91Z2ggdG8gaG9sZCB1cCB0byB0d28gZXh0cmEgc2FtcGxlIGZyYW1lcyBmb3IgdGhlIGxpbmVh
ciBpbnRlcnBvbGF0aW9uLgogICAgICwgbV9zb3VyY2VCdWZmZXIoMiArIHN0YXRpY19jYXN0PGlu
dD4oQXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1YW50dW1TaXplICogQXVkaW9SZXNhbXBsZXI6Ok1h
eFJhdGUpKQotICAgICwgbV92aXJ0dWFsUmVhZEluZGV4KDAuMCkKLSAgICAsIG1fZmlsbEluZGV4
KDApCiB7CiAgICAgbV9sYXN0VmFsdWVzWzBdID0gMC4wZjsKICAgICBtX2xhc3RWYWx1ZXNbMV0g
PSAwLjBmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9S
ZXNhbXBsZXJLZXJuZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVz
YW1wbGVyS2VybmVsLmgKaW5kZXggZDEzZmU1NzM0MjE5MTRmM2JmNGZhMDNhNWNhNzFlZDkwNTdl
ODY4NC4uZDg3MDdlMTg3MzlmNzgwNzM2OWMwYThhYmU1Yzg0ZDY2YTk1N2NkZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXJLZXJuZWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlcktlcm5lbC5o
CkBAIC02MywxNCArNjMsMTQgQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9zb3Vy
Y2VCdWZmZXI7CiAgICAgCiAgICAgLy8gVGhpcyBpcyBhIChmbG9hdGluZyBwb2ludCkgcmVhZCBp
bmRleCBvbiB0aGUgaW5wdXQgc3RyZWFtLgotICAgIGRvdWJsZSBtX3ZpcnR1YWxSZWFkSW5kZXg7
CisgICAgZG91YmxlIG1fdmlydHVhbFJlYWRJbmRleCB7IDAgfTsKIAogICAgIC8vIFdlIG5lZWQg
dG8gaGF2ZSBjb250aW51aXR5IGZyb20gb25lIGNhbGwgb2YgcHJvY2VzcygpIHRvIHRoZSBuZXh0
LgogICAgIC8vIG1fbGFzdFZhbHVlcyBzdG9yZXMgdGhlIGxhc3QgdHdvIHNhbXBsZSB2YWx1ZXMg
ZnJvbSB0aGUgbGFzdCBjYWxsIHRvIHByb2Nlc3MoKS4KICAgICAvLyBtX2ZpbGxJbmRleCByZXBy
ZXNlbnRzIGhvdyBtYW55IGJ1ZmZlcmVkIHNhbXBsZXMgd2UgaGF2ZSB3aGljaCBjYW4gYmUgYXMg
bWFueSBhcyAyLgogICAgIC8vIEZvciB0aGUgZmlyc3QgY2FsbCB0byBwcm9jZXNzKCkgKG9yIGFm
dGVyIHJlc2V0KCkpIHRoZXJlIHdpbGwgYmUgbm8gYnVmZmVyZWQgc2FtcGxlcy4KICAgICBmbG9h
dCBtX2xhc3RWYWx1ZXNbMl07Ci0gICAgdW5zaWduZWQgbV9maWxsSW5kZXg7CisgICAgdW5zaWdu
ZWQgbV9maWxsSW5kZXggeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcAppbmRleCAwNWY5ZTYyZjFiMzE1Y2Q0
ZjdjMGYxNmNhZWUzMjNkM2QxMjRlMTViLi40ZDkxNDg5YmUwNjdlYjkwZjNjNzY5ZTU5NzY5MjFk
MjdmNWYwYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHAKQEAg
LTQ3LDcgKzQ3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRShBQ0NFTEVSQVRF
KQotY29uc3QgaW50IGtCdWZmZXJTaXplID0gMTAyNDsKK2NvbnN0ZXhwciBpbnQga0J1ZmZlclNp
emUgPSAxMDI0OwogI2VuZGlmCiAKIEJpcXVhZDo6QmlxdWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0NvbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQ29uZS5jcHAKaW5kZXggYzg3ZGM3YjRiN2M5YTJlNzBlYWE5OTc5NTdlZDZjODJk
MTc4MzNkNy4uZjU5NDJlYTA2ZDE0YTMzYzJmYjgxYzI2YTMzZGNkZWRjNGU0ZmNkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29uZS5jcHAKQEAgLTM1LDEyICszNSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotQ29uZUVmZmVjdDo6Q29uZUVmZmVjdCgpCi0gICAgOiBtX2lu
bmVyQW5nbGUoMzYwLjApCi0gICAgLCBtX291dGVyQW5nbGUoMzYwLjApCi0gICAgLCBtX291dGVy
R2FpbigwLjApCi17Ci19CitDb25lRWZmZWN0OjpDb25lRWZmZWN0KCkgPSBkZWZhdWx0OwogCiBk
b3VibGUgQ29uZUVmZmVjdDo6Z2FpbihGbG9hdFBvaW50M0Qgc291cmNlUG9zaXRpb24sIEZsb2F0
UG9pbnQzRCBzb3VyY2VPcmllbnRhdGlvbiwgRmxvYXRQb2ludDNEIGxpc3RlbmVyUG9zaXRpb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Db25lLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Db25lLmgKaW5kZXggYTdhY2EzYTRjNTRkMjc0
YjNhYTNkNDBhZDlkMTQzZWJkZmM0NWZjZi4uZTFlMzhjNjE3NzhhNjFlODc3OGYzN2M3Mjk2MzA4
M2JiNjk5N2M0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29u
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0NvbmUuaApAQCAtNTQsOSAr
NTQsOSBAQCBwdWJsaWM6CiAgICAgZG91YmxlIG91dGVyR2FpbigpIGNvbnN0IHsgcmV0dXJuIG1f
b3V0ZXJHYWluOyB9CiAKIHByb3RlY3RlZDoKLSAgICBkb3VibGUgbV9pbm5lckFuZ2xlOwotICAg
IGRvdWJsZSBtX291dGVyQW5nbGU7Ci0gICAgZG91YmxlIG1fb3V0ZXJHYWluOworICAgIGRvdWJs
ZSBtX2lubmVyQW5nbGUgeyAzNjAgfTsKKyAgICBkb3VibGUgbV9vdXRlckFuZ2xlIHsgMzYwIH07
CisgICAgZG91YmxlIG1fb3V0ZXJHYWluIHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuY3BwCmluZGV4IGQ4
MDBiMDlkOGIyNmFhOWU1N2JlNmQzNGE5YTQ2NWViMzM1ZjRjNTAuLmFmOWI0ZGM4OTA1M2Y5OTZj
NDkwMTY0MzQ5ZWNjZTcwOTcxY2UxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0Rpc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9EaXN0YW5jZS5jcHAKQEAgLTM3LDE0ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotRGlzdGFuY2VFZmZlY3Q6OkRpc3RhbmNlRWZmZWN0KCkKLSAgICA6IG1fbW9kZWwoRGlzdGFu
Y2VNb2RlbFR5cGU6OkludmVyc2UpCi0gICAgLCBtX2lzQ2xhbXBlZCh0cnVlKQotICAgICwgbV9y
ZWZEaXN0YW5jZSgxLjApCi0gICAgLCBtX21heERpc3RhbmNlKDEwMDAwLjApCi0gICAgLCBtX3Jv
bGxvZmZGYWN0b3IoMS4wKQotewotfQorRGlzdGFuY2VFZmZlY3Q6OkRpc3RhbmNlRWZmZWN0KCkg
PSBkZWZhdWx0OwogCiBkb3VibGUgRGlzdGFuY2VFZmZlY3Q6OmdhaW4oZG91YmxlIGRpc3RhbmNl
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rpc3RhbmNlLmgKaW5kZXggYjNlYjc3
OTczY2ZhNDc5NWYxNTA1MzY5YjdlNGIyZjg5ZmZiNmM0OC4uOTk4MmJmZjk1NTlmNGMyMzY5MmU1
ODRlYjMwNjI5Mzk3NTgwNTQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vRGlzdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXN0
YW5jZS5oCkBAIC03MCwxMSArNzAsMTEgQEAgcHJvdGVjdGVkOgogICAgIGRvdWJsZSBpbnZlcnNl
R2Fpbihkb3VibGUgZGlzdGFuY2UpOwogICAgIGRvdWJsZSBleHBvbmVudGlhbEdhaW4oZG91Ymxl
IGRpc3RhbmNlKTsKIAotICAgIERpc3RhbmNlTW9kZWxUeXBlIG1fbW9kZWw7Ci0gICAgYm9vbCBt
X2lzQ2xhbXBlZDsKLSAgICBkb3VibGUgbV9yZWZEaXN0YW5jZTsKLSAgICBkb3VibGUgbV9tYXhE
aXN0YW5jZTsKLSAgICBkb3VibGUgbV9yb2xsb2ZmRmFjdG9yOworICAgIERpc3RhbmNlTW9kZWxU
eXBlIG1fbW9kZWwgeyBEaXN0YW5jZU1vZGVsVHlwZTo6SW52ZXJzZSB9OworICAgIGJvb2wgbV9p
c0NsYW1wZWQgeyB0cnVlIH07CisgICAgZG91YmxlIG1fcmVmRGlzdGFuY2UgeyAxIH07CisgICAg
ZG91YmxlIG1fbWF4RGlzdGFuY2UgeyAxMDAwMCB9OworICAgIGRvdWJsZSBtX3JvbGxvZmZGYWN0
b3IgeyAxIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5jcHAKaW5kZXggOWE5NTQ2ZDk4YWFjNmZmZjBl
MjdhOWJmMzZmYTM5ZDMwYjI5YjUyZS4uNDgwMDMzNWU1Y2Q3N2M0NzFmMTE1MGJjNDI5ZTY0MzYy
YTA1Njc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNh
bXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rvd25TYW1wbGVy
LmNwcApAQCAtMzgsNyArMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERvd25TYW1wbGVy
OjpEb3duU2FtcGxlcihzaXplX3QgaW5wdXRCbG9ja1NpemUpCiAgICAgOiBtX2lucHV0QmxvY2tT
aXplKGlucHV0QmxvY2tTaXplKQotICAgICwgbV9yZWR1Y2VkS2VybmVsKERlZmF1bHRLZXJuZWxT
aXplIC8gMikKICAgICAsIG1fY29udm9sdmVyKGlucHV0QmxvY2tTaXplIC8gMikgLy8gcnVucyBh
dCAxLzIgc291cmNlIHNhbXBsZS1yYXRlCiAgICAgLCBtX3RlbXBCdWZmZXIoaW5wdXRCbG9ja1Np
emUgLyAyKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJsb2NrU2l6ZSAqIDIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNhbXBsZXIuaAppbmRleCA5NTcwYjg5MWM5N2Zm
YTkxMWEwMTEzNDAwM2I0ZmRjYjVmNzZmOTJlLi5iNjNjMzRhNjE2NjI4ZTg1YWY5ODYyYTA2ZDI3
MzRkZWE5YjcxNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9E
b3duU2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rvd25TYW1w
bGVyLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb21wdXRlcyBpZGVhbCBi
YW5kLWxpbWl0ZWQgaGFsZi1iYW5kIGZpbHRlciBjb2VmZmljaWVudHMuCiAgICAgLy8gSW4gb3Ro
ZXIgd29yZHMsIGZpbHRlciBvdXQgYWxsIGZyZXF1ZW5jaWVzIGhpZ2hlciB0aGFuIDAuMjUgKiBO
eXF1aXN0LgogICAgIHZvaWQgaW5pdGlhbGl6ZUtlcm5lbCgpOwotICAgIEF1ZGlvRmxvYXRBcnJh
eSBtX3JlZHVjZWRLZXJuZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IG1fcmVkdWNlZEtlcm5lbCB7
IERlZmF1bHRLZXJuZWxTaXplIC8gMiB9OwogCiAgICAgLy8gSGFsZi1iYW5kIGZpbHRlci4KICAg
ICBEaXJlY3RDb252b2x2ZXIgbV9jb252b2x2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29yS2VybmVsLmNwcAppbmRleCAz
OThhM2ViNTRmMDhkNTk5ZjhjMmM4MGM1NGRkYjc3NTMzNjI5NDYwLi45ZjMxODFjZmJiNDAyMjc3
Nzk5NjIzYjliZmRkY2RkNDk1OWMwMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbC5jcHAKQEAgLTQyLDI0
ICs0MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgQXVkaW9VdGls
aXRpZXM7CiAKIC8vIE1ldGVyaW5nIGhpdHMgcGVha3MgaW5zdGFudGx5LCBidXQgcmVsZWFzZXMg
dGhpcyBmYXN0IChpbiBzZWNvbmRzKS4KLWNvbnN0IGZsb2F0IG1ldGVyaW5nUmVsZWFzZVRpbWVD
b25zdGFudCA9IDAuMzI1ZjsKLQotY29uc3QgZmxvYXQgdW5pbml0aWFsaXplZFZhbHVlID0gLTE7
Citjb25zdGV4cHIgZmxvYXQgbWV0ZXJpbmdSZWxlYXNlVGltZUNvbnN0YW50ID0gMC4zMjVmOwog
CiBEeW5hbWljc0NvbXByZXNzb3JLZXJuZWw6OkR5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbChmbG9h
dCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzKQogICAgIDogbV9zYW1wbGVS
YXRlKHNhbXBsZVJhdGUpCi0gICAgLCBtX2xhc3RQcmVEZWxheUZyYW1lcyhEZWZhdWx0UHJlRGVs
YXlGcmFtZXMpCi0gICAgLCBtX3ByZURlbGF5UmVhZEluZGV4KDApCi0gICAgLCBtX3ByZURlbGF5
V3JpdGVJbmRleChEZWZhdWx0UHJlRGVsYXlGcmFtZXMpCi0gICAgLCBtX3JhdGlvKHVuaW5pdGlh
bGl6ZWRWYWx1ZSkKLSAgICAsIG1fc2xvcGUodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9s
aW5lYXJUaHJlc2hvbGQodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9kYlRocmVzaG9sZCh1
bmluaXRpYWxpemVkVmFsdWUpCi0gICAgLCBtX2RiS25lZSh1bmluaXRpYWxpemVkVmFsdWUpCi0g
ICAgLCBtX2tuZWVUaHJlc2hvbGQodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9rbmVlVGhy
ZXNob2xkRGIodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV95a25lZVRocmVzaG9sZERiKHVu
aW5pdGlhbGl6ZWRWYWx1ZSkKLSAgICAsIG1fSyh1bmluaXRpYWxpemVkVmFsdWUpCiB7CiAgICAg
c2V0TnVtYmVyT2ZDaGFubmVscyhudW1iZXJPZkNoYW5uZWxzKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29yS2VybmVsLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaApp
bmRleCAxNjNkYzU4NmI5YmFmZTE1NWRlMzU5Yjk1MzQ0ODNiMjM3YmFjMTU1Li5lNTZhODM5ZTc5
ZDZmY2RkZmM0YzY4ZWQyZjdlM2FkMjMwZWRlNGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaApAQCAtNzQs
NiArNzQsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Q7CiAKIHByb3Rl
Y3RlZDoKKyAgICBzdGF0aWMgY29uc3RleHByIGZsb2F0IHVuaW5pdGlhbGl6ZWRWYWx1ZSA9IC0x
OwogICAgIGZsb2F0IG1fc2FtcGxlUmF0ZTsKIAogICAgIGZsb2F0IG1fZGV0ZWN0b3JBdmVyYWdl
OwpAQCAtODcsMTIgKzg4LDEyIEBAIHByb3RlY3RlZDoKICAgICBlbnVtIHsgTWF4UHJlRGVsYXlG
cmFtZXMgPSAxMDI0IH07CiAgICAgZW51bSB7IE1heFByZURlbGF5RnJhbWVzTWFzayA9IE1heFBy
ZURlbGF5RnJhbWVzIC0gMSB9OwogICAgIGVudW0geyBEZWZhdWx0UHJlRGVsYXlGcmFtZXMgPSAy
NTYgfTsgLy8gc2V0UHJlRGVsYXlUaW1lKCkgd2lsbCBvdmVycmlkZSB0aGlzIGluaXRpYWwgdmFs
dWUKLSAgICB1bnNpZ25lZCBtX2xhc3RQcmVEZWxheUZyYW1lczsKKyAgICB1bnNpZ25lZCBtX2xh
c3RQcmVEZWxheUZyYW1lcyB7IERlZmF1bHRQcmVEZWxheUZyYW1lcyB9OwogICAgIHZvaWQgc2V0
UHJlRGVsYXlUaW1lKGZsb2F0KTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9G
bG9hdEFycmF5Pj4gbV9wcmVEZWxheUJ1ZmZlcnM7Ci0gICAgaW50IG1fcHJlRGVsYXlSZWFkSW5k
ZXg7Ci0gICAgaW50IG1fcHJlRGVsYXlXcml0ZUluZGV4OworICAgIGludCBtX3ByZURlbGF5UmVh
ZEluZGV4IHsgMCB9OworICAgIGludCBtX3ByZURlbGF5V3JpdGVJbmRleCB7IERlZmF1bHRQcmVE
ZWxheUZyYW1lcyB9OwogCiAgICAgZmxvYXQgbV9tYXhBdHRhY2tDb21wcmVzc2lvbkRpZmZEYjsK
IApAQCAtMTA2LDI0ICsxMDcsMjQgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gQW1vdW50IG9mIGlu
cHV0IGNoYW5nZSBpbiBkQiByZXF1aXJlZCBmb3IgMSBkQiBvZiBvdXRwdXQgY2hhbmdlLgogICAg
IC8vIFRoaXMgYXBwbGllcyB0byB0aGUgcG9ydGlvbiBvZiB0aGUgY3VydmUgYWJvdmUgbV9rbmVl
VGhyZXNob2xkRGIgKHNlZSBiZWxvdykuCi0gICAgZmxvYXQgbV9yYXRpbzsKLSAgICBmbG9hdCBt
X3Nsb3BlOyAvLyBJbnZlcnNlIHJhdGlvLgorICAgIGZsb2F0IG1fcmF0aW8geyB1bmluaXRpYWxp
emVkVmFsdWUgfTsKKyAgICBmbG9hdCBtX3Nsb3BlIHsgdW5pbml0aWFsaXplZFZhbHVlIH07IC8v
IEludmVyc2UgcmF0aW8uCiAKICAgICAvLyBUaGUgaW5wdXQgdG8gb3V0cHV0IGNoYW5nZSBiZWxv
dyB0aGUgdGhyZXNob2xkIGlzIGxpbmVhciAxOjEuCi0gICAgZmxvYXQgbV9saW5lYXJUaHJlc2hv
bGQ7Ci0gICAgZmxvYXQgbV9kYlRocmVzaG9sZDsKKyAgICBmbG9hdCBtX2xpbmVhclRocmVzaG9s
ZCB7IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OworICAgIGZsb2F0IG1fZGJUaHJlc2hvbGQgeyB1bmlu
aXRpYWxpemVkVmFsdWUgfTsKIAogICAgIC8vIG1fZGJLbmVlIGlzIHRoZSBudW1iZXIgb2YgZEIg
YWJvdmUgdGhlIHRocmVzaG9sZCBiZWZvcmUgd2UgZW50ZXIgdGhlICJyYXRpbyIgcG9ydGlvbiBv
ZiB0aGUgY3VydmUuCiAgICAgLy8gbV9rbmVlVGhyZXNob2xkRGIgPSBtX2RiVGhyZXNob2xkICsg
bV9kYktuZWUKICAgICAvLyBUaGUgcG9ydGlvbiBiZXR3ZWVuIG1fZGJUaHJlc2hvbGQgYW5kIG1f
a25lZVRocmVzaG9sZERiIGlzIHRoZSAic29mdCBrbmVlIiBwb3J0aW9uIG9mIHRoZSBjdXJ2ZQog
ICAgIC8vIHdoaWNoIHRyYW5zaXRpb25zIHNtb290aGx5IGZyb20gdGhlIGxpbmVhciBwb3J0aW9u
IHRvIHRoZSByYXRpbyBwb3J0aW9uLgotICAgIGZsb2F0IG1fZGJLbmVlOwotICAgIGZsb2F0IG1f
a25lZVRocmVzaG9sZDsKLSAgICBmbG9hdCBtX2tuZWVUaHJlc2hvbGREYjsKLSAgICBmbG9hdCBt
X3lrbmVlVGhyZXNob2xkRGI7CisgICAgZmxvYXQgbV9kYktuZWUgeyB1bmluaXRpYWxpemVkVmFs
dWUgfTsKKyAgICBmbG9hdCBtX2tuZWVUaHJlc2hvbGQgeyB1bmluaXRpYWxpemVkVmFsdWUgfTsK
KyAgICBmbG9hdCBtX2tuZWVUaHJlc2hvbGREYiB7IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OworICAg
IGZsb2F0IG1feWtuZWVUaHJlc2hvbGREYiB7IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OwogCiAgICAg
Ly8gSW50ZXJuYWwgcGFyYW1ldGVyIGZvciB0aGUga25lZSBwb3J0aW9uIG9mIHRoZSBjdXJ2ZS4K
LSAgICBmbG9hdCBtX0s7CisgICAgZmxvYXQgbV9LIHsgdW5pbml0aWFsaXplZFZhbHVlIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuY3BwCmluZGV4IGFkZWMzMTgwYjE2N2MwYTk0YmRk
NzI0NGZiYWQ5MTIyYzAyM2ZiNzMuLmE4M2ZiMTJlZTJhMTlmMzc2NmViM2NjOTE1MTc0OTM3NzJl
ZjM1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93
ZXJQYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93
ZXJQYW5uZXIuY3BwCkBAIC0zNCwxNSArMzQsMTIgQEAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgogCiAvLyBVc2UgYSA1MG1zIHNtb290aGluZyAvIGRlLXppcHBlcmluZyB0aW1lLWNvbnN0
YW50LgotY29uc3QgZmxvYXQgU21vb3RoaW5nVGltZUNvbnN0YW50ID0gMC4wNTBmOworY29uc3Rl
eHByIGZsb2F0IFNtb290aGluZ1RpbWVDb25zdGFudCA9IDAuMDUwZjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBFcXVhbFBvd2VyUGFubmVyOjpFcXVhbFBvd2VyUGFubmVyKGZsb2F0IHNhbXBs
ZVJhdGUpCiAgICAgOiBQYW5uZXIoUGFubmluZ01vZGVsVHlwZTo6RXF1YWxwb3dlcikKLSAgICAs
IG1faXNGaXJzdFJlbmRlcih0cnVlKQotICAgICwgbV9nYWluTCgwLjApCi0gICAgLCBtX2dhaW5S
KDAuMCkKIHsKICAgICBtX3Ntb290aGluZ0NvbnN0YW50ID0gQXVkaW9VdGlsaXRpZXM6OmRpc2Ny
ZXRlVGltZUNvbnN0YW50Rm9yU2FtcGxlUmF0ZShTbW9vdGhpbmdUaW1lQ29uc3RhbnQsIHNhbXBs
ZVJhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1
YWxQb3dlclBhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dl
clBhbm5lci5oCmluZGV4IGQ3MzE4N2UxMDlhNjM5ODM5NzczNzU3NjJlMTQ1MTliZGFjMWUyMTQu
LjhiM2Q5ZWVhM2I5NWJlNzc5MjY3N2I4NzVlODA4OGQ5Y2U3MGNjYjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmgKQEAgLTQ4LDExICs0
OCwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlRGVzaXJlZEdhaW4oZG91YmxlJiBk
ZXNpcmVkR2FpbkwsIGRvdWJsZSYgZGVzaXJlZEdhaW5SLCBkb3VibGUgYXppbXV0aCwgdW5zaWdu
ZWQgbnVtYmVyT2ZDaGFubmVscyk7CiAKICAgICAvLyBGb3Igc21vb3RoaW5nIC8gZGUtemlwcGVy
aW5nCi0gICAgYm9vbCBtX2lzRmlyc3RSZW5kZXI7CisgICAgYm9vbCBtX2lzRmlyc3RSZW5kZXIg
eyB0cnVlIH07CiAgICAgZG91YmxlIG1fc21vb3RoaW5nQ29uc3RhbnQ7CiAgICAgCi0gICAgZG91
YmxlIG1fZ2Fpbkw7Ci0gICAgZG91YmxlIG1fZ2FpblI7CisgICAgZG91YmxlIG1fZ2FpbkwgeyAw
IH07CisgICAgZG91YmxlIG1fZ2FpblIgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmNwcApp
bmRleCBmNGI1Y2NiZTQyYmJlYTdmYjdlZWU2NjU3ZTY5ZTU0M2U4N2Q1YjRlLi4wYjk3YmUzNTM2
MTNiZDA5ZjZiNjcxMWQ1ZTgxZGJlNjk3ZTA3YzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0ZGVENvbnZvbHZlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAgdXNpbmcgbmFt
ZXNwYWNlIFZlY3Rvck1hdGg7CiAgICAgCiBGRlRDb252b2x2ZXI6OkZGVENvbnZvbHZlcihzaXpl
X3QgZmZ0U2l6ZSkKICAgICA6IG1fZnJhbWUoZmZ0U2l6ZSkKLSAgICAsIG1fcmVhZFdyaXRlSW5k
ZXgoMCkKICAgICAsIG1faW5wdXRCdWZmZXIoZmZ0U2l6ZSkgLy8gMm5kIGhhbGYgb2YgYnVmZmVy
IGlzIGFsd2F5cyB6ZXJvZWQKICAgICAsIG1fb3V0cHV0QnVmZmVyKGZmdFNpemUpCiAgICAgLCBt
X2xhc3RPdmVybGFwQnVmZmVyKGZmdFNpemUgLyAyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9GRlRDb252b2x2ZXIuaAppbmRleCAzODYyMjdmMTk3MDRhZmQ3OTJlMzY2MjJiZGRh
OWMxYWNlYTc1MTA0Li40ZjM1NzNhYWFkOGYxODhjMjgzOWRlMThjNzYyYTE1MTMxYTM0ZWFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuaApAQCAtNTgs
NyArNTgsNyBAQCBwcml2YXRlOgogICAgIEZGVEZyYW1lIG1fZnJhbWU7CiAKICAgICAvLyBCdWZm
ZXIgaW5wdXQgdW50aWwgd2UgZ2V0IGZmdFNpemUgLyAyIHNhbXBsZXMgdGhlbiBkbyBhbiBGRlQK
LSAgICBzaXplX3QgbV9yZWFkV3JpdGVJbmRleDsKKyAgICBzaXplX3QgbV9yZWFkV3JpdGVJbmRl
eCB7IDAgfTsKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9pbnB1dEJ1ZmZlcjsKIAogICAgIC8vIFN0
b3JlcyBvdXRwdXQgd2hpY2ggd2UgcmVhZCBhIGxpdHRsZSBhdCBhIHRpbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuY3BwCmluZGV4IGMwM2RkMzQ2MzA4
ZTBjZjgwMjRmMGFlMzQ0YWY0MWI5N2U3NmQyYzUuLjEzY2YyNzI0MDIzMWI1NGM1YThlZmJiZDVh
NjBhMDE0ZTZmMzE1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlLmNwcApAQCAtMzYsMTYgKzM2LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBpbnQgSFJURkRhdGFiYXNlOjpNaW5FbGV2YXRpb24gPSAtNDU7Ci1jb25zdCBpbnQg
SFJURkRhdGFiYXNlOjpNYXhFbGV2YXRpb24gPSA5MDsKLWNvbnN0IHVuc2lnbmVkIEhSVEZEYXRh
YmFzZTo6UmF3RWxldmF0aW9uQW5nbGVTcGFjaW5nID0gMTU7Ci1jb25zdCB1bnNpZ25lZCBIUlRG
RGF0YWJhc2U6Ok51bWJlck9mUmF3RWxldmF0aW9ucyA9IDEwOyAvLyAtNDUgLT4gKzkwIChlYWNo
IDE1IGRlZ3JlZXMpCi1jb25zdCB1bnNpZ25lZCBIUlRGRGF0YWJhc2U6OkludGVycG9sYXRpb25G
YWN0b3IgPSAxOwotY29uc3QgdW5zaWduZWQgSFJURkRhdGFiYXNlOjpOdW1iZXJPZlRvdGFsRWxl
dmF0aW9ucyA9IE51bWJlck9mUmF3RWxldmF0aW9ucyAqIEludGVycG9sYXRpb25GYWN0b3I7Ci0K
IEhSVEZEYXRhYmFzZTo6SFJURkRhdGFiYXNlKGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgOiBtX2Vs
ZXZhdGlvbnMoTnVtYmVyT2ZUb3RhbEVsZXZhdGlvbnMpCi0gICAgLCBtX3NhbXBsZVJhdGUoc2Ft
cGxlUmF0ZSkKKyAgICA6IG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlKQogewogICAgIHVuc2lnbmVk
IGVsZXZhdGlvbkluZGV4ID0gMDsKICAgICBmb3IgKGludCBlbGV2YXRpb24gPSBNaW5FbGV2YXRp
b247IGVsZXZhdGlvbiA8PSBNYXhFbGV2YXRpb247IGVsZXZhdGlvbiArPSBSYXdFbGV2YXRpb25B
bmdsZVNwYWNpbmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKaW5kZXggYTUxOTM0OTgxNTA0NTI2ZDZmYzY0ZDQ1Yjk3OTBiMzc4MTAzYTQ1Ni4uZmFm
NDhjMjg1MzM0NWI1ZWY4ZTllOTBlMGUxZTg5YTAyYzdiYzRlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTU3LDI0ICs1NywyNCBAQCBwdWJs
aWM6CiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsg
fQogCiAgICAgLy8gTnVtYmVyIG9mIGVsZXZhdGlvbnMgbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIE51bWJlck9mUmF3RWxldmF0aW9uczsKKyAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgTnVtYmVyT2ZSYXdFbGV2YXRpb25zIHsgMTAgfTsKIAogcHJpdmF0
ZToKICAgICAvLyBNaW5pbXVtIGFuZCBtYXhpbXVtIGVsZXZhdGlvbiBhbmdsZXMgKGluY2x1c2l2
ZSkgZm9yIGEgSFJURkRhdGFiYXNlLgotICAgIHN0YXRpYyBjb25zdCBpbnQgTWluRWxldmF0aW9u
OwotICAgIHN0YXRpYyBjb25zdCBpbnQgTWF4RWxldmF0aW9uOwotICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBSYXdFbGV2YXRpb25BbmdsZVNwYWNpbmc7CisgICAgc3RhdGljIGNvbnN0ZXhwciBp
bnQgTWluRWxldmF0aW9uIHsgLTQ1IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgTWF4RWxl
dmF0aW9uIHsgOTAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFJhd0VsZXZhdGlv
bkFuZ2xlU3BhY2luZyB7IDE1IH07CiAKICAgICAvLyBJbnRlcnBvbGF0ZXMgYnkgdGhpcyBmYWN0
b3IgdG8gZ2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgZWxldmF0aW9ucyBmcm9tIGV2ZXJ5IGVsZXZh
dGlvbiBsb2FkZWQgZnJvbSByZXNvdXJjZS4KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgSW50
ZXJwb2xhdGlvbkZhY3RvcjsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIEludGVycG9s
YXRpb25GYWN0b3IgeyAxIH07CiAgICAgCiAgICAgLy8gVG90YWwgbnVtYmVyIG9mIGVsZXZhdGlv
bnMgYWZ0ZXIgaW50ZXJwb2xhdGlvbi4KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgTnVtYmVy
T2ZUb3RhbEVsZXZhdGlvbnM7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBOdW1iZXJP
ZlRvdGFsRWxldmF0aW9ucyB7IE51bWJlck9mUmF3RWxldmF0aW9ucyAqIEludGVycG9sYXRpb25G
YWN0b3IgfTsKIAogICAgIC8vIFJldHVybnMgdGhlIGluZGV4IGZvciB0aGUgY29ycmVjdCBIUlRG
RWxldmF0aW9uIGdpdmVuIHRoZSBlbGV2YXRpb24gYW5nbGUuCiAgICAgc3RhdGljIHVuc2lnbmVk
IGluZGV4RnJvbUVsZXZhdGlvbkFuZ2xlKGRvdWJsZSk7CiAKLSAgICBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPEhSVEZFbGV2YXRpb24+PiBtX2VsZXZhdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxIUlRGRWxldmF0aW9uPj4gbV9lbGV2YXRpb25zIHsgTnVtYmVyT2ZUb3RhbEVsZXZh
dGlvbnMgfTsKICAgICBmbG9hdCBtX3NhbXBsZVJhdGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCmluZGV4IDYwNTIzMmNkMWE5OWM5
MjMzZDlhZDEwNDliYTMwN2UyMTc3MzhmYzYuLmYzZGIwNjhiM2QzOTBiYWJiYjc0YmJjYWY2Y2Zh
MWM5MTZlYjBiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZF
bGV2YXRpb24uY3BwCkBAIC00NCwyMCArNDQsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCB1bnNpZ25lZCBIUlRGRWxldmF0aW9uOjpBemltdXRoU3BhY2luZyA9IDE1OwotY29u
c3QgdW5zaWduZWQgSFJURkVsZXZhdGlvbjo6TnVtYmVyT2ZSYXdBemltdXRocyA9IDM2MCAvIEF6
aW11dGhTcGFjaW5nOwotY29uc3QgdW5zaWduZWQgSFJURkVsZXZhdGlvbjo6SW50ZXJwb2xhdGlv
bkZhY3RvciA9IDg7Ci1jb25zdCB1bnNpZ25lZCBIUlRGRWxldmF0aW9uOjpOdW1iZXJPZlRvdGFs
QXppbXV0aHMgPSBOdW1iZXJPZlJhd0F6aW11dGhzICogSW50ZXJwb2xhdGlvbkZhY3RvcjsKLQog
Ly8gVG90YWwgbnVtYmVyIG9mIGNvbXBvbmVudHMgb2YgYW4gSFJURiBkYXRhYmFzZS4KLWNvbnN0
IHNpemVfdCBUb3RhbE51bWJlck9mUmVzcG9uc2VzID0gMjQwOworY29uc3RleHByIHNpemVfdCBU
b3RhbE51bWJlck9mUmVzcG9uc2VzID0gMjQwOwogCiAvLyBOdW1iZXIgb2YgZnJhbWVzIGluIGFu
IGluZGl2aWR1YWwgaW1wdWxzZSByZXNwb25zZS4KLWNvbnN0IHNpemVfdCBSZXNwb25zZUZyYW1l
U2l6ZSA9IDI1NjsKK2NvbnN0ZXhwciBzaXplX3QgUmVzcG9uc2VGcmFtZVNpemUgPSAyNTY7CiAK
IC8vIFNhbXBsZS1yYXRlIG9mIHRoZSBzcGF0aWFsaXphdGlvbiBpbXB1bHNlIHJlc3BvbnNlcyBh
cyBzdG9yZWQgaW4gdGhlIHJlc291cmNlIGZpbGUuCiAvLyBUaGUgaW1wdWxzZSByZXNwb25zZXMg
bWF5IGJlIHJlc2FtcGxlZCB0byBhIGRpZmZlcmVudCBzYW1wbGUtcmF0ZSAoZGVwZW5kaW5nIG9u
IHRoZSBhdWRpbyBoYXJkd2FyZSkgd2hlbiB0aGV5IGFyZSBsb2FkZWQuCi1jb25zdCBmbG9hdCBS
ZXNwb25zZVNhbXBsZVJhdGUgPSA0NDEwMDsKK2NvbnN0ZXhwciBmbG9hdCBSZXNwb25zZVNhbXBs
ZVJhdGUgPSA0NDEwMDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoV0VCQVVESU9fR1NU
UkVBTUVSKQogI2RlZmluZSBVU0VfQ09OQ0FURU5BVEVEX0lNUFVMU0VfUkVTUE9OU0VTCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggZWY3NTJj
M2MwMWJlMzllY2RiN2VmNjRkZjQzOTA5MjY2ZDZlZDk2MS4uNjEzNTE3MDhlNDkxNzUzZWE3ODVk
NTAyOTAyMDY5ODRhYTMyMmMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZFbGV2YXRpb24uaApAQCAtNzMsMTYgKzczLDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIGdl
dEtlcm5lbHNGcm9tQXppbXV0aChkb3VibGUgYXppbXV0aEJsZW5kLCB1bnNpZ25lZCBhemltdXRo
SW5kZXgsIEhSVEZLZXJuZWwqICZrZXJuZWxMLCBIUlRGS2VybmVsKiAma2VybmVsUiwgZG91Ymxl
JiBmcmFtZURlbGF5TCwgZG91YmxlJiBmcmFtZURlbGF5Uik7CiAgICAgCiAgICAgLy8gU3BhY2lu
ZywgaW4gZGVncmVlcywgYmV0d2VlbiBldmVyeSBhemltdXRoIGxvYWRlZCBmcm9tIHJlc291cmNl
LgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBemltdXRoU3BhY2luZzsKKyAgICBzdGF0aWMg
Y29uc3RleHByIHVuc2lnbmVkIEF6aW11dGhTcGFjaW5nIHsgMTUgfTsKICAgICAKICAgICAvLyBO
dW1iZXIgb2YgYXppbXV0aHMgbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIE51bWJlck9mUmF3QXppbXV0aHM7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBOdW1iZXJPZlJhd0F6aW11dGhzIHsgMzYwIC8gQXppbXV0aFNwYWNpbmcgfTsKIAogICAg
IC8vIEludGVycG9sYXRlcyBieSB0aGlzIGZhY3RvciB0byBnZXQgdGhlIHRvdGFsIG51bWJlciBv
ZiBhemltdXRocyBmcm9tIGV2ZXJ5IGF6aW11dGggbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0gICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIEludGVycG9sYXRpb25GYWN0b3I7CisgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBJbnRlcnBvbGF0aW9uRmFjdG9yIHsgOCB9OwogICAgIAogICAgIC8v
IFRvdGFsIG51bWJlciBvZiBhemltdXRocyBhZnRlciBpbnRlcnBvbGF0aW9uLgotICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBOdW1iZXJPZlRvdGFsQXppbXV0aHM7CisgICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBOdW1iZXJPZlRvdGFsQXppbXV0aHMgeyBOdW1iZXJPZlJhd0F6aW11dGhz
ICogSW50ZXJwb2xhdGlvbkZhY3RvciB9OwogCiAgICAgLy8gR2l2ZW4gYSBzcGVjaWZpYyBhemlt
dXRoIGFuZCBlbGV2YXRpb24gYW5nbGUsIHJldHVybnMgdGhlIGxlZnQgYW5kIHJpZ2h0IEhSVEZL
ZXJuZWwuCiAgICAgLy8gVmFsaWQgdmFsdWVzIGZvciBhemltdXRoIGFyZSAwIC0+IDM0NSBpbiAx
NSBkZWdyZWUgaW5jcmVtZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZLZXJuZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
Rktlcm5lbC5jcHAKaW5kZXggMzc1NTIxNmFlMjg3YTcxYzc0MjkyOWE1M2M5NTkwOTZkYjFkYmI3
Zi4uMDY0NzgxMjhlNDY1NTI5NjllN2IwMDMzYjBjZjI3YmFlOTUwODNhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKQEAgLTY4LDggKzY4LDcgQEAg
c3RhdGljIGZsb2F0IGV4dHJhY3RBdmVyYWdlR3JvdXBEZWxheShBdWRpb0NoYW5uZWwqIGNoYW5u
ZWwsIHNpemVfdCBhbmFseXNpc0ZGVFMKIH0KIAogSFJURktlcm5lbDo6SFJURktlcm5lbChBdWRp
b0NoYW5uZWwqIGNoYW5uZWwsIHNpemVfdCBmZnRTaXplLCBmbG9hdCBzYW1wbGVSYXRlKQotICAg
IDogbV9mcmFtZURlbGF5KDApCi0gICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxlUmF0ZSkKKyAgICA6
IG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlKQogewogICAgIEFTU0VSVChjaGFubmVsKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oCmluZGV4IDNiODBmYjYwYmY3
MzE3MjIxN2IzOGVlNDJjZjg5MTYzZGU0OWE1NWQuLjZmMTg3NmFhMzExMjdlZDk0ZDY3MmEwZmYy
MzFkMDFhZTFlNWYxMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGS2Vy
bmVsLmgKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICB9CiAgICAgCiAgICAgc3RkOjp1
bmlxdWVfcHRyPEZGVEZyYW1lPiBtX2ZmdEZyYW1lOwotICAgIGZsb2F0IG1fZnJhbWVEZWxheTsK
KyAgICBmbG9hdCBtX2ZyYW1lRGVsYXkgeyAwIH07CiAgICAgZmxvYXQgbV9zYW1wbGVSYXRlOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcAppbmRl
eCBjZDhiNDI3ZTVhY2Y0ODU4Yzg2MTJhMjE3Mzk1ZDA3NDRkZDNiNWJkLi43ODVjZjI0NjI4MjFk
ZDM5MTMwZGU4ZjA4NTI0NWZjZDFhZDllZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGUGFubmVyLmNwcApAQCAtNDAsMjEgKzQwLDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogLy8gVGhlIHZhbHVlIG9mIDIgbWlsbGlzZWNvbmRzIGlzIGxhcmdlciB0aGFuIHRo
ZSBsYXJnZXN0IGRlbGF5IHdoaWNoIGV4aXN0cyBpbiBhbnkgSFJURktlcm5lbCBmcm9tIHRoZSBk
ZWZhdWx0IEhSVEZEYXRhYmFzZSAoMC4wMTM2IHNlY29uZHMpLgogLy8gV2UgQVNTRVJUIHRoZSBk
ZWxheSB2YWx1ZXMgdXNlZCBpbiBwcm9jZXNzKCkgd2l0aCB0aGlzIHZhbHVlLgotY29uc3QgZG91
YmxlIE1heERlbGF5VGltZVNlY29uZHMgPSAwLjAwMjsKLQotY29uc3QgaW50IFVuaW5pdGlhbGl6
ZWRBemltdXRoID0gLTE7Citjb25zdGV4cHIgZG91YmxlIE1heERlbGF5VGltZVNlY29uZHMgPSAw
LjAwMjsKIAogSFJURlBhbm5lcjo6SFJURlBhbm5lcihmbG9hdCBzYW1wbGVSYXRlLCBIUlRGRGF0
YWJhc2VMb2FkZXIqIGRhdGFiYXNlTG9hZGVyKQogICAgIDogUGFubmVyKFBhbm5pbmdNb2RlbFR5
cGU6OkhSVEYpCiAgICAgLCBtX2RhdGFiYXNlTG9hZGVyKGRhdGFiYXNlTG9hZGVyKQogICAgICwg
bV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCi0gICAgLCBtX2Nyb3NzZmFkZVNlbGVjdGlvbihDcm9z
c2ZhZGVTZWxlY3Rpb24xKQotICAgICwgbV9hemltdXRoSW5kZXgxKFVuaW5pdGlhbGl6ZWRBemlt
dXRoKQotICAgICwgbV9lbGV2YXRpb24xKDApCi0gICAgLCBtX2F6aW11dGhJbmRleDIoVW5pbml0
aWFsaXplZEF6aW11dGgpCi0gICAgLCBtX2VsZXZhdGlvbjIoMCkKLSAgICAsIG1fY3Jvc3NmYWRl
WCgwKQotICAgICwgbV9jcm9zc2ZhZGVJbmNyKDApCiAgICAgLCBtX2NvbnZvbHZlckwxKGZmdFNp
emVGb3JTYW1wbGVSYXRlKHNhbXBsZVJhdGUpKQogICAgICwgbV9jb252b2x2ZXJSMShmZnRTaXpl
Rm9yU2FtcGxlUmF0ZShzYW1wbGVSYXRlKSkKICAgICAsIG1fY29udm9sdmVyTDIoZmZ0U2l6ZUZv
clNhbXBsZVJhdGUoc2FtcGxlUmF0ZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGUGFubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGUGFubmVyLmgKaW5kZXggZTAzMjMwMzAxOGZhNzhmM2IxNzA0MWU1ZDVmNDkzNzBjNmFjMTUw
MS4uZWViZjVhMDk5MGI3NWUyNTFlMDQwMTE0OWYyYWM2NTg0OTkyMGExYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJs
aWM6CiAgICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QgZmluYWw7CiAKIHBy
aXZhdGU6CisgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgVW5pbml0aWFsaXplZEF6aW11dGggPSAt
MTsKKwogICAgIC8vIEdpdmVuIGFuIGF6aW11dGggYW5nbGUgaW4gdGhlIHJhbmdlIC0xODAgLT4g
KzE4MCwgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBhemltdXRoIGluZGV4IGZvciB0aGUgZGF0
YWJhc2UsCiAgICAgLy8gYW5kIGF6aW11dGhCbGVuZCB3aGljaCBpcyBhbiBpbnRlcnBvbGF0aW9u
IHZhbHVlIGZyb20gMCAtPiAxLgogICAgIGludCBjYWxjdWxhdGVEZXNpcmVkQXppbXV0aEluZGV4
QW5kQmxlbmQoZG91YmxlIGF6aW11dGgsIGRvdWJsZSYgYXppbXV0aEJsZW5kKTsKQEAgLTc3LDIx
ICs3OSwyMSBAQCBwcml2YXRlOgogICAgICAgICBDcm9zc2ZhZGVTZWxlY3Rpb24yCiAgICAgfTsK
IAotICAgIENyb3NzZmFkZVNlbGVjdGlvbiBtX2Nyb3NzZmFkZVNlbGVjdGlvbjsKKyAgICBDcm9z
c2ZhZGVTZWxlY3Rpb24gbV9jcm9zc2ZhZGVTZWxlY3Rpb24geyBDcm9zc2ZhZGVTZWxlY3Rpb24x
IH07CiAKICAgICAvLyBhemltdXRoL2VsZXZhdGlvbiBmb3IgQ3Jvc3NmYWRlU2VsZWN0aW9uMS4K
LSAgICBpbnQgbV9hemltdXRoSW5kZXgxOwotICAgIGRvdWJsZSBtX2VsZXZhdGlvbjE7CisgICAg
aW50IG1fYXppbXV0aEluZGV4MSB7IFVuaW5pdGlhbGl6ZWRBemltdXRoIH07CisgICAgZG91Ymxl
IG1fZWxldmF0aW9uMSB7IDAgfTsKIAogICAgIC8vIGF6aW11dGgvZWxldmF0aW9uIGZvciBDcm9z
c2ZhZGVTZWxlY3Rpb24yLgotICAgIGludCBtX2F6aW11dGhJbmRleDI7Ci0gICAgZG91YmxlIG1f
ZWxldmF0aW9uMjsKKyAgICBpbnQgbV9hemltdXRoSW5kZXgyIHsgVW5pbml0aWFsaXplZEF6aW11
dGggfTsKKyAgICBkb3VibGUgbV9lbGV2YXRpb24yIHsgMCB9OwogCiAgICAgLy8gQSBjcm9zc2Zh
ZGUgdmFsdWUgMCA8PSBtX2Nyb3NzZmFkZVggPD0gMS4KLSAgICBmbG9hdCBtX2Nyb3NzZmFkZVg7
CisgICAgZmxvYXQgbV9jcm9zc2ZhZGVYIHsgMCB9OwogCiAgICAgLy8gUGVyLXNhbXBsZS1mcmFt
ZSBjcm9zc2ZhZGUgdmFsdWUgaW5jcmVtZW50LgotICAgIGZsb2F0IG1fY3Jvc3NmYWRlSW5jcjsK
KyAgICBmbG9hdCBtX2Nyb3NzZmFkZUluY3IgeyAwIH07CiAKICAgICBGRlRDb252b2x2ZXIgbV9j
b252b2x2ZXJMMTsKICAgICBGRlRDb252b2x2ZXIgbV9jb252b2x2ZXJSMTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApp
bmRleCBhYzA1MWUwYWU2M2EwNTM5YmNjZGZhMjFmZjVhNjMyNjEzZmVjN2QxLi4zMDNkZjVhYzMy
NzQ1NWMxYjcwNTI0MDY1N2E1MmQxZjY0NjEyMmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNSw3ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IFNlY29uZHMgY2xp
ZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9Oworc3RhdGljIGNv
bnN0ZXhwciBTZWNvbmRzIGNsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgeyAx
MDBfbXMgfTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogU3RyaW5nIGNvbnZlcnRFbnVt
ZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBzdGF0ZSkKQEAgLTEx
OSw5ICsxMTksNiBAQCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxhdGZvcm1NZWRpYVNlc3Npb24o
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyJiBtYW5hZ2VyLAogICAgIDogbV9tYW5hZ2VyKG1h
a2VXZWFrUHRyKG1hbmFnZXIpKQogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9tZWRp
YVNlc3Npb25JZGVudGlmaWVyKE1lZGlhU2Vzc2lvbklkZW50aWZpZXI6OmdlbmVyYXRlKCkpCi0g
ICAgLCBtX3N0YXRlKElkbGUpCi0gICAgLCBtX3N0YXRlVG9SZXN0b3JlKElkbGUpCi0gICAgLCBt
X25vdGlmeWluZ0NsaWVudChmYWxzZSkKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAs
IG1fbG9nZ2VyKGNsaWVudC5sb2dnZXIoKSkKICAgICAsIG1fbG9nSWRlbnRpZmllcih1bmlxdWVM
b2dJZGVudGlmaWVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCA0Njg1MTJjNDk3NzY5YWIxZmY5YWQxMzI5ZjNl
MDNmNDlkODE5OTkxLi43OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmgKQEAgLTIwNSwxMSArMjA1LDExIEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI+IG1fbWFuYWdlcjsKICAgICBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbkNsaWVudCYgbV9jbGllbnQ7CiAgICAgTWVkaWFTZXNzaW9uSWRlbnRpZmllciBtX21lZGlh
U2Vzc2lvbklkZW50aWZpZXI7Ci0gICAgU3RhdGUgbV9zdGF0ZTsKLSAgICBTdGF0ZSBtX3N0YXRl
VG9SZXN0b3JlOworICAgIFN0YXRlIG1fc3RhdGUgeyBJZGxlIH07CisgICAgU3RhdGUgbV9zdGF0
ZVRvUmVzdG9yZSB7IElkbGUgfTsKICAgICBJbnRlcnJ1cHRpb25UeXBlIG1faW50ZXJydXB0aW9u
VHlwZSB7IE5vSW50ZXJydXB0aW9uIH07CiAgICAgaW50IG1faW50ZXJydXB0aW9uQ291bnQgeyAw
IH07Ci0gICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKyAgICBib29sIG1fbm90aWZ5aW5nQ2xp
ZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFy
Z2V0IHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzUGxheWVkU2luY2VMYXN0SW50ZXJydXB0aW9u
IHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UHVzaFB1bGxGSUZPLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1B1c2hQdWxs
RklGTy5jcHAKaW5kZXggMzg0NzRhNzNiNjg3YTI5Y2ZlNWNhNGY1OTgwZDRmMjE0ZDQ1OGU5ZC4u
M2VkZTYyY2UyM2RiN2I5OGM5ZWIzNjFjZTUwZWZkYWFhNDk5YjVmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUHVzaFB1bGxGSUZPLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QdXNoUHVsbEZJRk8uY3BwCkBAIC0zMSwxMiArMzEsMTAg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBzaXplX3QgUHVzaFB1bGxGSUZPOjpr
TWF4RklGT0xlbmd0aCA9IDY1NTM2OwotCiBQdXNoUHVsbEZJRk86OlB1c2hQdWxsRklGTyh1bnNp
Z25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgZmlmb0xlbmd0aCkKICAgICA6IG1fZmlmb0xl
bmd0aChmaWZvTGVuZ3RoKQogewotICAgIEFTU0VSVChtX2ZpZm9MZW5ndGggPD0ga01heEZJRk9M
ZW5ndGgpOworICAgIEFTU0VSVChtX2ZpZm9MZW5ndGggPD0gbWF4RklGT0xlbmd0aCk7CiAgICAg
bV9maWZvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShudW1iZXJPZkNoYW5uZWxzLCBtX2ZpZm9MZW5n
dGgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QdXNo
UHVsbEZJRk8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5o
CmluZGV4IDNlM2MyM2EyODQ1YzNkYzgyMmVmYjE3NzRlY2YzYTYxOWYxYmFiMTAuLjNkNDNmNGFj
ZmE0ZDc1ZTdjNzFiNmMwY2YwZmU0ODMzYWI3MGY2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5oCkBAIC00Miw5ICs0Miw5IEBAIGNsYXNzIFB1c2hQ
dWxsRklGTyB7CiAKIHB1YmxpYzoKICAgICAvLyBNYXhpbXVtIEZJRk8gbGVuZ3RoLiAoNTEyIHJl
bmRlciBxdWFudGEpCi0gICAgc3RhdGljIGNvbnN0IHNpemVfdCBrTWF4RklGT0xlbmd0aDsKKyAg
ICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBtYXhGSUZPTGVuZ3RoIHsgNjU1MzYgfTsKIAotICAg
IC8vIHxmaWZvTGVuZ3RofCBjYW5ub3QgZXhjZWVkIHxrTWF4RklGT0xlbmd0aHwuIE90aGVyd2lz
ZSBpdCBjcmFzaGVzLgorICAgIC8vIHxmaWZvTGVuZ3RofCBjYW5ub3QgZXhjZWVkIHxtYXhGSUZP
TGVuZ3RofC4gT3RoZXJ3aXNlIGl0IGNyYXNoZXMuCiAgICAgUHVzaFB1bGxGSUZPKHVuc2lnbmVk
IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBmaWZvTGVuZ3RoKTsKICAgICB+UHVzaFB1bGxGSUZP
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmIuY3BwCmluZGV4IDhlMzYw
ZjU5MDU5NzkxMGQ1ZjQ1ZTY4ODU0YWZjOGU3YjA2Zjk1MjUuLjA3ZmYyMjgyM2MwYzM4YTAyZTdi
NzU5ZDgyYjkzODUyY2E1NmU2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1JldmVyYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2
ZXJiLmNwcApAQCAtNDQsMTEgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5h
bWVzcGFjZSBWZWN0b3JNYXRoOwogCiAvLyBFbXBpcmljYWwgZ2FpbiBjYWxpYnJhdGlvbiB0ZXN0
ZWQgYWNyb3NzIG1hbnkgaW1wdWxzZSByZXNwb25zZXMgdG8gZW5zdXJlIHBlcmNlaXZlZCB2b2x1
bWUgaXMgc2FtZSBhcyBkcnkgKHVucHJvY2Vzc2VkKSBzaWduYWwKLWNvbnN0IGZsb2F0IEdhaW5D
YWxpYnJhdGlvbiA9IC01ODsKLWNvbnN0IGZsb2F0IEdhaW5DYWxpYnJhdGlvblNhbXBsZVJhdGUg
PSA0NDEwMDsKK2NvbnN0ZXhwciBmbG9hdCBHYWluQ2FsaWJyYXRpb24gPSAtNTg7Citjb25zdGV4
cHIgZmxvYXQgR2FpbkNhbGlicmF0aW9uU2FtcGxlUmF0ZSA9IDQ0MTAwOwogCiAvLyBBIG1pbmlt
dW0gcG93ZXIgdmFsdWUgdG8gd2hlbiBub3JtYWxpemluZyBhIHNpbGVudCAob3IgdmVyeSBxdWll
dCkgaW1wdWxzZSByZXNwb25zZQotY29uc3QgZmxvYXQgTWluUG93ZXIgPSAwLjAwMDEyNWY7Citj
b25zdGV4cHIgZmxvYXQgTWluUG93ZXIgPSAwLjAwMDEyNWY7CiAgICAgCiBzdGF0aWMgZmxvYXQg
Y2FsY3VsYXRlTm9ybWFsaXphdGlvblNjYWxlKEF1ZGlvQnVzKiByZXNwb25zZSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkFjY3VtdWxhdGlvbkJ1
ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRp
b25CdWZmZXIuY3BwCmluZGV4IDM3Y2Y2Zjg4YjFiYjIwOGFjYjBiYjFkNDIyZjEyNzM3ODBmNDU2
MjQuLjk0MjZmMzg3MGY5NjdlNmNhM2M5YzdmMmI4NDNmNGY0NGI1ZWZmNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9u
QnVmZmVyLmNwcApAQCAtNDIsOCArNDIsNiBAQCB1c2luZyBuYW1lc3BhY2UgVmVjdG9yTWF0aDsK
IAogUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyOjpSZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIoc2l6
ZV90IGxlbmd0aCkKICAgICA6IG1fYnVmZmVyKGxlbmd0aCkKLSAgICAsIG1fcmVhZEluZGV4KDAp
Ci0gICAgLCBtX3JlYWRUaW1lRnJhbWUoMCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIuaAppbmRleCBh
NjI4MzVmOWMwZDdkNzQzYzllOTI3Y2VkZTJkNmExZGE0NTU4NDFhLi5kMjRlOWFjYjA1NWE0OTdj
NDA4MjA3ZDc1ODljYjk0NGIyYTMzOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIuaApAQCAtNTksOCArNTks
OCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQXVkaW9GbG9hdEFycmF5IG1fYnVmZmVyOwot
ICAgIHNpemVfdCBtX3JlYWRJbmRleDsKLSAgICBzaXplX3QgbV9yZWFkVGltZUZyYW1lOyAvLyBm
b3IgZGVidWdnaW5nIChmcmFtZSBvbiBjb250aW51b3VzIHRpbWVsaW5lKQorICAgIHNpemVfdCBt
X3JlYWRJbmRleCB7IDAgfTsKKyAgICBzaXplX3QgbV9yZWFkVGltZUZyYW1lIHsgMCB9OyAvLyBm
b3IgZGVidWdnaW5nIChmcmFtZSBvbiBjb250aW51b3VzIHRpbWVsaW5lKQogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUmV2ZXJiQ29udm9sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Jl
dmVyYkNvbnZvbHZlci5jcHAKaW5kZXggYzc1N2FjN2U2MTkzOGUwODYwOTQ2YzBkYzYyMDRlNzRl
ZjdiNThlNC4uMzI1YWU3ZTViNmI1M2E1NzNmNDI4YzRiNTQ2ODA0OGQ1Yzk1YjQ1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwCkBA
IC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFZl
Y3Rvck1hdGg7CiAKLWNvbnN0IGludCBJbnB1dEJ1ZmZlclNpemUgPSA4ICogMTYzODQ7Citjb25z
dGV4cHIgaW50IElucHV0QnVmZmVyU2l6ZSA9IDggKiAxNjM4NDsKIAogLy8gV2Ugb25seSBwcm9j
ZXNzIHRoZSBsZWFkaW5nIHBvcnRpb24gb2YgdGhlIGltcHVsc2UgcmVzcG9uc2UgaW4gdGhlIHJl
YWwtdGltZSB0aHJlYWQuICBXZSBkb24ndCBleGNlZWQgdGhpcyBsZW5ndGguCiAvLyBJdCB0dXJu
cyBvdXQgdGhlbiwgdGhhdCB0aGUgYmFja2dyb3VuZCB0aHJlYWQgaGFzIGFib3V0IDI3OG1zZWMg
b2Ygc2NoZWR1bGluZyBzbG9wLgpAQCAtNDksMTAgKzQ5LDEwIEBAIGNvbnN0IGludCBJbnB1dEJ1
ZmZlclNpemUgPSA4ICogMTYzODQ7CiAvLyBUaGlzIHdhcyBmb3VuZCB0byBiZSBhIGdvb2QgdmFs
dWUgb24gTWFjIE9TIFgsIGFuZCBtYXkgd29yayB3ZWxsIG9uIG90aGVyIHBsYXRmb3JtcyBhcyB3
ZWxsLCBhc3N1bWluZwogLy8gdGhlIHZlcnkgcm91Z2ggc2NoZWR1bGluZyBsYXRlbmNpZXMgYXJl
IHNpbWlsYXIgb24gdGhlc2UgdGltZS1zY2FsZXMuICBPZiBjb3Vyc2UsIHRoaXMgY29kZSBtYXkg
bmVlZCB0byBiZQogLy8gdHVuZWQgZm9yIGluZGl2aWR1YWwgcGxhdGZvcm1zIGlmIHRoaXMgYXNz
dW1wdGlvbiBpcyBmb3VuZCB0byBiZSBpbmNvcnJlY3QuCi1jb25zdCBzaXplX3QgUmVhbHRpbWVG
cmFtZUxpbWl0ID0gODE5MiAgKyA0MDk2OyAvLyB+Mjc4bXNlYyBAIDQ0LjFLSHoKK2NvbnN0ZXhw
ciBzaXplX3QgUmVhbHRpbWVGcmFtZUxpbWl0ID0gODE5MiAgKyA0MDk2OyAvLyB+Mjc4bXNlYyBA
IDQ0LjFLSHoKIAotY29uc3Qgc2l6ZV90IE1pbkZGVFNpemUgPSAxMjg7Ci1jb25zdCBzaXplX3Qg
TWF4UmVhbHRpbWVGRlRTaXplID0gMjA0ODsKK2NvbnN0ZXhwciBzaXplX3QgTWluRkZUU2l6ZSA9
IDEyODsKK2NvbnN0ZXhwciBzaXplX3QgTWF4UmVhbHRpbWVGRlRTaXplID0gMjA0ODsKIAogUmV2
ZXJiQ29udm9sdmVyOjpSZXZlcmJDb252b2x2ZXIoQXVkaW9DaGFubmVsKiBpbXB1bHNlUmVzcG9u
c2UsIHNpemVfdCByZW5kZXJTbGljZVNpemUsIHNpemVfdCBtYXhGRlRTaXplLCBzaXplX3QgY29u
dm9sdmVyUmVuZGVyUGhhc2UsIGJvb2wgdXNlQmFja2dyb3VuZFRocmVhZHMsIGZsb2F0IHNjYWxl
KQogICAgIDogbV9pbXB1bHNlUmVzcG9uc2VMZW5ndGgoaW1wdWxzZVJlc3BvbnNlLT5sZW5ndGgo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZv
bHZlclN0YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZv
bHZlclN0YWdlLmNwcAppbmRleCAwZGY1MWQ1MmM0NTk1MjgxODZlMmQ5OTE4OTk4MDQwNTMyNzFj
MWIxLi44MzZiNDE2YWQyOWQ5NzcyMjQ3MjEwZjgwYzFiNjRhMWM4NmFjYTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2Uu
Y3BwCkBAIC00Nyw4ICs0Nyw2IEBAIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogUmV2ZXJi
Q29udm9sdmVyU3RhZ2U6OlJldmVyYkNvbnZvbHZlclN0YWdlKGNvbnN0IGZsb2F0KiBpbXB1bHNl
UmVzcG9uc2UsIHNpemVfdCwgc2l6ZV90IHJldmVyYlRvdGFsTGF0ZW5jeSwgc2l6ZV90IHN0YWdl
T2Zmc2V0LCBzaXplX3Qgc3RhZ2VMZW5ndGgsCiAgICAgc2l6ZV90IGZmdFNpemUsIHNpemVfdCBy
ZW5kZXJQaGFzZSwgc2l6ZV90IHJlbmRlclNsaWNlU2l6ZSwgUmV2ZXJiQWNjdW11bGF0aW9uQnVm
ZmVyKiBhY2N1bXVsYXRpb25CdWZmZXIsIGZsb2F0IHNjYWxlLCBib29sIGRpcmVjdE1vZGUpCiAg
ICAgOiBtX2FjY3VtdWxhdGlvbkJ1ZmZlcihhY2N1bXVsYXRpb25CdWZmZXIpCi0gICAgLCBtX2Fj
Y3VtdWxhdGlvblJlYWRJbmRleCgwKQotICAgICwgbV9pbnB1dFJlYWRJbmRleCgwKQogICAgICwg
bV9kaXJlY3RNb2RlKGRpcmVjdE1vZGUpCiB7CiAgICAgQVNTRVJUKGltcHVsc2VSZXNwb25zZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2
ZXJTdGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVy
U3RhZ2UuaAppbmRleCBjYTU0YTIwNDQ2ZTQ5ZGM1YTg5NzAwMDI1ZDhiZDkyODNkOThlM2NjLi5m
Yjk4MDBjYjUxNjZjYzFmNzU4MGM1NzJlODM5MGE2NDJlYmIxZTljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmgKQEAgLTY3
LDggKzY3LDggQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9wcmVEZWxheUJ1ZmZl
cjsKIAogICAgIFJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlciogbV9hY2N1bXVsYXRpb25CdWZmZXI7
Ci0gICAgaW50IG1fYWNjdW11bGF0aW9uUmVhZEluZGV4OwotICAgIGludCBtX2lucHV0UmVhZElu
ZGV4OworICAgIGludCBtX2FjY3VtdWxhdGlvblJlYWRJbmRleCB7IDAgfTsKKyAgICBpbnQgbV9p
bnB1dFJlYWRJbmRleCB7IDAgfTsKIAogICAgIHNpemVfdCBtX3ByZURlbGF5TGVuZ3RoOwogICAg
IHNpemVfdCBtX3Bvc3REZWxheUxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmNwcAppbmRleCBkNDAyNTM3NWZiNDg3ZjY4MjEz
YThhZGRkYzcxZTZkNDk0ZGQ1YTQyLi5lOGYxNWE2ZTc5NWU4ZTYwZTNmYmQzZDMyNjFjNzYwYTNm
YWYwZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJJ
bnB1dEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJi
SW5wdXRCdWZmZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
UmV2ZXJiSW5wdXRCdWZmZXI6OlJldmVyYklucHV0QnVmZmVyKHNpemVfdCBsZW5ndGgpCiAgICAg
OiBtX2J1ZmZlcihsZW5ndGgpCi0gICAgLCBtX3dyaXRlSW5kZXgoMCkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRCdWZmZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmgKaW5kZXgg
YWY5ZWQwMGQ3MzNlODQyYjZlZDNhNjQ3NDg1NDIwZDNjNzY3NzUzMy4uNjRlOWExMTRjMDVlYTE4
NjZjODY5YTRiMTk5NzU2YzMxM2YwMWZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9idWZmZXI7Ci0gICAgc2l6ZV90IG1f
d3JpdGVJbmRleDsKKyAgICBzaXplX3QgbV93cml0ZUluZGV4IHsgMCB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409612</attachid>
            <date>2020-09-24 12:31:54 -0700</date>
            <delta_ts>2020-09-24 13:10:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216939-20200924123153.patch</filename>
            <type>text/plain</type>
            <size>74306</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYwYTk2YmZiY2M4NzRk
ODZkMWU0OTQyNDFkNzAxY2VkOTI2YjUzOS4uNzMwZjY1MjdmMTc1YjlhM2FmMzg1OGIwN2I4MzU4
MWI4NmUxZmIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNiBAQAorMjAyMC0wOS0yNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBtb3JlIGlubGluZSBp
bml0aWFsaXphdGlvbiBhbmQgY29uc3RleHByIGluIFdlYkF1ZGlvIGNvZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjkzOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFVzZSBtb3JlIGlubGluZSBpbml0aWFs
aXphdGlvbiBhbmQgY29uc3RleHByIGluIFdlYkF1ZGlvIGNvZGUuCisKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHA6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6QXVkaW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb05v
ZGVPdXRwdXQ6OkF1ZGlvTm9kZU91dHB1dCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb05vZGVPdXRwdXQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1U
aW1lbGluZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3Vy
Y2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZTo6dXBkYXRlU2NoZWR1bGluZ0luZm8pOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b1N1bW1pbmdKdW5jdGlvbjo6QXVkaW9TdW1taW5nSnVuY3Rpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9C
aXF1YWRQcm9jZXNzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmlxdWFkUHJvY2Vzc29yOjpC
aXF1YWRQcm9jZXNzb3IpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJvY2Vz
c29yLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmlvZGljV2F2ZTo6UGVyaW9kaWNXYXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmlvZGljV2F2
ZTo6d2F2ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJpb2RpY1dhdmU6Om51bWJlck9mUGFydGlhbHNGb3JSYW5nZSBjb25zdCk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVBbmFs
eXNlcjo6UmVhbHRpbWVBbmFseXNlcik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNz
b3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlw
dFByb2Nlc3Nvck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vz
c29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXYXZlU2hhcGVyUHJvY2Vzc29yOjpXYXZlU2hhcGVy
UHJvY2Vzc29yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNz
b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5jcHA6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QXVkaW9QYW5uZXJOb2RlOjpXZWJLaXRBdWRpb1Bhbm5l
ck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2Rl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9CdXM6OkF1ZGlvQnVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yOjpBdWRpb0RTUEtlcm5lbFByb2Nlc3Nv
cik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0hhcmR3YXJlTGlzdGVuZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpBdWRpb0hhcmR3YXJlTGlzdGVu
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvUmVzYW1wbGVyOjpBdWRpb1Jlc2FtcGxlcik6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRp
b1Jlc2FtcGxlcktlcm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Jlc2FtcGxlcktl
cm5lbDo6QXVkaW9SZXNhbXBsZXJLZXJuZWwpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1
ZGlvUmVzYW1wbGVyS2VybmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Db25lLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9Db25lLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0Rpc3RhbmNlLmg6CisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vRG93blNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG93blNhbXBsZXI6OkRv
d25TYW1wbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEeW5hbWljc0NvbXByZXNzb3JLZXJuZWw6OkR5bmFtaWNzQ29tcHJlc3Nv
cktlcm5lbCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29yS2Vy
bmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBhbm5lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFcXVhbFBvd2VyUGFubmVyOjpFcXVhbFBvd2VyUGFubmVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZGVENvbnZv
bHZlcjo6RkZUQ29udm9sdmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFJURkRhdGFiYXNlOjpIUlRGRGF0YWJhc2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZF
bGV2YXRpb24uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGS2VybmVsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhSVEZLZXJuZWw6OkhSVEZLZXJuZWwpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hS
VEZLZXJuZWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhSVEZQYW5uZXI6OkhSVEZQYW5uZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0hSVEZQYW5uZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UGxhdGZvcm1NZWRpYVNlc3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUHVzaFB1bGxGSUZP
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hQdWxsRklGTzo6UHVzaFB1bGxGSUZPKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QdXNoUHVsbEZJRk8uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9SZXZlcmIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkFjY3Vt
dWxhdGlvbkJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJBY2N1bXVsYXRpb25C
dWZmZXI6OlJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
UmV2ZXJiQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252
b2x2ZXJTdGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJDb252b2x2ZXJTdGFnZTo6
UmV2ZXJiQ29udm9sdmVyU3RhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkNv
bnZvbHZlclN0YWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRCdWZm
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2ZXJiSW5wdXRCdWZmZXI6OlJldmVyYklucHV0
QnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5oOgor
CiAyMDIwLTA5LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
RGVjbGFyZSByZW5kZXIgcXVhbnR1bSBzaXplIGNvbnN0YW50IGluIEF1ZGlvVXRpbGl0aWVzLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJT
b3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmNwcAppbmRleCBkMTk5OWUzODgzMmY5N2U5ZTU5NzM5MjEzZDdhYWJiNWQ1
NjlmNjVhLi40NDI0MjY0MTI4MDg2ZTFmMTk2ODE3YWMyMTg1YTk0MThkZGNlZDAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChBdWRpb0J1ZmZlclNvdXJjZU5vZGUpOwogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFdlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZSk7CiAKLWNvbnN0
IGRvdWJsZSBEZWZhdWx0R3JhaW5EdXJhdGlvbiA9IDAuMDIwOyAvLyAyMG1zCitjb25zdGV4cHIg
ZG91YmxlIERlZmF1bHRHcmFpbkR1cmF0aW9uID0gMC4wMjA7IC8vIDIwbXMKIAogLy8gQXJiaXRy
YXJ5IHVwcGVyIGxpbWl0IG9uIHBsYXliYWNrIHJhdGUuCiAvLyBIaWdoZXIgdGhhbiBleHBlY3Rl
ZCByYXRlcyBjYW4gYmUgdXNlZnVsIHdoZW4gcGxheWluZyBiYWNrIG92ZXJzYW1wbGVkIGJ1ZmZl
cnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggZDM0NmRmODliMGUzZTQwMTI5ODYwMWQzY2U3OWQ1MjEy
Njc1Yzg5YS4uODEzMzZhNGQ4YjBkMTI2MDJjODNjOTYxYWRiZjc3ZDcxYzk0Mzk2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAKQEAgLTQxLDEwICs0MSw2IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7CiAKIEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpBdWRpb0Rl
c3RpbmF0aW9uTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIDogQXVkaW9Ob2Rl
KGNvbnRleHQpCi0gICAgLCBtX2N1cnJlbnRTYW1wbGVGcmFtZSgwKQotICAgICwgbV9pc1NpbGVu
dCh0cnVlKQotICAgICwgbV9pc0VmZmVjdGl2ZWx5UGxheWluZ0F1ZGlvKGZhbHNlKQotICAgICwg
bV9tdXRlZChmYWxzZSkKIHsKICAgICBzZXROb2RlVHlwZShOb2RlVHlwZURlc3RpbmF0aW9uKTsK
ICAgICBhZGRJbnB1dChtYWtlVW5pcXVlPEF1ZGlvTm9kZUlucHV0Pih0aGlzKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2Rl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2Rl
LmgKaW5kZXggYjliNGMzMGM2ZGIzYTBhZmM2MzJiZjFiMWY3MTlkMjM1NzVlNGNiYi4uYzU2NzBj
MzY0ODU3NWU4ODBlYjY4NWUwYTNhMTM1YzI5MjQzNzViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaApAQCAtNzEs
MTEgKzcxLDExIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUlzRWZmZWN0aXZlbHlQbGF5
aW5nQXVkaW8oKTsKIAogICAgIC8vIENvdW50cyB0aGUgbnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMg
cHJvY2Vzc2VkIGJ5IHRoZSBkZXN0aW5hdGlvbi4KLSAgICBzaXplX3QgbV9jdXJyZW50U2FtcGxl
RnJhbWU7CisgICAgc2l6ZV90IG1fY3VycmVudFNhbXBsZUZyYW1lIHsgMCB9OwogCi0gICAgYm9v
bCBtX2lzU2lsZW50OwotICAgIGJvb2wgbV9pc0VmZmVjdGl2ZWx5UGxheWluZ0F1ZGlvOwotICAg
IGJvb2wgbV9tdXRlZDsKKyAgICBib29sIG1faXNTaWxlbnQgeyB0cnVlIH07CisgICAgYm9vbCBt
X2lzRWZmZWN0aXZlbHlQbGF5aW5nQXVkaW8geyBmYWxzZSB9OworICAgIGJvb2wgbV9tdXRlZCB7
IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZU91dHB1dC5jcHAKaW5kZXggMzY3MzRk
YTExM2RmNGM3YzM4NTU1YTliYTU3ZmM0ZTFjYmE0Mjc1Ny4uNmI2ZGUwYmMyMzU0ODgyYWNlNDI2
MTJkNTUzYzcyMjcwMzNjODc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb05vZGVPdXRwdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Ob2RlT3V0cHV0LmNwcApAQCAtNDAsMTAgKzQwLDYgQEAgQXVkaW9Ob2Rl
T3V0cHV0OjpBdWRpb05vZGVPdXRwdXQoQXVkaW9Ob2RlKiBub2RlLCB1bnNpZ25lZCBudW1iZXJP
ZkNoYW5uZWxzKQogICAgIDogbV9ub2RlKG5vZGUpCiAgICAgLCBtX251bWJlck9mQ2hhbm5lbHMo
bnVtYmVyT2ZDaGFubmVscykKICAgICAsIG1fZGVzaXJlZE51bWJlck9mQ2hhbm5lbHMobnVtYmVy
T2ZDaGFubmVscykKLSAgICAsIG1faXNJblBsYWNlKGZhbHNlKQotICAgICwgbV9pc0VuYWJsZWQo
dHJ1ZSkKLSAgICAsIG1fcmVuZGVyaW5nRmFuT3V0Q291bnQoMCkKLSAgICAsIG1fcmVuZGVyaW5n
UGFyYW1GYW5PdXRDb3VudCgwKQogewogICAgIEFTU0VSVChudW1iZXJPZkNoYW5uZWxzIDw9IEF1
ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGVPdXRwdXQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlT3V0cHV0LmgKaW5kZXggNWNhZmY1Mjk2YmVj
YmJkNWM4MzU2MWY5Njc3N2M5N2ZmMDUzNmJlZi4uYjJiNzZlOTE5OTYyNWFmZDAzZTY1Yzc3ZTJk
NTY1ZGJhNzM2NzcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb05vZGVPdXRwdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvTm9kZU91dHB1dC5oCkBAIC0xMzgsMTYgKzEzOCwxNiBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxBdWRpb0J1cz4gbV9pbnRlcm5hbEJ1czsKICAgICBSZWZQdHI8QXVkaW9CdXM+IG1faW5Q
bGFjZUJ1czsKICAgICAvLyBJZiBtX2lzSW5QbGFjZSBpcyB0cnVlLCB1c2UgbV9pblBsYWNlQnVz
IGFzIHRoZSB2YWxpZCBBdWRpb0J1czsgSWYgZmFsc2UsIHVzZSB0aGUgZGVmYXVsdCBtX2ludGVy
bmFsQnVzLgotICAgIGJvb2wgbV9pc0luUGxhY2U7CisgICAgYm9vbCBtX2lzSW5QbGFjZSB7IGZh
bHNlIH07CiAKICAgICBIYXNoU2V0PEF1ZGlvTm9kZUlucHV0Kj4gbV9pbnB1dHM7CiAgICAgdHlw
ZWRlZiBIYXNoU2V0PEF1ZGlvTm9kZUlucHV0Kj46Oml0ZXJhdG9yIElucHV0c0l0ZXJhdG9yOwot
ICAgIGJvb2wgbV9pc0VuYWJsZWQ7CisgICAgYm9vbCBtX2lzRW5hYmxlZCB7IHRydWUgfTsKIAog
ICAgIC8vIEZvciB0aGUgcHVycG9zZXMgb2YgcmVuZGVyaW5nLCBrZWVwcyB0cmFjayBvZiB0aGUg
bnVtYmVyIG9mIGlucHV0cyBhbmQgQXVkaW9QYXJhbXMgd2UncmUgY29ubmVjdGVkIHRvLgogICAg
IC8vIFRoZXNlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgYXQgdGhlIHZlcnkgc3RhcnQg
b3IgZW5kIG9mIHRoZSByZW5kZXJpbmcgcXVhbnR1bS4KLSAgICB1bnNpZ25lZCBtX3JlbmRlcmlu
Z0Zhbk91dENvdW50OwotICAgIHVuc2lnbmVkIG1fcmVuZGVyaW5nUGFyYW1GYW5PdXRDb3VudDsK
KyAgICB1bnNpZ25lZCBtX3JlbmRlcmluZ0Zhbk91dENvdW50IHsgMCB9OworICAgIHVuc2lnbmVk
IG1fcmVuZGVyaW5nUGFyYW1GYW5PdXRDb3VudCB7IDAgfTsKIAogICAgIEhhc2hTZXQ8UmVmUHRy
PEF1ZGlvUGFyYW0+PiBtX3BhcmFtczsKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPEF1ZGlv
UGFyYW0+Pjo6aXRlcmF0b3IgUGFyYW1zSXRlcmF0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuaAppbmRleCBkZGVlNTYyMzU1
NTlkYjNhMmFkYmE5Y2Y3ODM1MDIxNDlhZmRhZjc2Li43MGY5ODM4YjNjZmZlOTNkNWU1NzMzMzdi
OWM4ZDI0MDkzZWQxN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmgKQEAgLTM5LDkgKzM5LDcgQEAgY2xhc3MgQXVkaW9Q
YXJhbVRpbWVsaW5lIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb1BhcmFtVGltZWxp
bmUpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEF1ZGlvUGFy
YW1UaW1lbGluZSgpCi0gICAgewotICAgIH0KKyAgICBBdWRpb1BhcmFtVGltZWxpbmUoKSA9IGRl
ZmF1bHQ7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRWYWx1ZUF0VGltZShmbG9hdCB2YWx1
ZSwgU2Vjb25kcyB0aW1lKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBsaW5lYXJSYW1wVG9WYWx1
ZUF0VGltZShmbG9hdCB0YXJnZXRWYWx1ZSwgU2Vjb25kcyBlbmRUaW1lLCBmbG9hdCBjdXJyZW50
VmFsdWUsIFNlY29uZHMgY3VycmVudFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCmluZGV4
IGQxZDQzMzA1ZTNiZTEyYzYzY2ZjNjgzMDI2MDBjYTQzMzA0M2M5MTcuLjFjMWNmNjkzYmI4YzNi
MTAwNDQ5YTkzMmU1YWI0YWZmOGRiYzkyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAKQEAg
LTQ3LDEyICs0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSk7CiAKLWNvbnN0IGRvdWJsZSBBdWRp
b1NjaGVkdWxlZFNvdXJjZU5vZGU6OlVua25vd25UaW1lID0gLTE7Ci0KIEF1ZGlvU2NoZWR1bGVk
U291cmNlTm9kZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKEJhc2VBdWRpb0NvbnRleHQmIGNv
bnRleHQpCiAgICAgOiBBdWRpb05vZGUoY29udGV4dCkKICAgICAsIEFjdGl2ZURPTU9iamVjdChj
b250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAsIG1fZW5kVGltZShVbmtub3du
VGltZSkKIHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKICAgICBtX3BlbmRpbmdBY3Rpdml0eSA9
IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwpAQCAtODAsMTUgKzc3LDE1IEBAIHZvaWQgQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlOjp1cGRhdGVTY2hlZHVsaW5nSW5mbyhzaXplX3QgcXVhbnR1
bUZyYW1lU2l6ZSwgQXVkCiAgICAgLy8gUm91bmQgdXAgaWYgdGhlIHN0YXJ0IHRpbWUgaXNuJ3Qg
b24gYSBmcmFtZSBib3VuZGFyeSBzbyB3ZSBkb24ndCBzdGFydCB0b28gZWFybHkuCiAgICAgc2l6
ZV90IHN0YXJ0RnJhbWUgPSBBdWRpb1V0aWxpdGllczo6dGltZVRvU2FtcGxlRnJhbWUobV9zdGFy
dFRpbWUsIHNhbXBsZVJhdGUsIEF1ZGlvVXRpbGl0aWVzOjpTYW1wbGVGcmFtZVJvdW5kaW5nOjpV
cCk7CiAgICAgc2l6ZV90IGVuZEZyYW1lID0gMDsKLSAgICBpZiAobV9lbmRUaW1lICE9IFVua25v
d25UaW1lKSB7CisgICAgaWYgKG1fZW5kVGltZSkgewogICAgICAgICAvLyBUaGUgZW5kIGZyYW1l
IGlzIHRoZSBlbmQgdGltZSByb3VuZGVkIHVwIGJlY2F1c2UgaXQgaXMgYW4gZXhjbHVzaXZlIHVw
cGVyCiAgICAgICAgIC8vIGJvdW5kIG9mIHRoZSBlbmQgdGltZS4gV2UgYWxzbyBuZWVkIHRvIHRh
a2UgY2FyZSB0byBoYW5kbGUgaHVnZSBlbmQKICAgICAgICAgLy8gdGltZXMgYW5kIGNsYW1wIHRo
ZSBjb3JyZXNwb25kaW5nIGZyYW1lIHRvIHRoZSBsYXJnZXN0IHNpemVfdCB2YWx1ZS4KLSAgICAg
ICAgZW5kRnJhbWUgPSBBdWRpb1V0aWxpdGllczo6dGltZVRvU2FtcGxlRnJhbWUobV9lbmRUaW1l
LCBzYW1wbGVSYXRlLCBBdWRpb1V0aWxpdGllczo6U2FtcGxlRnJhbWVSb3VuZGluZzo6VXApOwor
ICAgICAgICBlbmRGcmFtZSA9IEF1ZGlvVXRpbGl0aWVzOjp0aW1lVG9TYW1wbGVGcmFtZSgqbV9l
bmRUaW1lLCBzYW1wbGVSYXRlLCBBdWRpb1V0aWxpdGllczo6U2FtcGxlRnJhbWVSb3VuZGluZzo6
VXApOwogICAgIH0KIAogICAgIC8vIElmIHdlIGtub3cgdGhlIGVuZCB0aW1lIGFuZCBpdCdzIGFs
cmVhZHkgcGFzc2VkLCB0aGVuIGRvbid0IGJvdGhlciBkb2luZyBhbnkgbW9yZSByZW5kZXJpbmcg
dGhpcyBjeWNsZS4KLSAgICBpZiAobV9lbmRUaW1lICE9IFVua25vd25UaW1lICYmIGVuZEZyYW1l
IDw9IHF1YW50dW1TdGFydEZyYW1lKQorICAgIGlmIChtX2VuZFRpbWUgJiYgZW5kRnJhbWUgPD0g
cXVhbnR1bVN0YXJ0RnJhbWUpCiAgICAgICAgIGZpbmlzaCgpOwogCiAgICAgaWYgKG1fcGxheWJh
Y2tTdGF0ZSA9PSBVTlNDSEVEVUxFRF9TVEFURSB8fCBtX3BsYXliYWNrU3RhdGUgPT0gRklOSVNI
RURfU1RBVEUgfHwgc3RhcnRGcmFtZSA+PSBxdWFudHVtRW5kRnJhbWUpIHsKQEAgLTEyNyw3ICsx
MjQsNyBAQCB2b2lkIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6dXBkYXRlU2NoZWR1bGluZ0lu
Zm8oc2l6ZV90IHF1YW50dW1GcmFtZVNpemUsIEF1ZAogICAgIC8vIEhhbmRsZSBzaWxlbmNlIGFm
dGVyIHdlJ3JlIGRvbmUgcGxheWluZy4KICAgICAvLyBJZiB0aGUgZW5kIHRpbWUgaXMgc29tZXdo
ZXJlIGluIHRoZSBtaWRkbGUgb2YgdGhpcyB0aW1lIHF1YW50dW0sIHRoZW4gemVybyBvdXQgdGhl
CiAgICAgLy8gZnJhbWVzIGZyb20gdGhlIGVuZCB0aW1lIHRvIHRoZSB2ZXJ5IGVuZCBvZiB0aGUg
cXVhbnR1bS4KLSAgICBpZiAobV9lbmRUaW1lICE9IFVua25vd25UaW1lICYmIGVuZEZyYW1lID49
IHF1YW50dW1TdGFydEZyYW1lICYmIGVuZEZyYW1lIDwgcXVhbnR1bUVuZEZyYW1lKSB7CisgICAg
aWYgKG1fZW5kVGltZSAmJiBlbmRGcmFtZSA+PSBxdWFudHVtU3RhcnRGcmFtZSAmJiBlbmRGcmFt
ZSA8IHF1YW50dW1FbmRGcmFtZSkgewogICAgICAgICBzaXplX3QgemVyb1N0YXJ0RnJhbWUgPSBl
bmRGcmFtZSAtIHF1YW50dW1TdGFydEZyYW1lOwogICAgICAgICBzaXplX3QgZnJhbWVzVG9aZXJv
ID0gcXVhbnR1bUZyYW1lU2l6ZSAtIHplcm9TdGFydEZyYW1lOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUu
aAppbmRleCAwMDNlOWY4MWZlNTA3MzRjMGUzNDMwMjRmYWM0MmY3YTg2ZGI4YjJmLi5lOTA2MzI0
M2NkY2MwMmQwMTlkNTIwNTExYmIxMjFlNjI0Mjc1NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmgK
QEAgLTkwLDkgKzkwLDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIG1fZW5kVGltZSBpcyB0aGUgdGlt
ZSB0byBzdG9wIHBsYXlpbmcgYmFzZWQgb24gdGhlIGNvbnRleHQncyB0aW1lbGluZSAoMCBvciBh
IHRpbWUgbGVzcyB0aGFuIHRoZSBjb250ZXh0J3MgY3VycmVudCB0aW1lIG1lYW5zICJub3ciKS4K
ICAgICAvLyBJZiBpdCBoYXNuJ3QgYmVlbiBzZXQgZXhwbGljaXRseSwgdGhlbiB0aGUgc291bmQg
d2lsbCBub3Qgc3RvcCBwbGF5aW5nIChpZiBsb29waW5nKSBvciB3aWxsIHN0b3Agd2hlbiB0aGUg
ZW5kIG9mIHRoZSBBdWRpb0J1ZmZlcgogICAgIC8vIGhhcyBiZWVuIHJlYWNoZWQuCi0gICAgZG91
YmxlIG1fZW5kVGltZTsgLy8gaW4gc2Vjb25kcwotCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBV
bmtub3duVGltZTsKKyAgICBPcHRpb25hbDxkb3VibGU+IG1fZW5kVGltZTsgLy8gaW4gc2Vjb25k
cwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcAppbmRleCA3MzZj
ZTZiMTM0ZWQ5NzJmN2JkZjEyYWE5YjQyODQ5ZDIzNGE4N2M1Li4xMjhiNDdiNmIxM2IyMzY3NTU4
ZTg1ZWU3ZDVkNzkwMDVkYzE2YTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcApAQCAtMzYsNyArMzYsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEF1ZGlvU3VtbWluZ0p1bmN0aW9uOjpBdWRpb1N1bW1p
bmdKdW5jdGlvbihCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIDogbV9jb250ZXh0KGNv
bnRleHQpCi0gICAgLCBtX3JlbmRlcmluZ1N0YXRlTmVlZFVwZGF0aW5nKGZhbHNlKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWlu
Z0p1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWlu
Z0p1bmN0aW9uLmgKaW5kZXggNTY3MWY3MDc3OWFlZDMyMzBhMWYzMDIzYzM3N2EwZDI1YzAwZTgy
MC4uNTIzMjEyNzU5MTk5MTQ5YmY1MGQwM2EyMzMyODgwODgxYmE5MTg4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24u
aApAQCAtNzcsNyArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgVmVjdG9yPEF1ZGlvTm9kZU91dHB1
dCo+IG1fcmVuZGVyaW5nT3V0cHV0czsKIAogICAgIC8vIG1fcmVuZGVyaW5nU3RhdGVOZWVkVXBk
YXRpbmcga2VlcHMgdHJhY2sgaWYgbV9vdXRwdXRzIGlzIG1vZGlmaWVkLgotICAgIGJvb2wgbV9y
ZW5kZXJpbmdTdGF0ZU5lZWRVcGRhdGluZzsKKyAgICBib29sIG1fcmVuZGVyaW5nU3RhdGVOZWVk
VXBkYXRpbmcgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3BwCmlu
ZGV4IGNiNjcxY2FhYjYzZGViMTg4ZDg4MWU0N2I2NTc1NTVhZDU5NWRiZDkuLmMwNzc2OGUxNjMw
YzdjYjAyNmI3YzBiMTg0ZDI5NjdhM2QyZTlmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHAKQEAgLTM3LDEyICszNyw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gRklYTUU6IEFzIGEgcmVjdXJzaXZlIGxpbmVh
ciBmaWx0ZXIsIGRlcGVuZGluZyBvbiBpdHMgcGFyYW1ldGVycywgYSBiaXF1YWQgZmlsdGVyIGNh
biBoYXZlCi0vLyBhbiBpbmZpbml0ZSB0YWlsVGltZS4gSW4gcHJhY3RpY2UsIEJpcXVhZCBmaWx0
ZXJzIGRvIG5vdCB1c3VhbGx5IChleGNlcHQgZm9yIHZlcnkgaGlnaCByZXNvbmFuY2UgdmFsdWVz
KSAKLS8vIGhhdmUgYSB0YWlsVGltZSBvZiBsb25nZXIgdGhhbiBhcHByb3guIDIwMG1zLiBUaGlz
IHZhbHVlIGNvdWxkIHBvc3NpYmx5IGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlCi0vLyBzZXR0
aW5ncyBvZiB0aGUgQmlxdWFkLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNYXhCaXF1YWREZWxheVRp
bWUgPSAwLjI7Ci0KIHN0YXRpYyBib29sIGhhc0NvbnN0YW50VmFsdWVzKGZsb2F0KiB2YWx1ZXMs
IGludCBmcmFtZXNUb1Byb2Nlc3MpCiB7CiAgICAgLy8gRklYTUU6IFVzZSBTSU1EIHRvIG9wdGlt
aXplIHRoaXMuIFRoaXMgd291bGQgc3BlZWQgdXAgcHJvY2Vzc2luZyBieSBhIGZhY3RvciBvZiA0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nl
c3Nvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nlc3Nv
ci5jcHAKaW5kZXggZjMyMjVlMTcyYmQzNjAwZTY5MWI4NTI2ZWU3M2NhMmE1NDU5Njg0ZC4uZmZj
NjRmYmY1M2Q1ZWYzZjU4NjFjZDk3ZWM2MzcxMGE1YTAxZTQ0MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJvY2Vzc29yLmNwcApAQCAtMzQsMTMg
KzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIEJpcXVhZFByb2Nlc3Nvcjo6Qmlx
dWFkUHJvY2Vzc29yKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUs
IHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBib29sIGF1dG9Jbml0aWFsaXplKQogICAgIDogQXVk
aW9EU1BLZXJuZWxQcm9jZXNzb3Ioc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFubmVscykKLSAgICAs
IG1fdHlwZShCaXF1YWRGaWx0ZXJUeXBlOjpMb3dwYXNzKQogICAgICwgbV9wYXJhbWV0ZXIxKEF1
ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZnJlcXVlbmN5IiwgMzUwLjAsIDAuMCwgMC41ICog
c2FtcGxlUmF0ZSwgQXV0b21hdGlvblJhdGU6OkFSYXRlKSkKICAgICAsIG1fcGFyYW1ldGVyMihB
dWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgIlEiLCAxLCAtRkxUX01BWCwgRkxUX01BWCwgQXV0
b21hdGlvblJhdGU6OkFSYXRlKSkKICAgICAsIG1fcGFyYW1ldGVyMyhBdWRpb1BhcmFtOjpjcmVh
dGUoY29udGV4dCwgImdhaW4iLCAwLjAsIC1GTFRfTUFYLCA0MCAqIHN0ZDo6bG9nMTAoc3RkOjpu
dW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSwgQXV0b21hdGlvblJhdGU6OkFSYXRlKSkKICAg
ICAsIG1fcGFyYW1ldGVyNChBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImRldHVuZSIsIDAu
MCwgLTE1MzYwMCwgMTUzNjAwLCBBdXRvbWF0aW9uUmF0ZTo6QVJhdGUpKQotICAgICwgbV9maWx0
ZXJDb2VmZmljaWVudHNEaXJ0eSh0cnVlKQotICAgICwgbV9oYXNTYW1wbGVBY2N1cmF0ZVZhbHVl
cyhmYWxzZSkKIHsKICAgICBpZiAoYXV0b0luaXRpYWxpemUpCiAgICAgICAgIGluaXRpYWxpemUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJv
Y2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nlc3Nv
ci5oCmluZGV4IGMxMWU5YTNhZWYyNDQwZDE4NjMxZGJhOGJmYjYwMGRkMmQzMGZiNjEuLmEyNThl
Mjc1YzkyMWYxOWJiOTc5NjZmMGRhNGRiMzAzYjE3ZDEzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkUHJvY2Vzc29yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuaApAQCAtNjksNyArNjksNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGRVc2VBUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hv
dWxkVXNlQVJhdGU7IH0KIAogcHJpdmF0ZToKLSAgICBCaXF1YWRGaWx0ZXJUeXBlIG1fdHlwZTsK
KyAgICBCaXF1YWRGaWx0ZXJUeXBlIG1fdHlwZSB7IEJpcXVhZEZpbHRlclR5cGU6Okxvd3Bhc3Mg
fTsKIAogICAgIFJlZjxBdWRpb1BhcmFtPiBtX3BhcmFtZXRlcjE7CiAgICAgUmVmPEF1ZGlvUGFy
YW0+IG1fcGFyYW1ldGVyMjsKQEAgLTc3LDEwICs3NywxMCBAQCBwcml2YXRlOgogICAgIFJlZjxB
dWRpb1BhcmFtPiBtX3BhcmFtZXRlcjQ7CiAKICAgICAvLyBzbyBEU1Aga2VybmVscyBrbm93IHdo
ZW4gdG8gcmUtY29tcHV0ZSBjb2VmZmljaWVudHMKLSAgICBib29sIG1fZmlsdGVyQ29lZmZpY2ll
bnRzRGlydHk7CisgICAgYm9vbCBtX2ZpbHRlckNvZWZmaWNpZW50c0RpcnR5IHsgdHJ1ZSB9Owog
CiAgICAgLy8gU2V0IHRvIHRydWUgaWYgYW55IG9mIHRoZSBmaWx0ZXIgcGFyYW1ldGVycyBhcmUg
c2FtcGxlLWFjY3VyYXRlLgotICAgIGJvb2wgbV9oYXNTYW1wbGVBY2N1cmF0ZVZhbHVlczsKKyAg
ICBib29sIG1faGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMgeyBmYWxzZSB9OwogCiAgICAgYm9vbCBt
X3Nob3VsZFVzZUFSYXRlIHsgdHJ1ZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCmluZGV4IDZkNDc2MjI1MzU3ZGZmYzZmMjU3
NGJiYmU2NWFhYjMwZmQyZjI5MjYuLjExNGM2YzIxMmY0NDdmYmI5YTkzMmY4MTAxYWVlNGY1NWIz
MmI0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9s
dmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2
ZXJOb2RlLmNwcApAQCAtNDIsNyArNDIsNyBAQAogLy8gaXQncyBpbXBvcnRhbnQgbm90IHRvIG1h
a2UgdGhpcyB0b28gaGlnaC4gIEluIHRoaXMgY2FzZSA4MTkyIGlzIGEgZ29vZCB2YWx1ZS4KIC8v
IEJ1dCwgdGhlIFJldmVyYiBvYmplY3QgaXMgbXVsdGktdGhyZWFkZWQsIHNvIHdlIHdhbnQgdGhp
cyBhcyBoaWdoIGFzIHBvc3NpYmxlIHdpdGhvdXQgbG9zaW5nIHRvbyBtdWNoIGFjY3VyYWN5Lgog
Ly8gVmVyeSBsYXJnZSBGRlRzIHdpbGwgaGF2ZSB3b3JzZSBwaGFzZSBlcnJvcnMuIEdpdmVuIHRo
ZXNlIGNvbnN0cmFpbnRzIDMyNzY4IGlzIGEgZ29vZCBjb21wcm9taXNlLgotY29uc3Qgc2l6ZV90
IE1heEZGVFNpemUgPSAzMjc2ODsKK2NvbnN0ZXhwciBzaXplX3QgTWF4RkZUU2l6ZSA9IDMyNzY4
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApp
bmRleCBiNDk3OTVkZmE1MjY1YzdmZTBiNjgyOWY2Zjg5ZDYxNjQ0NDkwYjI4Li43NTFkZTkxOGNl
MWRjMzZhMWM3OWU5NTAzYzkyOGY0Zjg5ZjA5NmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCi1jb25zdCB1bnNpZ25lZCBFbmFibGVk
SW5wdXRDaGFubmVscyA9IDI7Citjb25zdGV4cHIgdW5zaWduZWQgRW5hYmxlZElucHV0Q2hhbm5l
bHMgPSAyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAppbmRleCAyY2E0NDMyNGQyZDBjODEzZmU4YjAxMmVk
ZTVhZWU0NGNiMmIzZTRhLi4yOGZkMGM0ZDA3ZDUyOTRmYTcyMDgwYmVlZjU4MDcwOTcwNThjZmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3BwCkBA
IC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKERlbGF5Tm9kZSk7CiAKLWNvbnN0IGRvdWJsZSBtYXhpbXVtQWxsb3dlZERlbGF5
VGltZSA9IDE4MDsKK2NvbnN0ZXhwciBkb3VibGUgbWF4aW11bUFsbG93ZWREZWxheVRpbWUgPSAx
ODA7CiAKIGlubGluZSBEZWxheU5vZGU6OkRlbGF5Tm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250
ZXh0LCBkb3VibGUgbWF4RGVsYXlUaW1lKQogICAgIDogQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUo
Y29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHlu
YW1pY3NDb21wcmVzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCmluZGV4IDU5ODNjNmRiMjJhZWYzMmIxYWNiNjRk
NzYzYWVkOTJmZDEyNmVhNWEuLjM3ZGY3YmMxZjc3NTQwYTkzMzI5M2NlZjEwN2Q3NTRkMmQ4MTZj
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3ND
b21wcmVzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9E
eW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIC8vIFNldCBvdXRwdXQgdG8gc3RlcmVvIGJ5IGRlZmF1
bHQuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVsdE51bWJlck9mT3V0cHV0Q2hhbm5lbHMg
PSAyOworc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBkZWZhdWx0TnVtYmVyT2ZPdXRwdXRDaGFu
bmVscyA9IDI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuY3BwCmluZGV4IGMxYzhmZWU1MDNmZjk4YTAyN2E0MjA0NzQ5OGZmYWQwZmJmMGE4NjcuLmEy
NTNiNjA4OTlmM2M4YzBhZWZiMWNiMDhlYmRjZjUzYmYyODFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5jcHAKQEAgLTM4LDggKzM4LDggQEAKICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+
CiAKIC8vIFRoZXNlIGFyZSBzb21ld2hhdCBhcmJpdHJhcnkgbGltaXRzLCBidXQgd2UgbmVlZCB0
byBkbyBzb21lIGtpbmQgb2Ygc2FuaXR5LWNoZWNraW5nLgotY29uc3QgdW5zaWduZWQgbWluU2Ft
cGxlUmF0ZSA9IDgwMDA7Ci1jb25zdCB1bnNpZ25lZCBtYXhTYW1wbGVSYXRlID0gMTkyMDAwOwor
Y29uc3RleHByIHVuc2lnbmVkIG1pblNhbXBsZVJhdGUgPSA4MDAwOworY29uc3RleHByIHVuc2ln
bmVkIG1heFNhbXBsZVJhdGUgPSAxOTIwMDA7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmluZGV4
IGFiZDZiNTI5NDUyY2IwMzE3OWNhNGI2Nzc4NDJlYzUwYTdiZmFiYzkuLjY2Yzk0NzYyNmIwZjQx
MTJkY2U3NTc3OTk2NzFhZDY3NGRhOTZmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKQEAgLTEzMyw3ICsxMzMsNiBAQCBSZWY8UGVy
aW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKGZsb2F0IHNhbXBsZVJhdGUp
CiBQZXJpb2RpY1dhdmU6OlBlcmlvZGljV2F2ZShmbG9hdCBzYW1wbGVSYXRlKQogICAgIDogbV9z
YW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX251bWJlck9mUmFuZ2VzKDAuNSArIE51bWJl
ck9mT2N0YXZlQmFuZHMgKiBsb2cyZihwZXJpb2RpY1dhdmVTaXplKCkpKQotICAgICwgbV9jZW50
c1BlclJhbmdlKENlbnRzUGVyUmFuZ2UpCiB7CiAgICAgZmxvYXQgbnlxdWlzdCA9IDAuNSAqIG1f
c2FtcGxlUmF0ZTsKICAgICBtX2xvd2VzdEZ1bmRhbWVudGFsRnJlcXVlbmN5ID0gbnlxdWlzdCAv
IG1heE51bWJlck9mUGFydGlhbHMoKTsKQEAgLTE1MCw3ICsxNDksNyBAQCB2b2lkIFBlcmlvZGlj
V2F2ZTo6d2F2ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeShmbG9hdCBmdW5kYW1lbnRhbEZy
ZXF1ZW5jeSwgZgogICAgIGZsb2F0IGNlbnRzQWJvdmVMb3dlc3RGcmVxdWVuY3kgPSBsb2cyZihy
YXRpbykgKiAxMjAwOwogCiAgICAgLy8gQWRkIG9uZSB0byByb3VuZC11cCB0byB0aGUgbmV4dCBy
YW5nZSBqdXN0IGluIHRpbWUgdG8gdHJ1bmNhdGUgcGFydGlhbHMgYmVmb3JlIGFsaWFzaW5nIG9j
Y3Vycy4KLSAgICBmbG9hdCBwaXRjaFJhbmdlID0gMSArIGNlbnRzQWJvdmVMb3dlc3RGcmVxdWVu
Y3kgLyBtX2NlbnRzUGVyUmFuZ2U7CisgICAgZmxvYXQgcGl0Y2hSYW5nZSA9IDEgKyBjZW50c0Fi
b3ZlTG93ZXN0RnJlcXVlbmN5IC8gQ2VudHNQZXJSYW5nZTsKIAogICAgIHBpdGNoUmFuZ2UgPSBz
dGQ6Om1heChwaXRjaFJhbmdlLCAwLjBmKTsKICAgICBwaXRjaFJhbmdlID0gc3RkOjptaW4ocGl0
Y2hSYW5nZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fbnVtYmVyT2ZSYW5nZXMgLSAxKSk7CkBAIC0x
NzYsNyArMTc1LDcgQEAgdW5zaWduZWQgUGVyaW9kaWNXYXZlOjptYXhOdW1iZXJPZlBhcnRpYWxz
KCkgY29uc3QKIHVuc2lnbmVkIFBlcmlvZGljV2F2ZTo6bnVtYmVyT2ZQYXJ0aWFsc0ZvclJhbmdl
KHVuc2lnbmVkIHJhbmdlSW5kZXgpIGNvbnN0CiB7CiAgICAgLy8gTnVtYmVyIG9mIGNlbnRzIGJl
bG93IG55cXVpc3Qgd2hlcmUgd2UgY3VsbCBwYXJ0aWFscy4KLSAgICBmbG9hdCBjZW50c1RvQ3Vs
bCA9IHJhbmdlSW5kZXggKiBtX2NlbnRzUGVyUmFuZ2U7CisgICAgZmxvYXQgY2VudHNUb0N1bGwg
PSByYW5nZUluZGV4ICogQ2VudHNQZXJSYW5nZTsKIAogICAgIC8vIEEgdmFsdWUgZnJvbSAwIC0+
IDEgcmVwcmVzZW50aW5nIHdoYXQgZnJhY3Rpb24gb2YgdGhlIHBhcnRpYWxzIHRvIGtlZXAuCiAg
ICAgZmxvYXQgY3VsbGluZ1NjYWxlID0gcG93KDIsIC1jZW50c1RvQ3VsbCAvIDEyMDApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmgKaW5kZXggNTUx
MzA2OTdiNTRiZmViOThlOGMwMDgzZGNmODA0ZDQ4ZWQwYWQ2My4uZjBiNTQ0YzdjM2MyNzM1MWEy
YzkyMTgyN2EyOWI4ZTQ1NGQxZWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1BlcmlvZGljV2F2ZS5oCkBAIC04Myw3ICs4Myw2IEBAIHByaXZhdGU6CiAKICAgICBm
bG9hdCBtX3NhbXBsZVJhdGU7CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZlJhbmdlczsKLSAgICBm
bG9hdCBtX2NlbnRzUGVyUmFuZ2U7CiAKICAgICAvLyBUaGUgbG93ZXN0IGZyZXF1ZW5jeSAoaW4g
SGVydHopIHdoZXJlIHBsYXliYWNrIHdpbGwgaW5jbHVkZSBhbGwgb2YgdGhlIHBhcnRpYWxzLgog
ICAgIC8vIFBsYXlpbmcgYmFjayBsb3dlciB0aGFuIHRoaXMgZnJlcXVlbmN5IHdpbGwgZ3JhZHVh
bGx5IGxvc2UgbW9yZSBoaWdoLWZyZXF1ZW5jeSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3BwCmluZGV4IDI5
OGQ1MWZmZWM5NTE0OWRkMDFhYmQxODhiMTNmZDU4Y2U0MjllZWMuLmM0ZGEzZmZmNTc1ZTI0YTVh
NWNhOTdmOGZjZWFiMGJmODJmMjQ2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcApAQCAtNDIsMjUgKzQyLDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgUmVhbHRpbWVBbmFseXNlcjo6RGVm
YXVsdFNtb290aGluZ1RpbWVDb25zdGFudCAgPSAwLjg7Ci1jb25zdCBkb3VibGUgUmVhbHRpbWVB
bmFseXNlcjo6RGVmYXVsdE1pbkRlY2liZWxzID0gLTEwMDsKLWNvbnN0IGRvdWJsZSBSZWFsdGlt
ZUFuYWx5c2VyOjpEZWZhdWx0TWF4RGVjaWJlbHMgPSAtMzA7Ci0KLWNvbnN0IHVuc2lnbmVkIFJl
YWx0aW1lQW5hbHlzZXI6OkRlZmF1bHRGRlRTaXplID0gMjA0ODsKLS8vIEFsbCBGRlQgaW1wbGVt
ZW50YXRpb25zIGFyZSBleHBlY3RlZCB0byBoYW5kbGUgcG93ZXItb2YtdHdvIHNpemVzIE1pbkZG
VFNpemUgPD0gc2l6ZSA8PSBNYXhGRlRTaXplLgotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVBbmFs
eXNlcjo6TWluRkZUU2l6ZSA9IDMyOwotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVBbmFseXNlcjo6
TWF4RkZUU2l6ZSA9IDMyNzY4OwotY29uc3QgdW5zaWduZWQgUmVhbHRpbWVBbmFseXNlcjo6SW5w
dXRCdWZmZXJTaXplID0gUmVhbHRpbWVBbmFseXNlcjo6TWF4RkZUU2l6ZSAqIDI7Ci0KIFJlYWx0
aW1lQW5hbHlzZXI6OlJlYWx0aW1lQW5hbHlzZXIoKQogICAgIDogbV9pbnB1dEJ1ZmZlcihJbnB1
dEJ1ZmZlclNpemUpCi0gICAgLCBtX3dyaXRlSW5kZXgoMCkKICAgICAsIG1fZG93bm1peEJ1cyhB
dWRpb0J1czo6Y3JlYXRlKDEsIEF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSkpCi0g
ICAgLCBtX2ZmdFNpemUoRGVmYXVsdEZGVFNpemUpCi0gICAgLCBtX21hZ25pdHVkZUJ1ZmZlcihE
ZWZhdWx0RkZUU2l6ZSAvIDIpCi0gICAgLCBtX3Ntb290aGluZ1RpbWVDb25zdGFudChEZWZhdWx0
U21vb3RoaW5nVGltZUNvbnN0YW50KQotICAgICwgbV9taW5EZWNpYmVscyhEZWZhdWx0TWluRGVj
aWJlbHMpCi0gICAgLCBtX21heERlY2liZWxzKERlZmF1bHRNYXhEZWNpYmVscykKIHsKICAgICBt
X2FuYWx5c2lzRnJhbWUgPSBtYWtlVW5pcXVlPEZGVEZyYW1lPihEZWZhdWx0RkZUU2l6ZSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5h
bHlzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNl
ci5oCmluZGV4IGIyNWJhOWNiZWIwZTU0Mzk5YmY4OGMxNzI1NDNmOWE4YzI1ZmQ4YjMuLjJlMDE5
MDllNTAxM2YyOWJkYTRlZDkwNWUzNDRlMDNjYzY3YWY0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC02NSwzNyArNjUs
MzggQEAgcHVibGljOgogICAgIC8vIFRoZSBhdWRpbyB0aHJlYWQgd3JpdGVzIGlucHV0IGRhdGEg
aGVyZS4KICAgICB2b2lkIHdyaXRlSW5wdXQoQXVkaW9CdXMqLCBzaXplX3QgZnJhbWVzVG9Qcm9j
ZXNzKTsKIAotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFNtb290aGluZ1RpbWVDb25z
dGFudDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRNaW5EZWNpYmVsczsKLSAgICBz
dGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRNYXhEZWNpYmVsczsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGRvdWJsZSBEZWZhdWx0U21vb3RoaW5nVGltZUNvbnN0YW50IHsgMC44IH07CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBkb3VibGUgRGVmYXVsdE1pbkRlY2liZWxzIHsgLTEwMCB9OworICAgIHN0
YXRpYyBjb25zdGV4cHIgZG91YmxlIERlZmF1bHRNYXhEZWNpYmVscyB7IC0zMCB9OwogCi0gICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIERlZmF1bHRGRlRTaXplOwotICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBNaW5GRlRTaXplOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNYXhGRlRTaXpl
OwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBJbnB1dEJ1ZmZlclNpemU7CisgICAgLy8gQWxs
IEZGVCBpbXBsZW1lbnRhdGlvbnMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZSBwb3dlci1vZi10d28g
c2l6ZXMgTWluRkZUU2l6ZSA8PSBzaXplIDw9IE1heEZGVFNpemUuCisgICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBEZWZhdWx0RkZUU2l6ZSB7IDIwNDggfTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIE1pbkZGVFNpemUgeyAzMiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgTWF4RkZUU2l6ZSB7IDMyNzY4IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCBJbnB1dEJ1ZmZlclNpemUgeyBNYXhGRlRTaXplICogMiB9OwogCiBwcml2YXRlOgogICAgIC8v
IFRoZSBhdWRpbyB0aHJlYWQgd3JpdGVzIHRoZSBpbnB1dCBhdWRpbyBoZXJlLgogICAgIEF1ZGlv
RmxvYXRBcnJheSBtX2lucHV0QnVmZmVyOwotICAgIHVuc2lnbmVkIG1fd3JpdGVJbmRleDsKKyAg
ICB1bnNpZ25lZCBtX3dyaXRlSW5kZXggeyAwIH07CiAKICAgICAvLyBBdWRpb0J1cyB1c2VkIGZv
ciBkb3dubWl4aW5nIGlucHV0IGF1ZGlvIGJlZm9yZSBjb3B5aW5nIGl0IHRvIG1faW5wdXRCdWZm
ZXIuCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBtX2Rvd25taXhCdXM7CiAgICAgCi0gICAgc2l6ZV90
IG1fZmZ0U2l6ZTsKKyAgICBzaXplX3QgbV9mZnRTaXplIHsgRGVmYXVsdEZGVFNpemUgfTsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RkZURnJhbWU+IG1fYW5hbHlzaXNGcmFtZTsKICAgICB2b2lkIGRv
RkZUQW5hbHlzaXNJZk5lY2Vzc2FyeSgpOwogICAgIAogICAgIC8vIGRvRkZUQW5hbHlzaXNJZk5l
Y2Vzc2FyeSgpIHN0b3JlcyB0aGUgZmxvYXRpbmctcG9pbnQgbWFnbml0dWRlIGFuYWx5c2lzIGRh
dGEgaGVyZS4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbV9tYWduaXR1ZGVCdWZmZXI7CisgICAgQXVk
aW9GbG9hdEFycmF5IG1fbWFnbml0dWRlQnVmZmVyIHsgRGVmYXVsdEZGVFNpemUgLyAyIH07CiAg
ICAgQXVkaW9GbG9hdEFycmF5JiBtYWduaXR1ZGVCdWZmZXIoKSB7IHJldHVybiBtX21hZ25pdHVk
ZUJ1ZmZlcjsgfQogCiAgICAgLy8gQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEgd2hpY2ggYXZlcmFn
ZXMgdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgbV9tYWduaXR1ZGVCdWZmZXIgd2l0aCB0aGUgY3Vy
cmVudCBhbmFseXNpcyBtYWduaXR1ZGUgZGF0YS4KLSAgICBkb3VibGUgbV9zbW9vdGhpbmdUaW1l
Q29uc3RhbnQ7ICAgIAorICAgIGRvdWJsZSBtX3Ntb290aGluZ1RpbWVDb25zdGFudCB7IERlZmF1
bHRTbW9vdGhpbmdUaW1lQ29uc3RhbnQgfTsKIAogICAgIC8vIFRoZSByYW5nZSB1c2VkIHdoZW4g
Y29udmVydGluZyB3aGVuIHVzaW5nIGdldEJ5dGVGcmVxdWVuY3lEYXRhKCkuIAotICAgIGRvdWJs
ZSBtX21pbkRlY2liZWxzOwotICAgIGRvdWJsZSBtX21heERlY2liZWxzOworICAgIGRvdWJsZSBt
X21pbkRlY2liZWxzIHsgRGVmYXVsdE1pbkRlY2liZWxzIH07CisgICAgZG91YmxlIG1fbWF4RGVj
aWJlbHMgeyBEZWZhdWx0TWF4RGVjaWJlbHMgfTsKIAogICAgIC8vIFdlIHNob3VsZCBvbmx5IGRv
IHRoZSBGRlQgYW5hbHlzaXMgb25jZSBwZXIgcmVuZGVyIHF1YW50dW0uCiAgICAgYm9vbCBtX3No
b3VsZERvRkZUQW5hbHlzaXMgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAppbmRleCA3ZmJkNjQzYmVi
MTgxMjk5NjRiMjQ5N2RjMDU1OGQ2Njg1M2U4MjgzLi45YWM3YWQzZmI3ZmU1MWEzZjcwMTdiNGRh
ZWRjZTM0MWRhNTAxMGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgUmVmPFNj
cmlwdFByb2Nlc3Nvck5vZGU+IFNjcmlwdFByb2Nlc3Nvck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9D
b250ZXh0JiBjb250ZXh0LAogU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9k
ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBzaXplX3QgYnVmZmVyU2l6ZSwgdW5zaWduZWQg
bnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dENoYW5uZWxzKQog
ICAgIDogQXVkaW9Ob2RlKGNvbnRleHQpCiAgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4dC5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgLCBtX2RvdWJsZUJ1ZmZlckluZGV4KDApCiAg
ICAgLCBtX2J1ZmZlclNpemUoYnVmZmVyU2l6ZSkKLSAgICAsIG1fYnVmZmVyUmVhZFdyaXRlSW5k
ZXgoMCkKICAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzKG51bWJlck9mSW5wdXRDaGFubmVs
cykKICAgICAsIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyhudW1iZXJPZk91dHB1dENoYW5uZWxz
KQogICAgICwgbV9pbnRlcm5hbElucHV0QnVzKEF1ZGlvQnVzOjpjcmVhdGUobnVtYmVyT2ZJbnB1
dENoYW5uZWxzLCBBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUsIGZhbHNlKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JO
b2RlLmgKaW5kZXggMzdlZjlhOTBlNzliODZmOGU3NTc3MTZhNjVkMWU2NWM0NGMwM2U4ZC4uZjcx
MjcwZGRiNmRlYWIwZjIyYWRiM2IzNTIyZDEyMmZmOWJjYmE3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTgx
LDEyICs4MSwxMiBAQCBwcml2YXRlOgogICAgIC8vIERvdWJsZSBidWZmZXJpbmcKICAgICB1bnNp
Z25lZCBkb3VibGVCdWZmZXJJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fZG91YmxlQnVmZmVySW5k
ZXg7IH0KICAgICB2b2lkIHN3YXBCdWZmZXJzKCkgeyBtX2RvdWJsZUJ1ZmZlckluZGV4ID0gMSAt
IG1fZG91YmxlQnVmZmVySW5kZXg7IH0KLSAgICB1bnNpZ25lZCBtX2RvdWJsZUJ1ZmZlckluZGV4
OworICAgIHVuc2lnbmVkIG1fZG91YmxlQnVmZmVySW5kZXggeyAwIH07CiAgICAgVmVjdG9yPFJl
ZlB0cjxBdWRpb0J1ZmZlcj4+IG1faW5wdXRCdWZmZXJzOwogICAgIFZlY3RvcjxSZWZQdHI8QXVk
aW9CdWZmZXI+PiBtX291dHB1dEJ1ZmZlcnM7CiAKICAgICBzaXplX3QgbV9idWZmZXJTaXplOwot
ICAgIHVuc2lnbmVkIG1fYnVmZmVyUmVhZFdyaXRlSW5kZXg7CisgICAgdW5zaWduZWQgbV9idWZm
ZXJSZWFkV3JpdGVJbmRleCB7IDAgfTsKIAogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZJbnB1dENo
YW5uZWxzOwogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3Iu
Y3BwCmluZGV4IDc3NTY0OTlkZTQ0NTU2MGI4Y2E3YTM3NDkwMWE5MGZmMWM3MDM4MDIuLjY0MGU4
NjdmYWRmZjYyZGNmMDI3NzczOGFhYWEwN2Q2MDZkYjI3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmNwcApAQCAt
MzQsNyArMzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBXYXZlU2hhcGVyUHJvY2Vz
c29yOjpXYXZlU2hhcGVyUHJvY2Vzc29yKGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJP
ZkNoYW5uZWxzKQogICAgIDogQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3Ioc2FtcGxlUmF0ZSwgbnVt
YmVyT2ZDaGFubmVscykKLSAgICAsIG1fb3ZlcnNhbXBsZShPdmVyU2FtcGxlTm9uZSkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVy
UHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQ
cm9jZXNzb3IuaAppbmRleCA0MmQwY2IzOThlNTRkMDgyZmYxMGRhNjliYmFhZjI4MGRkNTk5MDdi
Li4zMDEzNjkzZWNiMTFhYzZkZTI4ZjJlZTYwZTE2NDJjMDJmZWU5MmI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3IuaApA
QCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIC8vIG1fY3VydmUgcmVwcmVzZW50cyB0aGUg
bm9uLWxpbmVhciBzaGFwaW5nIGN1cnZlLgogICAgIFJlZlB0cjxGbG9hdDMyQXJyYXk+IG1fY3Vy
dmU7CiAKLSAgICBPdmVyU2FtcGxlVHlwZSBtX292ZXJzYW1wbGU7CisgICAgT3ZlclNhbXBsZVR5
cGUgbV9vdmVyc2FtcGxlIHsgT3ZlclNhbXBsZU5vbmUgfTsKIAogICAgIC8vIFRoaXMgc3luY2hy
b25pemVzIHByb2Nlc3MoKSB3aXRoIHNldEN1cnZlKCkuCiAgICAgbXV0YWJsZSBMb2NrIG1fcHJv
Y2Vzc011dGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb0NvbnRleHQuY3BwCmluZGV4IGIwYzg0MGE5NTMxYWZmM2NkMDkxMjA3Njg0MjBk
ZDBkNzNiYzNjMDMuLmY3MjZhNzgyYzI1MmE4OGFiZTI4MjE4OGJjZWFkYTFkNDZmYzU1ZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlv
Q29udGV4dC5jcHAKQEAgLTUxLDcgKzUxLDcgQEAKICNpbmNsdWRlICJNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU9wdGlvbnMuaCIKICNlbmRpZgogCi1jb25zdCB1bnNpZ25lZCBNYXhQZXJpb2RpY1dh
dmVMZW5ndGggPSA0MDk2OworY29uc3RleHByIHVuc2lnbmVkIE1heFBlcmlvZGljV2F2ZUxlbmd0
aCA9IDQwOTY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwCmluZGV4
IDg0NzlhZGU5ZGMxNDhlMjdlODNlMDFjNzg1ZGRhMzNhNDg4ODVlYWYuLjJmNmI4ODZkOWVmYzEx
Y2M1OTE5M2JlNzcyYjkwY2FkNTViNDYyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5jcHAKQEAgLTUwLDgg
KzUwLDYgQEAgc3RhdGljIHZvaWQgZml4TkFOcyhkb3VibGUgJngpCiAKIFdlYktpdEF1ZGlvUGFu
bmVyTm9kZTo6V2ViS2l0QXVkaW9QYW5uZXJOb2RlKFdlYktpdEF1ZGlvQ29udGV4dCYgY29udGV4
dCkKICAgICA6IFBhbm5lck5vZGVCYXNlKGNvbnRleHQpCi0gICAgLCBtX3Bhbm5pbmdNb2RlbChQ
YW5uaW5nTW9kZWxUeXBlOjpIUlRGKQotICAgICwgbV9jb25uZWN0aW9uQ291bnQoMCkKIHsKICAg
ICBzZXROb2RlVHlwZShOb2RlVHlwZVBhbm5lcik7CiAgICAgaW5pdGlhbGl6ZURlZmF1bHROb2Rl
T3B0aW9ucygyLCBDaGFubmVsQ291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0
YXRpb246OlNwZWFrZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5oCmluZGV4IDRiZTFjYTYzOWJmMmE2Zjk0YWQ4
MDAyNmExZjkwZGVmM2U3YmU5NjcuLmFiNjA2NzU0YTlhZDk2YmEwNWNjZmMwODU0ODc3ZDY1YmQw
YTdlNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0
QXVkaW9QYW5uZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb1Bhbm5lck5vZGUuaApAQCAtMTI5LDcgKzEyOSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBub3RpZnlBdWRpb1NvdXJjZXNDb25uZWN0ZWRUb05vZGUoQXVkaW9Ob2RlKiwgSGFzaFNl
dDxBdWRpb05vZGUqPiYgdmlzaXRlZE5vZGVzKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYW5u
ZXI+IG1fcGFubmVyOwotICAgIFBhbm5pbmdNb2RlbFR5cGUgbV9wYW5uaW5nTW9kZWw7CisgICAg
UGFubmluZ01vZGVsVHlwZSBtX3Bhbm5pbmdNb2RlbCB7IFBhbm5pbmdNb2RlbFR5cGU6OkhSVEYg
fTsKIAogICAgIEZsb2F0UG9pbnQzRCBtX3Bvc2l0aW9uOwogICAgIEZsb2F0UG9pbnQzRCBtX29y
aWVudGF0aW9uOwpAQCAtMTQyLDcgKzE0Miw3IEBAIHByaXZhdGU6CiAgICAgLy8gSFJURiBEYXRh
YmFzZSBsb2FkZXIKICAgICBSZWZQdHI8SFJURkRhdGFiYXNlTG9hZGVyPiBtX2hydGZEYXRhYmFz
ZUxvYWRlcjsKIAotICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbkNvdW50OworICAgIHVuc2lnbmVk
IG1fY29ubmVjdGlvbkNvdW50IHsgMCB9OwogCiAgICAgLy8gU3luY2hyb25pemUgcHJvY2Vzcygp
IGFuZCBzZXRQYW5uaW5nTW9kZWwoKSB3aGljaCBjYW4gY2hhbmdlIHRoZSBwYW5uZXIuCiAgICAg
bXV0YWJsZSBMb2NrIG1fcGFubmVyTXV0ZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0J1cy5jcHAKaW5kZXggMTAzZWFjMzg1YWFmMGY3OWVmNWYzNWZmNWMxMWViYzk3YjY2
ZmYxZi4uNzM2ZGEzYWZjZjJjNWUxYmNkNmEzNGU3YTg4ZWQ3ZDE0YWM3YTQ5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogCi1jb25z
dCB1bnNpZ25lZCBNYXhCdXNDaGFubmVscyA9IDMyOworY29uc3RleHByIHVuc2lnbmVkIE1heEJ1
c0NoYW5uZWxzID0gMzI7CiAKIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9CdXM6OmNyZWF0ZSh1bnNp
Z25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbGVuZ3RoLCBib29sIGFsbG9jYXRlKQogewpA
QCAtNTcsOSArNTcsNiBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvQnVzOjpjcmVhdGUodW5zaWdu
ZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0aCwgYm9vbAogCiBBdWRpb0J1czo6QXVk
aW9CdXModW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0aCwgYm9vbCBhbGxv
Y2F0ZSkKICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAsIG1fYnVzR2FpbigxKQotICAgICwg
bV9pc0ZpcnN0VGltZSh0cnVlKQotICAgICwgbV9zYW1wbGVSYXRlKDApCiB7CiAgICAgbV9jaGFu
bmVscy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bWJlck9mQ2hhbm5lbHMpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA3MThmNjQ2MDJhYmUzZWMwZDI2
MmFhYmE3Mzc1NzIzNWY4YjA1N2ZkLi5hNWUyYmRjOWY2MjRmZWNjMWVlYjM4YzJmMzU3YjhmNjE5
NGQ4ZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTE2
MCwxMCArMTYwLDEwIEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbGVuZ3RoOwogICAgIFZlY3Rv
cjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9DaGFubmVsPj4gbV9jaGFubmVsczsKICAgICBpbnQgbV9s
YXlvdXQ7Ci0gICAgZmxvYXQgbV9idXNHYWluOworICAgIGZsb2F0IG1fYnVzR2FpbiB7IDEgfTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GbG9hdEFycmF5PiBtX2RlemlwcGVyR2FpblZhbHVl
czsKLSAgICBib29sIG1faXNGaXJzdFRpbWU7Ci0gICAgZmxvYXQgbV9zYW1wbGVSYXRlOyAvLyAw
LjAgaWYgdW5rbm93biBvciBOL0EKKyAgICBib29sIG1faXNGaXJzdFRpbWUgeyAwIH07CisgICAg
ZmxvYXQgbV9zYW1wbGVSYXRlIHsgMCB9OyAvLyAwLjAgaWYgdW5rbm93biBvciBOL0EKIH07CiAK
IH0gLy8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9DaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5u
ZWwuaAppbmRleCA3Yjk4OTNkMzhhYzQxNzQ1MzE3NDFiNzcyNGM2ZmYyYWJkMDFkZjkwLi5hODlh
ZmIwMTU1MzM0ZjFkNTI1YjJmODRmNGVkOWQ2OWM4MmVmNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNTQsMTkgKzU0LDEyIEBAIHB1Ymxp
YzoKICAgICAvLyBNYW5hZ2Ugc3RvcmFnZSBmb3IgdXMuCiAgICAgZXhwbGljaXQgQXVkaW9DaGFu
bmVsKHNpemVfdCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQotICAgICAgICAs
IG1fcmF3UG9pbnRlcigwKQotICAgICAgICAsIG1fc2lsZW50KHRydWUpCiAgICAgewogICAgICAg
ICBtX21lbUJ1ZmZlciA9IG1ha2VVbmlxdWU8QXVkaW9GbG9hdEFycmF5PihsZW5ndGgpOwogICAg
IH0KIAogICAgIC8vIEEgImJsYW5rIiBhdWRpbyBjaGFubmVsIC0tIG11c3QgY2FsbCBzZXQoKSBi
ZWZvcmUgaXQncyB1c2VmdWwuLi4KLSAgICBBdWRpb0NoYW5uZWwoKQotICAgICAgICA6IG1fbGVu
Z3RoKDApCi0gICAgICAgICwgbV9yYXdQb2ludGVyKDApCi0gICAgICAgICwgbV9zaWxlbnQodHJ1
ZSkKLSAgICB7Ci0gICAgfQorICAgIEF1ZGlvQ2hhbm5lbCgpID0gZGVmYXVsdDsKIAogICAgIC8v
IFJlZGVmaW5lIHRoZSBtZW1vcnkgZm9yIHRoaXMgY2hhbm5lbC4KICAgICAvLyBzdG9yYWdlIHJl
cHJlc2VudHMgZXh0ZXJuYWwgbWVtb3J5IG5vdCBtYW5hZ2VkIGJ5IHRoaXMgb2JqZWN0LgpAQCAt
MTI5LDExICsxMjIsMTEgQEAgcHVibGljOgogICAgIGZsb2F0IG1heEFic1ZhbHVlKCkgY29uc3Q7
CiAKIHByaXZhdGU6Ci0gICAgc2l6ZV90IG1fbGVuZ3RoOworICAgIHNpemVfdCBtX2xlbmd0aCB7
IDAgfTsKIAotICAgIGZsb2F0KiBtX3Jhd1BvaW50ZXI7CisgICAgZmxvYXQqIG1fcmF3UG9pbnRl
ciB7IG51bGxwdHIgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GbG9hdEFycmF5PiBtX21l
bUJ1ZmZlcjsKLSAgICBib29sIG1fc2lsZW50OworICAgIGJvb2wgbV9zaWxlbnQgeyB0cnVlIH07
CiB9OwogCiB9IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcAppbmRleCAxZDVkNTgxOGU4NTNj
ZDkxYzJjMDU0ZDMyZWJiNGJkZDc5M2ZjZTI1Li45NmZjMjU1Njk1OWVlNzA4N2ZjOWE1Mzg4ODYz
NThjNTMzMjEyYzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwCkBAIC00MSw3ICs0MSw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIC8vIHNldE51bWJlck9mQ2hhbm5lbHMoKSBtYXkgbGF0ZXIgYmUgY2Fs
bGVkIGlmIHRoZSBvYmplY3QgaXMgbm90IHlldCBpbiBhbiAiaW5pdGlhbGl6ZWQiIHN0YXRlLgog
QXVkaW9EU1BLZXJuZWxQcm9jZXNzb3I6OkF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yKGZsb2F0IHNh
bXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMpCiAgICAgOiBBdWRpb1Byb2Nlc3Nv
cihzYW1wbGVSYXRlLCBudW1iZXJPZkNoYW5uZWxzKQotICAgICwgbV9oYXNKdXN0UmVzZXQodHJ1
ZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9EU1BLZXJuZWxQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmgKaW5kZXggZTQ5YzVhMzZlOGUyOWM1MTc2MzNlOTdmZGNi
MTE5YWRhMTJhMzJiNy4uNDk4NTkxNzhkYWVkZGRlOTA3NDJkZDc0NzU3Yzc2MGU3OWY5OTEzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQ
cm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0RTUEtl
cm5lbFByb2Nlc3Nvci5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgog
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9EU1BLZXJuZWw+PiBtX2tlcm5lbHM7Ci0g
ICAgYm9vbCBtX2hhc0p1c3RSZXNldDsKKyAgICBib29sIG1faGFzSnVzdFJlc2V0IHsgdHJ1ZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5jcHAKaW5kZXggNDNhZWQ2
ODg3OTI5ZTUzYzEzNzZkNjdiMTY0NGFiZTFhMmJjZDJhNC4uOWQ5ZWIxNzk1OWY4ZTBlZmY0OWQ2
YWRhOTYzNzU3YTBmMzQ5MWU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0hhcmR3YXJlTGlzdGVuZXIuY3BwCkBAIC0zNyw4ICszNyw2IEBAIFJl
ZjxBdWRpb0hhcmR3YXJlTGlzdGVuZXI+IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Y3JlYXRlKENs
aWVudCYgY2xpZW50KQogCiBBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OkF1ZGlvSGFyZHdhcmVMaXN0
ZW5lcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1fYWN0
aXZpdHkoQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6VW5rbm93bikKLSAgICAsIG1fb3V0cHV0
RGV2aWNlU3VwcG9ydHNMb3dQb3dlck1vZGUoZmFsc2UpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBtX291dHB1dERldmljZVN1cHBvcnRzTG93UG93ZXJNb2RlID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0
ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3Rl
bmVyLmgKaW5kZXggOTAzMDM5YzljYjUzZjRjNWQ0OTkwZmQ4ZjI5OTNlN2E1NDY1YWI4ZC4uMDMx
ZmExYzFjNzQzNDc1YzI0M2E1NzkxZGNiMDA5ODkxMzg5OTBjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmgKQEAgLTYw
LDggKzYwLDggQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0T3V0cHV0RGV2aWNlU3VwcG9ydHNM
b3dQb3dlck1vZGUoYm9vbCBzdXBwb3J0KSB7IG1fb3V0cHV0RGV2aWNlU3VwcG9ydHNMb3dQb3dl
ck1vZGUgPSBzdXBwb3J0OyB9CiAKICAgICBDbGllbnQmIG1fY2xpZW50OwotICAgIEF1ZGlvSGFy
ZHdhcmVBY3Rpdml0eVR5cGUgbV9hY3Rpdml0eTsKLSAgICBib29sIG1fb3V0cHV0RGV2aWNlU3Vw
cG9ydHNMb3dQb3dlck1vZGU7CisgICAgQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZSBtX2FjdGl2
aXR5IHsgQXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6VW5rbm93biB9OworICAgIGJvb2wgbV9v
dXRwdXREZXZpY2VTdXBwb3J0c0xvd1Bvd2VyTW9kZSB7IGZhbHNlIH07CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5jcHAKaW5kZXgg
Mjg0YzA1NDk0MzI1OTM0NGVhY2UzMjQxOGFkYTliODMwM2RhMmU0NC4uZGU1MDhjYzZlZjRhNWIw
MWJkNGViMjI0NzQ1YjdlZjI4Mjg0MGY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVyLmNwcApAQCAtMzQsMTcgKzM0LDEzIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIEF1ZGlvUmVzYW1wbGVyOjpNYXhSYXRlID0g
OC4wOwotCiBBdWRpb1Jlc2FtcGxlcjo6QXVkaW9SZXNhbXBsZXIoKQotICAgIDogbV9yYXRlKDEu
MCkKIHsKICAgICBtX2tlcm5lbHMuYXBwZW5kKG1ha2VVbmlxdWU8QXVkaW9SZXNhbXBsZXJLZXJu
ZWw+KHRoaXMpKTsKICAgICBtX3NvdXJjZUJ1cyA9IEF1ZGlvQnVzOjpjcmVhdGUoMSwgMCwgZmFs
c2UpOwogfQogCiBBdWRpb1Jlc2FtcGxlcjo6QXVkaW9SZXNhbXBsZXIodW5zaWduZWQgbnVtYmVy
T2ZDaGFubmVscykKLSAgICA6IG1fcmF0ZSgxLjApCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG51bWJlck9mQ2hhbm5lbHM7ICsraSkKICAgICAgICAgbV9rZXJuZWxzLmFwcGVuZCht
YWtlVW5pcXVlPEF1ZGlvUmVzYW1wbGVyS2VybmVsPih0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaAppbmRleCAyMDE2YmFmZjdjODhkZjE4
YWY1ZDM1MmMzMDFmNWZmNDM3Njg5ZjdhLi4xMGRkN2EwMjg4MjI3ZmM2MzExYjU5NGY2ZDE4YThl
ZmExNDdmNDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Jlc2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVz
YW1wbGVyLmgKQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYXRlKGRv
dWJsZSByYXRlKTsKICAgICBkb3VibGUgcmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmF0ZTsgfQog
Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNYXhSYXRlOworICAgIHN0YXRpYyBjb25zdGV4cHIg
ZG91YmxlIE1heFJhdGUgeyA4IH07CiAKIHByaXZhdGU6Ci0gICAgZG91YmxlIG1fcmF0ZTsKKyAg
ICBkb3VibGUgbV9yYXRlIHsgMSB9OwogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9S
ZXNhbXBsZXJLZXJuZWw+PiBtX2tlcm5lbHM7CiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBtX3NvdXJj
ZUJ1czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Jlc2FtcGxlcktlcm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Jlc2FtcGxlcktlcm5lbC5jcHAKaW5kZXggMzc5OGQ3ZWVkM2U1ZTM5ODUxZjAyYmExOWMxYmE4
MzcxMWNmNDExNi4uZWQ4MjUyMzkyZDUzYzNmZDdmZDU1MDNkODAxM2Y3ZmI2OGM5ODczMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXJLZXJu
ZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVy
S2VybmVsLmNwcApAQCAtMzgsOCArMzgsNiBAQCBBdWRpb1Jlc2FtcGxlcktlcm5lbDo6QXVkaW9S
ZXNhbXBsZXJLZXJuZWwoQXVkaW9SZXNhbXBsZXIqIHJlc2FtcGxlcikKICAgICA6IG1fcmVzYW1w
bGVyKHJlc2FtcGxlcikKICAgICAvLyBUaGUgYnVmZmVyIHNpemUgbXVzdCBiZSBsYXJnZSBlbm91
Z2ggdG8gaG9sZCB1cCB0byB0d28gZXh0cmEgc2FtcGxlIGZyYW1lcyBmb3IgdGhlIGxpbmVhciBp
bnRlcnBvbGF0aW9uLgogICAgICwgbV9zb3VyY2VCdWZmZXIoMiArIHN0YXRpY19jYXN0PGludD4o
QXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1YW50dW1TaXplICogQXVkaW9SZXNhbXBsZXI6Ok1heFJh
dGUpKQotICAgICwgbV92aXJ0dWFsUmVhZEluZGV4KDAuMCkKLSAgICAsIG1fZmlsbEluZGV4KDAp
CiB7CiAgICAgbV9sYXN0VmFsdWVzWzBdID0gMC4wZjsKICAgICBtX2xhc3RWYWx1ZXNbMV0gPSAw
LjBmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNh
bXBsZXJLZXJuZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1w
bGVyS2VybmVsLmgKaW5kZXggZDEzZmU1NzM0MjE5MTRmM2JmNGZhMDNhNWNhNzFlZDkwNTdlODY4
NC4uZDg3MDdlMTg3MzlmNzgwNzM2OWMwYThhYmU1Yzg0ZDY2YTk1N2NkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXJLZXJuZWwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlcktlcm5lbC5oCkBA
IC02MywxNCArNjMsMTQgQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9zb3VyY2VC
dWZmZXI7CiAgICAgCiAgICAgLy8gVGhpcyBpcyBhIChmbG9hdGluZyBwb2ludCkgcmVhZCBpbmRl
eCBvbiB0aGUgaW5wdXQgc3RyZWFtLgotICAgIGRvdWJsZSBtX3ZpcnR1YWxSZWFkSW5kZXg7Cisg
ICAgZG91YmxlIG1fdmlydHVhbFJlYWRJbmRleCB7IDAgfTsKIAogICAgIC8vIFdlIG5lZWQgdG8g
aGF2ZSBjb250aW51aXR5IGZyb20gb25lIGNhbGwgb2YgcHJvY2VzcygpIHRvIHRoZSBuZXh0Lgog
ICAgIC8vIG1fbGFzdFZhbHVlcyBzdG9yZXMgdGhlIGxhc3QgdHdvIHNhbXBsZSB2YWx1ZXMgZnJv
bSB0aGUgbGFzdCBjYWxsIHRvIHByb2Nlc3MoKS4KICAgICAvLyBtX2ZpbGxJbmRleCByZXByZXNl
bnRzIGhvdyBtYW55IGJ1ZmZlcmVkIHNhbXBsZXMgd2UgaGF2ZSB3aGljaCBjYW4gYmUgYXMgbWFu
eSBhcyAyLgogICAgIC8vIEZvciB0aGUgZmlyc3QgY2FsbCB0byBwcm9jZXNzKCkgKG9yIGFmdGVy
IHJlc2V0KCkpIHRoZXJlIHdpbGwgYmUgbm8gYnVmZmVyZWQgc2FtcGxlcy4KICAgICBmbG9hdCBt
X2xhc3RWYWx1ZXNbMl07Ci0gICAgdW5zaWduZWQgbV9maWxsSW5kZXg7CisgICAgdW5zaWduZWQg
bV9maWxsSW5kZXggeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcAppbmRleCAwNWY5ZTYyZjFiMzE1Y2Q0Zjdj
MGYxNmNhZWUzMjNkM2QxMjRlMTViLi40ZDkxNDg5YmUwNjdlYjkwZjNjNzY5ZTU5NzY5MjFkMjdm
NWYwYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHAKQEAgLTQ3
LDcgKzQ3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRShBQ0NFTEVSQVRFKQot
Y29uc3QgaW50IGtCdWZmZXJTaXplID0gMTAyNDsKK2NvbnN0ZXhwciBpbnQga0J1ZmZlclNpemUg
PSAxMDI0OwogI2VuZGlmCiAKIEJpcXVhZDo6QmlxdWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0NvbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQ29uZS5jcHAKaW5kZXggYzg3ZGM3YjRiN2M5YTJlNzBlYWE5OTc5NTdlZDZjODJkMTc4
MzNkNy4uZjU5NDJlYTA2ZDE0YTMzYzJmYjgxYzI2YTMzZGNkZWRjNGU0ZmNkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29uZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29uZS5jcHAKQEAgLTM1LDEyICszNSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotQ29uZUVmZmVjdDo6Q29uZUVmZmVjdCgpCi0gICAgOiBtX2lubmVy
QW5nbGUoMzYwLjApCi0gICAgLCBtX291dGVyQW5nbGUoMzYwLjApCi0gICAgLCBtX291dGVyR2Fp
bigwLjApCi17Ci19CitDb25lRWZmZWN0OjpDb25lRWZmZWN0KCkgPSBkZWZhdWx0OwogCiBkb3Vi
bGUgQ29uZUVmZmVjdDo6Z2FpbihGbG9hdFBvaW50M0Qgc291cmNlUG9zaXRpb24sIEZsb2F0UG9p
bnQzRCBzb3VyY2VPcmllbnRhdGlvbiwgRmxvYXRQb2ludDNEIGxpc3RlbmVyUG9zaXRpb24pCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Db25lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Db25lLmgKaW5kZXggYTdhY2EzYTRjNTRkMjc0YjNh
YTNkNDBhZDlkMTQzZWJkZmM0NWZjZi4uZTFlMzhjNjE3NzhhNjFlODc3OGYzN2M3Mjk2MzA4M2Ji
Njk5N2M0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQ29uZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0NvbmUuaApAQCAtNTQsOSArNTQs
OSBAQCBwdWJsaWM6CiAgICAgZG91YmxlIG91dGVyR2FpbigpIGNvbnN0IHsgcmV0dXJuIG1fb3V0
ZXJHYWluOyB9CiAKIHByb3RlY3RlZDoKLSAgICBkb3VibGUgbV9pbm5lckFuZ2xlOwotICAgIGRv
dWJsZSBtX291dGVyQW5nbGU7Ci0gICAgZG91YmxlIG1fb3V0ZXJHYWluOworICAgIGRvdWJsZSBt
X2lubmVyQW5nbGUgeyAzNjAgfTsKKyAgICBkb3VibGUgbV9vdXRlckFuZ2xlIHsgMzYwIH07Cisg
ICAgZG91YmxlIG1fb3V0ZXJHYWluIHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuY3BwCmluZGV4IGQ4MDBi
MDlkOGIyNmFhOWU1N2JlNmQzNGE5YTQ2NWViMzM1ZjRjNTAuLmFmOWI0ZGM4OTA1M2Y5OTZjNDkw
MTY0MzQ5ZWNjZTcwOTcxY2UxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0Rpc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9E
aXN0YW5jZS5jcHAKQEAgLTM3LDE0ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
RGlzdGFuY2VFZmZlY3Q6OkRpc3RhbmNlRWZmZWN0KCkKLSAgICA6IG1fbW9kZWwoRGlzdGFuY2VN
b2RlbFR5cGU6OkludmVyc2UpCi0gICAgLCBtX2lzQ2xhbXBlZCh0cnVlKQotICAgICwgbV9yZWZE
aXN0YW5jZSgxLjApCi0gICAgLCBtX21heERpc3RhbmNlKDEwMDAwLjApCi0gICAgLCBtX3JvbGxv
ZmZGYWN0b3IoMS4wKQotewotfQorRGlzdGFuY2VFZmZlY3Q6OkRpc3RhbmNlRWZmZWN0KCkgPSBk
ZWZhdWx0OwogCiBkb3VibGUgRGlzdGFuY2VFZmZlY3Q6OmdhaW4oZG91YmxlIGRpc3RhbmNlKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rpc3RhbmNlLmgKaW5kZXggYjNlYjc3OTcz
Y2ZhNDc5NWYxNTA1MzY5YjdlNGIyZjg5ZmZiNmM0OC4uOTk4MmJmZjk1NTlmNGMyMzY5MmU1ODRl
YjMwNjI5Mzk3NTgwNTQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vRGlzdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXN0YW5j
ZS5oCkBAIC03MCwxMSArNzAsMTEgQEAgcHJvdGVjdGVkOgogICAgIGRvdWJsZSBpbnZlcnNlR2Fp
bihkb3VibGUgZGlzdGFuY2UpOwogICAgIGRvdWJsZSBleHBvbmVudGlhbEdhaW4oZG91YmxlIGRp
c3RhbmNlKTsKIAotICAgIERpc3RhbmNlTW9kZWxUeXBlIG1fbW9kZWw7Ci0gICAgYm9vbCBtX2lz
Q2xhbXBlZDsKLSAgICBkb3VibGUgbV9yZWZEaXN0YW5jZTsKLSAgICBkb3VibGUgbV9tYXhEaXN0
YW5jZTsKLSAgICBkb3VibGUgbV9yb2xsb2ZmRmFjdG9yOworICAgIERpc3RhbmNlTW9kZWxUeXBl
IG1fbW9kZWwgeyBEaXN0YW5jZU1vZGVsVHlwZTo6SW52ZXJzZSB9OworICAgIGJvb2wgbV9pc0Ns
YW1wZWQgeyB0cnVlIH07CisgICAgZG91YmxlIG1fcmVmRGlzdGFuY2UgeyAxIH07CisgICAgZG91
YmxlIG1fbWF4RGlzdGFuY2UgeyAxMDAwMCB9OworICAgIGRvdWJsZSBtX3JvbGxvZmZGYWN0b3Ig
eyAxIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5jcHAKaW5kZXggOWE5NTQ2ZDk4YWFjNmZmZjBlMjdh
OWJmMzZmYTM5ZDMwYjI5YjUyZS4uNDgwMDMzNWU1Y2Q3N2M0NzFmMTE1MGJjNDI5ZTY0MzYyYTA1
Njc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNhbXBs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rvd25TYW1wbGVyLmNw
cApAQCAtMzgsNyArMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERvd25TYW1wbGVyOjpE
b3duU2FtcGxlcihzaXplX3QgaW5wdXRCbG9ja1NpemUpCiAgICAgOiBtX2lucHV0QmxvY2tTaXpl
KGlucHV0QmxvY2tTaXplKQotICAgICwgbV9yZWR1Y2VkS2VybmVsKERlZmF1bHRLZXJuZWxTaXpl
IC8gMikKICAgICAsIG1fY29udm9sdmVyKGlucHV0QmxvY2tTaXplIC8gMikgLy8gcnVucyBhdCAx
LzIgc291cmNlIHNhbXBsZS1yYXRlCiAgICAgLCBtX3RlbXBCdWZmZXIoaW5wdXRCbG9ja1NpemUg
LyAyKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJsb2NrU2l6ZSAqIDIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNhbXBsZXIuaAppbmRleCA5NTcwYjg5MWM5N2ZmYTkx
MWEwMTEzNDAwM2I0ZmRjYjVmNzZmOTJlLi5iNjNjMzRhNjE2NjI4ZTg1YWY5ODYyYTA2ZDI3MzRk
ZWE5YjcxNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3du
U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rvd25TYW1wbGVy
LmgKQEAgLTU3LDcgKzU3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb21wdXRlcyBpZGVhbCBiYW5k
LWxpbWl0ZWQgaGFsZi1iYW5kIGZpbHRlciBjb2VmZmljaWVudHMuCiAgICAgLy8gSW4gb3RoZXIg
d29yZHMsIGZpbHRlciBvdXQgYWxsIGZyZXF1ZW5jaWVzIGhpZ2hlciB0aGFuIDAuMjUgKiBOeXF1
aXN0LgogICAgIHZvaWQgaW5pdGlhbGl6ZUtlcm5lbCgpOwotICAgIEF1ZGlvRmxvYXRBcnJheSBt
X3JlZHVjZWRLZXJuZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IG1fcmVkdWNlZEtlcm5lbCB7IERl
ZmF1bHRLZXJuZWxTaXplIC8gMiB9OwogCiAgICAgLy8gSGFsZi1iYW5kIGZpbHRlci4KICAgICBE
aXJlY3RDb252b2x2ZXIgbV9jb252b2x2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29yS2VybmVsLmNwcAppbmRleCAzOThh
M2ViNTRmMDhkNTk5ZjhjMmM4MGM1NGRkYjc3NTMzNjI5NDYwLi45ZjMxODFjZmJiNDAyMjc3Nzk5
NjIzYjliZmRkY2RkNDk1OWMwMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbC5jcHAKQEAgLTQyLDI0ICs0
MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgQXVkaW9VdGlsaXRp
ZXM7CiAKIC8vIE1ldGVyaW5nIGhpdHMgcGVha3MgaW5zdGFudGx5LCBidXQgcmVsZWFzZXMgdGhp
cyBmYXN0IChpbiBzZWNvbmRzKS4KLWNvbnN0IGZsb2F0IG1ldGVyaW5nUmVsZWFzZVRpbWVDb25z
dGFudCA9IDAuMzI1ZjsKLQotY29uc3QgZmxvYXQgdW5pbml0aWFsaXplZFZhbHVlID0gLTE7Citj
b25zdGV4cHIgZmxvYXQgbWV0ZXJpbmdSZWxlYXNlVGltZUNvbnN0YW50ID0gMC4zMjVmOwogCiBE
eW5hbWljc0NvbXByZXNzb3JLZXJuZWw6OkR5bmFtaWNzQ29tcHJlc3Nvcktlcm5lbChmbG9hdCBz
YW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzKQogICAgIDogbV9zYW1wbGVSYXRl
KHNhbXBsZVJhdGUpCi0gICAgLCBtX2xhc3RQcmVEZWxheUZyYW1lcyhEZWZhdWx0UHJlRGVsYXlG
cmFtZXMpCi0gICAgLCBtX3ByZURlbGF5UmVhZEluZGV4KDApCi0gICAgLCBtX3ByZURlbGF5V3Jp
dGVJbmRleChEZWZhdWx0UHJlRGVsYXlGcmFtZXMpCi0gICAgLCBtX3JhdGlvKHVuaW5pdGlhbGl6
ZWRWYWx1ZSkKLSAgICAsIG1fc2xvcGUodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9saW5l
YXJUaHJlc2hvbGQodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9kYlRocmVzaG9sZCh1bmlu
aXRpYWxpemVkVmFsdWUpCi0gICAgLCBtX2RiS25lZSh1bmluaXRpYWxpemVkVmFsdWUpCi0gICAg
LCBtX2tuZWVUaHJlc2hvbGQodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV9rbmVlVGhyZXNo
b2xkRGIodW5pbml0aWFsaXplZFZhbHVlKQotICAgICwgbV95a25lZVRocmVzaG9sZERiKHVuaW5p
dGlhbGl6ZWRWYWx1ZSkKLSAgICAsIG1fSyh1bmluaXRpYWxpemVkVmFsdWUpCiB7CiAgICAgc2V0
TnVtYmVyT2ZDaGFubmVscyhudW1iZXJPZkNoYW5uZWxzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVzc29yS2VybmVsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaAppbmRl
eCAxNjNkYzU4NmI5YmFmZTE1NWRlMzU5Yjk1MzQ0ODNiMjM3YmFjMTU1Li5lNTZhODM5ZTc5ZDZm
Y2RkZmM0YzY4ZWQyZjdlM2FkMjMwZWRlNGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9EeW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaApAQCAtNzQsNiAr
NzQsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Q7CiAKIHByb3RlY3Rl
ZDoKKyAgICBzdGF0aWMgY29uc3RleHByIGZsb2F0IHVuaW5pdGlhbGl6ZWRWYWx1ZSA9IC0xOwog
ICAgIGZsb2F0IG1fc2FtcGxlUmF0ZTsKIAogICAgIGZsb2F0IG1fZGV0ZWN0b3JBdmVyYWdlOwpA
QCAtODcsMTIgKzg4LDEyIEBAIHByb3RlY3RlZDoKICAgICBlbnVtIHsgTWF4UHJlRGVsYXlGcmFt
ZXMgPSAxMDI0IH07CiAgICAgZW51bSB7IE1heFByZURlbGF5RnJhbWVzTWFzayA9IE1heFByZURl
bGF5RnJhbWVzIC0gMSB9OwogICAgIGVudW0geyBEZWZhdWx0UHJlRGVsYXlGcmFtZXMgPSAyNTYg
fTsgLy8gc2V0UHJlRGVsYXlUaW1lKCkgd2lsbCBvdmVycmlkZSB0aGlzIGluaXRpYWwgdmFsdWUK
LSAgICB1bnNpZ25lZCBtX2xhc3RQcmVEZWxheUZyYW1lczsKKyAgICB1bnNpZ25lZCBtX2xhc3RQ
cmVEZWxheUZyYW1lcyB7IERlZmF1bHRQcmVEZWxheUZyYW1lcyB9OwogICAgIHZvaWQgc2V0UHJl
RGVsYXlUaW1lKGZsb2F0KTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GbG9h
dEFycmF5Pj4gbV9wcmVEZWxheUJ1ZmZlcnM7Ci0gICAgaW50IG1fcHJlRGVsYXlSZWFkSW5kZXg7
Ci0gICAgaW50IG1fcHJlRGVsYXlXcml0ZUluZGV4OworICAgIGludCBtX3ByZURlbGF5UmVhZElu
ZGV4IHsgMCB9OworICAgIGludCBtX3ByZURlbGF5V3JpdGVJbmRleCB7IERlZmF1bHRQcmVEZWxh
eUZyYW1lcyB9OwogCiAgICAgZmxvYXQgbV9tYXhBdHRhY2tDb21wcmVzc2lvbkRpZmZEYjsKIApA
QCAtMTA2LDI0ICsxMDcsMjQgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gQW1vdW50IG9mIGlucHV0
IGNoYW5nZSBpbiBkQiByZXF1aXJlZCBmb3IgMSBkQiBvZiBvdXRwdXQgY2hhbmdlLgogICAgIC8v
IFRoaXMgYXBwbGllcyB0byB0aGUgcG9ydGlvbiBvZiB0aGUgY3VydmUgYWJvdmUgbV9rbmVlVGhy
ZXNob2xkRGIgKHNlZSBiZWxvdykuCi0gICAgZmxvYXQgbV9yYXRpbzsKLSAgICBmbG9hdCBtX3Ns
b3BlOyAvLyBJbnZlcnNlIHJhdGlvLgorICAgIGZsb2F0IG1fcmF0aW8geyB1bmluaXRpYWxpemVk
VmFsdWUgfTsKKyAgICBmbG9hdCBtX3Nsb3BlIHsgdW5pbml0aWFsaXplZFZhbHVlIH07IC8vIElu
dmVyc2UgcmF0aW8uCiAKICAgICAvLyBUaGUgaW5wdXQgdG8gb3V0cHV0IGNoYW5nZSBiZWxvdyB0
aGUgdGhyZXNob2xkIGlzIGxpbmVhciAxOjEuCi0gICAgZmxvYXQgbV9saW5lYXJUaHJlc2hvbGQ7
Ci0gICAgZmxvYXQgbV9kYlRocmVzaG9sZDsKKyAgICBmbG9hdCBtX2xpbmVhclRocmVzaG9sZCB7
IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OworICAgIGZsb2F0IG1fZGJUaHJlc2hvbGQgeyB1bmluaXRp
YWxpemVkVmFsdWUgfTsKIAogICAgIC8vIG1fZGJLbmVlIGlzIHRoZSBudW1iZXIgb2YgZEIgYWJv
dmUgdGhlIHRocmVzaG9sZCBiZWZvcmUgd2UgZW50ZXIgdGhlICJyYXRpbyIgcG9ydGlvbiBvZiB0
aGUgY3VydmUuCiAgICAgLy8gbV9rbmVlVGhyZXNob2xkRGIgPSBtX2RiVGhyZXNob2xkICsgbV9k
YktuZWUKICAgICAvLyBUaGUgcG9ydGlvbiBiZXR3ZWVuIG1fZGJUaHJlc2hvbGQgYW5kIG1fa25l
ZVRocmVzaG9sZERiIGlzIHRoZSAic29mdCBrbmVlIiBwb3J0aW9uIG9mIHRoZSBjdXJ2ZQogICAg
IC8vIHdoaWNoIHRyYW5zaXRpb25zIHNtb290aGx5IGZyb20gdGhlIGxpbmVhciBwb3J0aW9uIHRv
IHRoZSByYXRpbyBwb3J0aW9uLgotICAgIGZsb2F0IG1fZGJLbmVlOwotICAgIGZsb2F0IG1fa25l
ZVRocmVzaG9sZDsKLSAgICBmbG9hdCBtX2tuZWVUaHJlc2hvbGREYjsKLSAgICBmbG9hdCBtX3lr
bmVlVGhyZXNob2xkRGI7CisgICAgZmxvYXQgbV9kYktuZWUgeyB1bmluaXRpYWxpemVkVmFsdWUg
fTsKKyAgICBmbG9hdCBtX2tuZWVUaHJlc2hvbGQgeyB1bmluaXRpYWxpemVkVmFsdWUgfTsKKyAg
ICBmbG9hdCBtX2tuZWVUaHJlc2hvbGREYiB7IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OworICAgIGZs
b2F0IG1feWtuZWVUaHJlc2hvbGREYiB7IHVuaW5pdGlhbGl6ZWRWYWx1ZSB9OwogCiAgICAgLy8g
SW50ZXJuYWwgcGFyYW1ldGVyIGZvciB0aGUga25lZSBwb3J0aW9uIG9mIHRoZSBjdXJ2ZS4KLSAg
ICBmbG9hdCBtX0s7CisgICAgZmxvYXQgbV9LIHsgdW5pbml0aWFsaXplZFZhbHVlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuY3BwCmluZGV4IGFkZWMzMTgwYjE2N2MwYTk0YmRkNzI0
NGZiYWQ5MTIyYzAyM2ZiNzMuLmE4M2ZiMTJlZTJhMTlmMzc2NmViM2NjOTE1MTc0OTM3NzJlZjM1
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQ
YW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQ
YW5uZXIuY3BwCkBAIC0zNCwxNSArMzQsMTIgQEAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5o
PgogCiAvLyBVc2UgYSA1MG1zIHNtb290aGluZyAvIGRlLXppcHBlcmluZyB0aW1lLWNvbnN0YW50
LgotY29uc3QgZmxvYXQgU21vb3RoaW5nVGltZUNvbnN0YW50ID0gMC4wNTBmOworY29uc3RleHBy
IGZsb2F0IFNtb290aGluZ1RpbWVDb25zdGFudCA9IDAuMDUwZjsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBFcXVhbFBvd2VyUGFubmVyOjpFcXVhbFBvd2VyUGFubmVyKGZsb2F0IHNhbXBsZVJh
dGUpCiAgICAgOiBQYW5uZXIoUGFubmluZ01vZGVsVHlwZTo6RXF1YWxwb3dlcikKLSAgICAsIG1f
aXNGaXJzdFJlbmRlcih0cnVlKQotICAgICwgbV9nYWluTCgwLjApCi0gICAgLCBtX2dhaW5SKDAu
MCkKIHsKICAgICBtX3Ntb290aGluZ0NvbnN0YW50ID0gQXVkaW9VdGlsaXRpZXM6OmRpc2NyZXRl
VGltZUNvbnN0YW50Rm9yU2FtcGxlUmF0ZShTbW9vdGhpbmdUaW1lQ29uc3RhbnQsIHNhbXBsZVJh
dGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQ
b3dlclBhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBh
bm5lci5oCmluZGV4IGQ3MzE4N2UxMDlhNjM5ODM5NzczNzU3NjJlMTQ1MTliZGFjMWUyMTQuLjhi
M2Q5ZWVhM2I5NWJlNzc5MjY3N2I4NzVlODA4OGQ5Y2U3MGNjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmgKQEAgLTQ4LDExICs0OCwx
MSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlRGVzaXJlZEdhaW4oZG91YmxlJiBkZXNp
cmVkR2FpbkwsIGRvdWJsZSYgZGVzaXJlZEdhaW5SLCBkb3VibGUgYXppbXV0aCwgdW5zaWduZWQg
bnVtYmVyT2ZDaGFubmVscyk7CiAKICAgICAvLyBGb3Igc21vb3RoaW5nIC8gZGUtemlwcGVyaW5n
Ci0gICAgYm9vbCBtX2lzRmlyc3RSZW5kZXI7CisgICAgYm9vbCBtX2lzRmlyc3RSZW5kZXIgeyB0
cnVlIH07CiAgICAgZG91YmxlIG1fc21vb3RoaW5nQ29uc3RhbnQ7CiAgICAgCi0gICAgZG91Ymxl
IG1fZ2Fpbkw7Ci0gICAgZG91YmxlIG1fZ2FpblI7CisgICAgZG91YmxlIG1fZ2FpbkwgeyAwIH07
CisgICAgZG91YmxlIG1fZ2FpblIgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmNwcAppbmRl
eCBmNGI1Y2NiZTQyYmJlYTdmYjdlZWU2NjU3ZTY5ZTU0M2U4N2Q1YjRlLi4wYjk3YmUzNTM2MTNi
ZDA5ZjZiNjcxMWQ1ZTgxZGJlNjk3ZTA3YzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0ZGVENvbnZvbHZlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAgdXNpbmcgbmFtZXNw
YWNlIFZlY3Rvck1hdGg7CiAgICAgCiBGRlRDb252b2x2ZXI6OkZGVENvbnZvbHZlcihzaXplX3Qg
ZmZ0U2l6ZSkKICAgICA6IG1fZnJhbWUoZmZ0U2l6ZSkKLSAgICAsIG1fcmVhZFdyaXRlSW5kZXgo
MCkKICAgICAsIG1faW5wdXRCdWZmZXIoZmZ0U2l6ZSkgLy8gMm5kIGhhbGYgb2YgYnVmZmVyIGlz
IGFsd2F5cyB6ZXJvZWQKICAgICAsIG1fb3V0cHV0QnVmZmVyKGZmdFNpemUpCiAgICAgLCBtX2xh
c3RPdmVybGFwQnVmZmVyKGZmdFNpemUgLyAyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vRkZUQ29udm9sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9GRlRDb252b2x2ZXIuaAppbmRleCAzODYyMjdmMTk3MDRhZmQ3OTJlMzY2MjJiZGRhOWMx
YWNlYTc1MTA0Li40ZjM1NzNhYWFkOGYxODhjMjgzOWRlMThjNzYyYTE1MTMxYTM0ZWFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRDb252b2x2ZXIuaApAQCAtNTgsNyAr
NTgsNyBAQCBwcml2YXRlOgogICAgIEZGVEZyYW1lIG1fZnJhbWU7CiAKICAgICAvLyBCdWZmZXIg
aW5wdXQgdW50aWwgd2UgZ2V0IGZmdFNpemUgLyAyIHNhbXBsZXMgdGhlbiBkbyBhbiBGRlQKLSAg
ICBzaXplX3QgbV9yZWFkV3JpdGVJbmRleDsKKyAgICBzaXplX3QgbV9yZWFkV3JpdGVJbmRleCB7
IDAgfTsKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9pbnB1dEJ1ZmZlcjsKIAogICAgIC8vIFN0b3Jl
cyBvdXRwdXQgd2hpY2ggd2UgcmVhZCBhIGxpdHRsZSBhdCBhIHRpbWUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuY3BwCmluZGV4IGMwM2RkMzQ2MzA4ZTBj
ZjgwMjRmMGFlMzQ0YWY0MWI5N2U3NmQyYzUuLjEzY2YyNzI0MDIzMWI1NGM1YThlZmJiZDVhNjBh
MDE0ZTZmMzE1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRh
dGFiYXNlLmNwcApAQCAtMzYsMTYgKzM2LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBpbnQgSFJURkRhdGFiYXNlOjpNaW5FbGV2YXRpb24gPSAtNDU7Ci1jb25zdCBpbnQgSFJU
RkRhdGFiYXNlOjpNYXhFbGV2YXRpb24gPSA5MDsKLWNvbnN0IHVuc2lnbmVkIEhSVEZEYXRhYmFz
ZTo6UmF3RWxldmF0aW9uQW5nbGVTcGFjaW5nID0gMTU7Ci1jb25zdCB1bnNpZ25lZCBIUlRGRGF0
YWJhc2U6Ok51bWJlck9mUmF3RWxldmF0aW9ucyA9IDEwOyAvLyAtNDUgLT4gKzkwIChlYWNoIDE1
IGRlZ3JlZXMpCi1jb25zdCB1bnNpZ25lZCBIUlRGRGF0YWJhc2U6OkludGVycG9sYXRpb25GYWN0
b3IgPSAxOwotY29uc3QgdW5zaWduZWQgSFJURkRhdGFiYXNlOjpOdW1iZXJPZlRvdGFsRWxldmF0
aW9ucyA9IE51bWJlck9mUmF3RWxldmF0aW9ucyAqIEludGVycG9sYXRpb25GYWN0b3I7Ci0KIEhS
VEZEYXRhYmFzZTo6SFJURkRhdGFiYXNlKGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgOiBtX2VsZXZh
dGlvbnMoTnVtYmVyT2ZUb3RhbEVsZXZhdGlvbnMpCi0gICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxl
UmF0ZSkKKyAgICA6IG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlKQogewogICAgIHVuc2lnbmVkIGVs
ZXZhdGlvbkluZGV4ID0gMDsKICAgICBmb3IgKGludCBlbGV2YXRpb24gPSBNaW5FbGV2YXRpb247
IGVsZXZhdGlvbiA8PSBNYXhFbGV2YXRpb247IGVsZXZhdGlvbiArPSBSYXdFbGV2YXRpb25Bbmds
ZVNwYWNpbmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNl
LmgKaW5kZXggYTUxOTM0OTgxNTA0NTI2ZDZmYzY0ZDQ1Yjk3OTBiMzc4MTAzYTQ1Ni4uZmFmNDhj
Mjg1MzM0NWI1ZWY4ZTllOTBlMGUxZTg5YTAyYzdiYzRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTU3LDI0ICs1NywyNCBAQCBwdWJsaWM6
CiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQog
CiAgICAgLy8gTnVtYmVyIG9mIGVsZXZhdGlvbnMgbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0gICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIE51bWJlck9mUmF3RWxldmF0aW9uczsKKyAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgTnVtYmVyT2ZSYXdFbGV2YXRpb25zIHsgMTAgfTsKIAogcHJpdmF0ZToK
ICAgICAvLyBNaW5pbXVtIGFuZCBtYXhpbXVtIGVsZXZhdGlvbiBhbmdsZXMgKGluY2x1c2l2ZSkg
Zm9yIGEgSFJURkRhdGFiYXNlLgotICAgIHN0YXRpYyBjb25zdCBpbnQgTWluRWxldmF0aW9uOwot
ICAgIHN0YXRpYyBjb25zdCBpbnQgTWF4RWxldmF0aW9uOwotICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBSYXdFbGV2YXRpb25BbmdsZVNwYWNpbmc7CisgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQg
TWluRWxldmF0aW9uIHsgLTQ1IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgTWF4RWxldmF0
aW9uIHsgOTAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFJhd0VsZXZhdGlvbkFu
Z2xlU3BhY2luZyB7IDE1IH07CiAKICAgICAvLyBJbnRlcnBvbGF0ZXMgYnkgdGhpcyBmYWN0b3Ig
dG8gZ2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgZWxldmF0aW9ucyBmcm9tIGV2ZXJ5IGVsZXZhdGlv
biBsb2FkZWQgZnJvbSByZXNvdXJjZS4KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgSW50ZXJw
b2xhdGlvbkZhY3RvcjsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIEludGVycG9sYXRp
b25GYWN0b3IgeyAxIH07CiAgICAgCiAgICAgLy8gVG90YWwgbnVtYmVyIG9mIGVsZXZhdGlvbnMg
YWZ0ZXIgaW50ZXJwb2xhdGlvbi4KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgTnVtYmVyT2ZU
b3RhbEVsZXZhdGlvbnM7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBOdW1iZXJPZlRv
dGFsRWxldmF0aW9ucyB7IE51bWJlck9mUmF3RWxldmF0aW9ucyAqIEludGVycG9sYXRpb25GYWN0
b3IgfTsKIAogICAgIC8vIFJldHVybnMgdGhlIGluZGV4IGZvciB0aGUgY29ycmVjdCBIUlRGRWxl
dmF0aW9uIGdpdmVuIHRoZSBlbGV2YXRpb24gYW5nbGUuCiAgICAgc3RhdGljIHVuc2lnbmVkIGlu
ZGV4RnJvbUVsZXZhdGlvbkFuZ2xlKGRvdWJsZSk7CiAKLSAgICBWZWN0b3I8c3RkOjp1bmlxdWVf
cHRyPEhSVEZFbGV2YXRpb24+PiBtX2VsZXZhdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVl
X3B0cjxIUlRGRWxldmF0aW9uPj4gbV9lbGV2YXRpb25zIHsgTnVtYmVyT2ZUb3RhbEVsZXZhdGlv
bnMgfTsKICAgICBmbG9hdCBtX3NhbXBsZVJhdGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCmluZGV4IDYwNTIzMmNkMWE5OWM5MjMz
ZDlhZDEwNDliYTMwN2UyMTc3MzhmYzYuLmYzZGIwNjhiM2QzOTBiYWJiYjc0YmJjYWY2Y2ZhMWM5
MTZlYjBiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZF
bGV2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2
YXRpb24uY3BwCkBAIC00NCwyMCArNDQsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCB1bnNpZ25lZCBIUlRGRWxldmF0aW9uOjpBemltdXRoU3BhY2luZyA9IDE1OwotY29uc3Qg
dW5zaWduZWQgSFJURkVsZXZhdGlvbjo6TnVtYmVyT2ZSYXdBemltdXRocyA9IDM2MCAvIEF6aW11
dGhTcGFjaW5nOwotY29uc3QgdW5zaWduZWQgSFJURkVsZXZhdGlvbjo6SW50ZXJwb2xhdGlvbkZh
Y3RvciA9IDg7Ci1jb25zdCB1bnNpZ25lZCBIUlRGRWxldmF0aW9uOjpOdW1iZXJPZlRvdGFsQXpp
bXV0aHMgPSBOdW1iZXJPZlJhd0F6aW11dGhzICogSW50ZXJwb2xhdGlvbkZhY3RvcjsKLQogLy8g
VG90YWwgbnVtYmVyIG9mIGNvbXBvbmVudHMgb2YgYW4gSFJURiBkYXRhYmFzZS4KLWNvbnN0IHNp
emVfdCBUb3RhbE51bWJlck9mUmVzcG9uc2VzID0gMjQwOworY29uc3RleHByIHNpemVfdCBUb3Rh
bE51bWJlck9mUmVzcG9uc2VzID0gMjQwOwogCiAvLyBOdW1iZXIgb2YgZnJhbWVzIGluIGFuIGlu
ZGl2aWR1YWwgaW1wdWxzZSByZXNwb25zZS4KLWNvbnN0IHNpemVfdCBSZXNwb25zZUZyYW1lU2l6
ZSA9IDI1NjsKK2NvbnN0ZXhwciBzaXplX3QgUmVzcG9uc2VGcmFtZVNpemUgPSAyNTY7CiAKIC8v
IFNhbXBsZS1yYXRlIG9mIHRoZSBzcGF0aWFsaXphdGlvbiBpbXB1bHNlIHJlc3BvbnNlcyBhcyBz
dG9yZWQgaW4gdGhlIHJlc291cmNlIGZpbGUuCiAvLyBUaGUgaW1wdWxzZSByZXNwb25zZXMgbWF5
IGJlIHJlc2FtcGxlZCB0byBhIGRpZmZlcmVudCBzYW1wbGUtcmF0ZSAoZGVwZW5kaW5nIG9uIHRo
ZSBhdWRpbyBoYXJkd2FyZSkgd2hlbiB0aGV5IGFyZSBsb2FkZWQuCi1jb25zdCBmbG9hdCBSZXNw
b25zZVNhbXBsZVJhdGUgPSA0NDEwMDsKK2NvbnN0ZXhwciBmbG9hdCBSZXNwb25zZVNhbXBsZVJh
dGUgPSA0NDEwMDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoV0VCQVVESU9fR1NUUkVB
TUVSKQogI2RlZmluZSBVU0VfQ09OQ0FURU5BVEVEX0lNUFVMU0VfUkVTUE9OU0VTCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggZWY3NTJjM2Mw
MWJlMzllY2RiN2VmNjRkZjQzOTA5MjY2ZDZlZDk2MS4uNjEzNTE3MDhlNDkxNzUzZWE3ODVkNTAy
OTAyMDY5ODRhYTMyMmMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaApAQCAtNzMsMTYgKzczLDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEtl
cm5lbHNGcm9tQXppbXV0aChkb3VibGUgYXppbXV0aEJsZW5kLCB1bnNpZ25lZCBhemltdXRoSW5k
ZXgsIEhSVEZLZXJuZWwqICZrZXJuZWxMLCBIUlRGS2VybmVsKiAma2VybmVsUiwgZG91YmxlJiBm
cmFtZURlbGF5TCwgZG91YmxlJiBmcmFtZURlbGF5Uik7CiAgICAgCiAgICAgLy8gU3BhY2luZywg
aW4gZGVncmVlcywgYmV0d2VlbiBldmVyeSBhemltdXRoIGxvYWRlZCBmcm9tIHJlc291cmNlLgot
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBemltdXRoU3BhY2luZzsKKyAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIEF6aW11dGhTcGFjaW5nIHsgMTUgfTsKICAgICAKICAgICAvLyBOdW1i
ZXIgb2YgYXppbXV0aHMgbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0gICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIE51bWJlck9mUmF3QXppbXV0aHM7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCBOdW1iZXJPZlJhd0F6aW11dGhzIHsgMzYwIC8gQXppbXV0aFNwYWNpbmcgfTsKIAogICAgIC8v
IEludGVycG9sYXRlcyBieSB0aGlzIGZhY3RvciB0byBnZXQgdGhlIHRvdGFsIG51bWJlciBvZiBh
emltdXRocyBmcm9tIGV2ZXJ5IGF6aW11dGggbG9hZGVkIGZyb20gcmVzb3VyY2UuCi0gICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIEludGVycG9sYXRpb25GYWN0b3I7CisgICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBJbnRlcnBvbGF0aW9uRmFjdG9yIHsgOCB9OwogICAgIAogICAgIC8vIFRv
dGFsIG51bWJlciBvZiBhemltdXRocyBhZnRlciBpbnRlcnBvbGF0aW9uLgotICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBOdW1iZXJPZlRvdGFsQXppbXV0aHM7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBOdW1iZXJPZlRvdGFsQXppbXV0aHMgeyBOdW1iZXJPZlJhd0F6aW11dGhzICog
SW50ZXJwb2xhdGlvbkZhY3RvciB9OwogCiAgICAgLy8gR2l2ZW4gYSBzcGVjaWZpYyBhemltdXRo
IGFuZCBlbGV2YXRpb24gYW5nbGUsIHJldHVybnMgdGhlIGxlZnQgYW5kIHJpZ2h0IEhSVEZLZXJu
ZWwuCiAgICAgLy8gVmFsaWQgdmFsdWVzIGZvciBhemltdXRoIGFyZSAwIC0+IDM0NSBpbiAxNSBk
ZWdyZWUgaW5jcmVtZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZLZXJuZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktl
cm5lbC5jcHAKaW5kZXggMzc1NTIxNmFlMjg3YTcxYzc0MjkyOWE1M2M5NTkwOTZkYjFkYmI3Zi4u
MDY0NzgxMjhlNDY1NTI5NjllN2IwMDMzYjBjZjI3YmFlOTUwODNhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKQEAgLTY4LDggKzY4LDcgQEAgc3Rh
dGljIGZsb2F0IGV4dHJhY3RBdmVyYWdlR3JvdXBEZWxheShBdWRpb0NoYW5uZWwqIGNoYW5uZWws
IHNpemVfdCBhbmFseXNpc0ZGVFMKIH0KIAogSFJURktlcm5lbDo6SFJURktlcm5lbChBdWRpb0No
YW5uZWwqIGNoYW5uZWwsIHNpemVfdCBmZnRTaXplLCBmbG9hdCBzYW1wbGVSYXRlKQotICAgIDog
bV9mcmFtZURlbGF5KDApCi0gICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxlUmF0ZSkKKyAgICA6IG1f
c2FtcGxlUmF0ZShzYW1wbGVSYXRlKQogewogICAgIEFTU0VSVChjaGFubmVsKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oCmluZGV4IDNiODBmYjYwYmY3MzE3
MjIxN2IzOGVlNDJjZjg5MTYzZGU0OWE1NWQuLjZmMTg3NmFhMzExMjdlZDk0ZDY3MmEwZmYyMzFk
MDFhZTFlNWYxMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGS2VybmVs
LmgKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICB9CiAgICAgCiAgICAgc3RkOjp1bmlx
dWVfcHRyPEZGVEZyYW1lPiBtX2ZmdEZyYW1lOwotICAgIGZsb2F0IG1fZnJhbWVEZWxheTsKKyAg
ICBmbG9hdCBtX2ZyYW1lRGVsYXkgeyAwIH07CiAgICAgZmxvYXQgbV9zYW1wbGVSYXRlOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcAppbmRleCBj
ZDhiNDI3ZTVhY2Y0ODU4Yzg2MTJhMjE3Mzk1ZDA3NDRkZDNiNWJkLi40ODU1NmNkZjczMzRkOTlh
MTYxZmYxMzg5YzdmYzQzMDVjOWM2YmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGUGFubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGUGFubmVyLmNwcApAQCAtNDAsMjEgKzQwLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gVGhlIHZhbHVlIG9mIDIgbWlsbGlzZWNvbmRzIGlzIGxhcmdlciB0aGFuIHRoZSBs
YXJnZXN0IGRlbGF5IHdoaWNoIGV4aXN0cyBpbiBhbnkgSFJURktlcm5lbCBmcm9tIHRoZSBkZWZh
dWx0IEhSVEZEYXRhYmFzZSAoMC4wMTM2IHNlY29uZHMpLgogLy8gV2UgQVNTRVJUIHRoZSBkZWxh
eSB2YWx1ZXMgdXNlZCBpbiBwcm9jZXNzKCkgd2l0aCB0aGlzIHZhbHVlLgotY29uc3QgZG91Ymxl
IE1heERlbGF5VGltZVNlY29uZHMgPSAwLjAwMjsKLQotY29uc3QgaW50IFVuaW5pdGlhbGl6ZWRB
emltdXRoID0gLTE7Citjb25zdGV4cHIgZG91YmxlIE1heERlbGF5VGltZVNlY29uZHMgPSAwLjAw
MjsKIAogSFJURlBhbm5lcjo6SFJURlBhbm5lcihmbG9hdCBzYW1wbGVSYXRlLCBIUlRGRGF0YWJh
c2VMb2FkZXIqIGRhdGFiYXNlTG9hZGVyKQogICAgIDogUGFubmVyKFBhbm5pbmdNb2RlbFR5cGU6
OkhSVEYpCiAgICAgLCBtX2RhdGFiYXNlTG9hZGVyKGRhdGFiYXNlTG9hZGVyKQogICAgICwgbV9z
YW1wbGVSYXRlKHNhbXBsZVJhdGUpCi0gICAgLCBtX2Nyb3NzZmFkZVNlbGVjdGlvbihDcm9zc2Zh
ZGVTZWxlY3Rpb24xKQotICAgICwgbV9hemltdXRoSW5kZXgxKFVuaW5pdGlhbGl6ZWRBemltdXRo
KQotICAgICwgbV9lbGV2YXRpb24xKDApCi0gICAgLCBtX2F6aW11dGhJbmRleDIoVW5pbml0aWFs
aXplZEF6aW11dGgpCi0gICAgLCBtX2VsZXZhdGlvbjIoMCkKLSAgICAsIG1fY3Jvc3NmYWRlWCgw
KQotICAgICwgbV9jcm9zc2ZhZGVJbmNyKDApCiAgICAgLCBtX2NvbnZvbHZlckwxKGZmdFNpemVG
b3JTYW1wbGVSYXRlKHNhbXBsZVJhdGUpKQogICAgICwgbV9jb252b2x2ZXJSMShmZnRTaXplRm9y
U2FtcGxlUmF0ZShzYW1wbGVSYXRlKSkKICAgICAsIG1fY29udm9sdmVyTDIoZmZ0U2l6ZUZvclNh
bXBsZVJhdGUoc2FtcGxlUmF0ZSkpCkBAIC0xODYsMTEgKzE3NywxMSBAQCB2b2lkIEhSVEZQYW5u
ZXI6OnBhbihkb3VibGUgZGVzaXJlZEF6aW11dGgsIGRvdWJsZSBlbGV2YXRpb24sIGNvbnN0IEF1
ZGlvQnVzKiBpbgogICAgIGludCBkZXNpcmVkQXppbXV0aEluZGV4ID0gY2FsY3VsYXRlRGVzaXJl
ZEF6aW11dGhJbmRleEFuZEJsZW5kKGF6aW11dGgsIGF6aW11dGhCbGVuZCk7CiAKICAgICAvLyBJ
bml0aWFsbHkgc25hcCBhemltdXRoIGFuZCBlbGV2YXRpb24gdmFsdWVzIHRvIGZpcnN0IHZhbHVl
cyBlbmNvdW50ZXJlZC4KLSAgICBpZiAobV9hemltdXRoSW5kZXgxID09IFVuaW5pdGlhbGl6ZWRB
emltdXRoKSB7CisgICAgaWYgKCFtX2F6aW11dGhJbmRleDEpIHsKICAgICAgICAgbV9hemltdXRo
SW5kZXgxID0gZGVzaXJlZEF6aW11dGhJbmRleDsKICAgICAgICAgbV9lbGV2YXRpb24xID0gZWxl
dmF0aW9uOwogICAgIH0KLSAgICBpZiAobV9hemltdXRoSW5kZXgyID09IFVuaW5pdGlhbGl6ZWRB
emltdXRoKSB7CisgICAgaWYgKCFtX2F6aW11dGhJbmRleDIpIHsKICAgICAgICAgbV9hemltdXRo
SW5kZXgyID0gZGVzaXJlZEF6aW11dGhJbmRleDsKICAgICAgICAgbV9lbGV2YXRpb24yID0gZWxl
dmF0aW9uOwogICAgIH0KQEAgLTIwMiw3ICsxOTMsNyBAQCB2b2lkIEhSVEZQYW5uZXI6OnBhbihk
b3VibGUgZGVzaXJlZEF6aW11dGgsIGRvdWJsZSBlbGV2YXRpb24sIGNvbnN0IEF1ZGlvQnVzKiBp
bgogCiAgICAgLy8gQ2hlY2sgZm9yIGF6aW11dGggYW5kIGVsZXZhdGlvbiBjaGFuZ2VzLCBpbml0
aWF0aW5nIGEgY3Jvc3MtZmFkZSBpZiBuZWVkZWQuCiAgICAgaWYgKCFtX2Nyb3NzZmFkZVggJiYg
bV9jcm9zc2ZhZGVTZWxlY3Rpb24gPT0gQ3Jvc3NmYWRlU2VsZWN0aW9uMSkgewotICAgICAgICBp
ZiAoZGVzaXJlZEF6aW11dGhJbmRleCAhPSBtX2F6aW11dGhJbmRleDEgfHwgZWxldmF0aW9uICE9
IG1fZWxldmF0aW9uMSkgeworICAgICAgICBpZiAoZGVzaXJlZEF6aW11dGhJbmRleCAhPSAqbV9h
emltdXRoSW5kZXgxIHx8IGVsZXZhdGlvbiAhPSBtX2VsZXZhdGlvbjEpIHsKICAgICAgICAgICAg
IC8vIENyb3NzLWZhZGUgZnJvbSAxIC0+IDIKICAgICAgICAgICAgIG1fY3Jvc3NmYWRlSW5jciA9
IDEgLyBmYWRlRnJhbWVzOwogICAgICAgICAgICAgbV9hemltdXRoSW5kZXgyID0gZGVzaXJlZEF6
aW11dGhJbmRleDsKQEAgLTIxMCw3ICsyMDEsNyBAQCB2b2lkIEhSVEZQYW5uZXI6OnBhbihkb3Vi
bGUgZGVzaXJlZEF6aW11dGgsIGRvdWJsZSBlbGV2YXRpb24sIGNvbnN0IEF1ZGlvQnVzKiBpbgog
ICAgICAgICB9CiAgICAgfQogICAgIGlmIChtX2Nyb3NzZmFkZVggPT0gMSAmJiBtX2Nyb3NzZmFk
ZVNlbGVjdGlvbiA9PSBDcm9zc2ZhZGVTZWxlY3Rpb24yKSB7Ci0gICAgICAgIGlmIChkZXNpcmVk
QXppbXV0aEluZGV4ICE9IG1fYXppbXV0aEluZGV4MiB8fCBlbGV2YXRpb24gIT0gbV9lbGV2YXRp
b24yKSB7CisgICAgICAgIGlmIChkZXNpcmVkQXppbXV0aEluZGV4ICE9ICptX2F6aW11dGhJbmRl
eDIgfHwgZWxldmF0aW9uICE9IG1fZWxldmF0aW9uMikgewogICAgICAgICAgICAgLy8gQ3Jvc3Mt
ZmFkZSBmcm9tIDIgLT4gMQogICAgICAgICAgICAgbV9jcm9zc2ZhZGVJbmNyID0gLTEgLyBmYWRl
RnJhbWVzOwogICAgICAgICAgICAgbV9hemltdXRoSW5kZXgxID0gZGVzaXJlZEF6aW11dGhJbmRl
eDsKQEAgLTIzNSw4ICsyMjYsOCBAQCB2b2lkIEhSVEZQYW5uZXI6OnBhbihkb3VibGUgZGVzaXJl
ZEF6aW11dGgsIGRvdWJsZSBlbGV2YXRpb24sIGNvbnN0IEF1ZGlvQnVzKiBpbgogICAgICAgICBk
b3VibGUgZnJhbWVEZWxheVIxOwogICAgICAgICBkb3VibGUgZnJhbWVEZWxheUwyOwogICAgICAg
ICBkb3VibGUgZnJhbWVEZWxheVIyOwotICAgICAgICBkYXRhYmFzZS0+Z2V0S2VybmVsc0Zyb21B
emltdXRoRWxldmF0aW9uKGF6aW11dGhCbGVuZCwgbV9hemltdXRoSW5kZXgxLCBtX2VsZXZhdGlv
bjEsIGtlcm5lbEwxLCBrZXJuZWxSMSwgZnJhbWVEZWxheUwxLCBmcmFtZURlbGF5UjEpOwotICAg
ICAgICBkYXRhYmFzZS0+Z2V0S2VybmVsc0Zyb21BemltdXRoRWxldmF0aW9uKGF6aW11dGhCbGVu
ZCwgbV9hemltdXRoSW5kZXgyLCBtX2VsZXZhdGlvbjIsIGtlcm5lbEwyLCBrZXJuZWxSMiwgZnJh
bWVEZWxheUwyLCBmcmFtZURlbGF5UjIpOworICAgICAgICBkYXRhYmFzZS0+Z2V0S2VybmVsc0Zy
b21BemltdXRoRWxldmF0aW9uKGF6aW11dGhCbGVuZCwgKm1fYXppbXV0aEluZGV4MSwgbV9lbGV2
YXRpb24xLCBrZXJuZWxMMSwga2VybmVsUjEsIGZyYW1lRGVsYXlMMSwgZnJhbWVEZWxheVIxKTsK
KyAgICAgICAgZGF0YWJhc2UtPmdldEtlcm5lbHNGcm9tQXppbXV0aEVsZXZhdGlvbihhemltdXRo
QmxlbmQsICptX2F6aW11dGhJbmRleDIsIG1fZWxldmF0aW9uMiwga2VybmVsTDIsIGtlcm5lbFIy
LCBmcmFtZURlbGF5TDIsIGZyYW1lRGVsYXlSMik7CiAKICAgICAgICAgYm9vbCBhcmVLZXJuZWxz
R29vZCA9IGtlcm5lbEwxICYmIGtlcm5lbFIxICYmIGtlcm5lbEwyICYmIGtlcm5lbFIyOwogICAg
ICAgICBBU1NFUlQoYXJlS2VybmVsc0dvb2QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vSFJURlBhbm5lci5oCmluZGV4IGUwMzIzMDMwMThmYTc4ZjNiMTcwNDFlNWQ1ZjQ5MzcwYzZh
YzE1MDEuLmMzMDc2NjQzNDkxNjYxYTVmNmYwZmZlMjUzNDY4ZTY5MzhlZTA3Y2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmgKQEAgLTc3LDIxICs3NywyMSBA
QCBwcml2YXRlOgogICAgICAgICBDcm9zc2ZhZGVTZWxlY3Rpb24yCiAgICAgfTsKIAotICAgIENy
b3NzZmFkZVNlbGVjdGlvbiBtX2Nyb3NzZmFkZVNlbGVjdGlvbjsKKyAgICBDcm9zc2ZhZGVTZWxl
Y3Rpb24gbV9jcm9zc2ZhZGVTZWxlY3Rpb24geyBDcm9zc2ZhZGVTZWxlY3Rpb24xIH07CiAKICAg
ICAvLyBhemltdXRoL2VsZXZhdGlvbiBmb3IgQ3Jvc3NmYWRlU2VsZWN0aW9uMS4KLSAgICBpbnQg
bV9hemltdXRoSW5kZXgxOwotICAgIGRvdWJsZSBtX2VsZXZhdGlvbjE7CisgICAgT3B0aW9uYWw8
aW50PiBtX2F6aW11dGhJbmRleDE7CisgICAgZG91YmxlIG1fZWxldmF0aW9uMSB7IDAgfTsKIAog
ICAgIC8vIGF6aW11dGgvZWxldmF0aW9uIGZvciBDcm9zc2ZhZGVTZWxlY3Rpb24yLgotICAgIGlu
dCBtX2F6aW11dGhJbmRleDI7Ci0gICAgZG91YmxlIG1fZWxldmF0aW9uMjsKKyAgICBPcHRpb25h
bDxpbnQ+IG1fYXppbXV0aEluZGV4MjsKKyAgICBkb3VibGUgbV9lbGV2YXRpb24yIHsgMCB9Owog
CiAgICAgLy8gQSBjcm9zc2ZhZGUgdmFsdWUgMCA8PSBtX2Nyb3NzZmFkZVggPD0gMS4KLSAgICBm
bG9hdCBtX2Nyb3NzZmFkZVg7CisgICAgZmxvYXQgbV9jcm9zc2ZhZGVYIHsgMCB9OwogCiAgICAg
Ly8gUGVyLXNhbXBsZS1mcmFtZSBjcm9zc2ZhZGUgdmFsdWUgaW5jcmVtZW50LgotICAgIGZsb2F0
IG1fY3Jvc3NmYWRlSW5jcjsKKyAgICBmbG9hdCBtX2Nyb3NzZmFkZUluY3IgeyAwIH07CiAKICAg
ICBGRlRDb252b2x2ZXIgbV9jb252b2x2ZXJMMTsKICAgICBGRlRDb252b2x2ZXIgbV9jb252b2x2
ZXJSMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmNwcAppbmRleCBhYzA1MWUwYWU2M2EwNTM5YmNjZGZhMjFmZjVhNjMyNjEz
ZmVjN2QxLi4zMDNkZjVhYzMyNzQ1NWMxYjcwNTI0MDY1N2E1MmQxZjY0NjEyMmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b24uY3BwCkBAIC0zNSw3ICszNSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IFNlY29uZHMgY2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSB7IDEw
MF9tcyB9Oworc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIGNsaWVudERhdGFCdWZmZXJpbmdUaW1l
clRocm90dGxlRGVsYXkgeyAxMDBfbXMgfTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAog
U3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpT
dGF0ZSBzdGF0ZSkKQEAgLTExOSw5ICsxMTksNiBAQCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxh
dGZvcm1NZWRpYVNlc3Npb24oUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyJiBtYW5hZ2VyLAog
ICAgIDogbV9tYW5hZ2VyKG1ha2VXZWFrUHRyKG1hbmFnZXIpKQogICAgICwgbV9jbGllbnQoY2xp
ZW50KQogICAgICwgbV9tZWRpYVNlc3Npb25JZGVudGlmaWVyKE1lZGlhU2Vzc2lvbklkZW50aWZp
ZXI6OmdlbmVyYXRlKCkpCi0gICAgLCBtX3N0YXRlKElkbGUpCi0gICAgLCBtX3N0YXRlVG9SZXN0
b3JlKElkbGUpCi0gICAgLCBtX25vdGlmeWluZ0NsaWVudChmYWxzZSkKICNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKICAgICAsIG1fbG9nZ2VyKGNsaWVudC5sb2dnZXIoKSkKICAgICAsIG1fbG9n
SWRlbnRpZmllcih1bmlxdWVMb2dJZGVudGlmaWVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCA0Njg1MTJjNDk3
NzY5YWIxZmY5YWQxMzI5ZjNlMDNmNDlkODE5OTkxLi43OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMw
YzkyNWJlN2RlZmMzODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTIwNSwxMSArMjA1LDExIEBAIHByaXZhdGU6
CiAgICAgV2Vha1B0cjxQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI+IG1fbWFuYWdlcjsKICAg
ICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCYgbV9jbGllbnQ7CiAgICAgTWVkaWFTZXNzaW9u
SWRlbnRpZmllciBtX21lZGlhU2Vzc2lvbklkZW50aWZpZXI7Ci0gICAgU3RhdGUgbV9zdGF0ZTsK
LSAgICBTdGF0ZSBtX3N0YXRlVG9SZXN0b3JlOworICAgIFN0YXRlIG1fc3RhdGUgeyBJZGxlIH07
CisgICAgU3RhdGUgbV9zdGF0ZVRvUmVzdG9yZSB7IElkbGUgfTsKICAgICBJbnRlcnJ1cHRpb25U
eXBlIG1faW50ZXJydXB0aW9uVHlwZSB7IE5vSW50ZXJydXB0aW9uIH07CiAgICAgaW50IG1faW50
ZXJydXB0aW9uQ291bnQgeyAwIH07Ci0gICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKyAgICBi
b29sIG1fbm90aWZ5aW5nQ2xpZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQbGF5aW5nVG9X
aXJlbGVzc1BsYXliYWNrVGFyZ2V0IHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzUGxheWVkU2lu
Y2VMYXN0SW50ZXJydXB0aW9uIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUHVzaFB1bGxGSUZPLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5jcHAKaW5kZXggMzg0NzRhNzNiNjg3YTI5Y2ZlNWNhNGY1
OTgwZDRmMjE0ZDQ1OGU5ZC4uM2VkZTYyY2UyM2RiN2I5OGM5ZWIzNjFjZTUwZWZkYWFhNDk5YjVm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUHVzaFB1bGxGSUZP
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QdXNoUHVsbEZJRk8uY3Bw
CkBAIC0zMSwxMiArMzEsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBzaXpl
X3QgUHVzaFB1bGxGSUZPOjprTWF4RklGT0xlbmd0aCA9IDY1NTM2OwotCiBQdXNoUHVsbEZJRk86
OlB1c2hQdWxsRklGTyh1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgZmlmb0xlbmd0
aCkKICAgICA6IG1fZmlmb0xlbmd0aChmaWZvTGVuZ3RoKQogewotICAgIEFTU0VSVChtX2ZpZm9M
ZW5ndGggPD0ga01heEZJRk9MZW5ndGgpOworICAgIEFTU0VSVChtX2ZpZm9MZW5ndGggPD0gbWF4
RklGT0xlbmd0aCk7CiAgICAgbV9maWZvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShudW1iZXJPZkNo
YW5uZWxzLCBtX2ZpZm9MZW5ndGgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QdXNoUHVsbEZJRk8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1B1c2hQdWxsRklGTy5oCmluZGV4IDNlM2MyM2EyODQ1YzNkYzgyMmVmYjE3NzRlY2YzYTYx
OWYxYmFiMTAuLjNkNDNmNGFjZmE0ZDc1ZTdjNzFiNmMwY2YwZmU0ODMzYWI3MGY2MmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1B1c2hQdWxsRklGTy5oCkBAIC00Miw5ICs0
Miw5IEBAIGNsYXNzIFB1c2hQdWxsRklGTyB7CiAKIHB1YmxpYzoKICAgICAvLyBNYXhpbXVtIEZJ
Rk8gbGVuZ3RoLiAoNTEyIHJlbmRlciBxdWFudGEpCi0gICAgc3RhdGljIGNvbnN0IHNpemVfdCBr
TWF4RklGT0xlbmd0aDsKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBtYXhGSUZPTGVuZ3Ro
IHsgNjU1MzYgfTsKIAotICAgIC8vIHxmaWZvTGVuZ3RofCBjYW5ub3QgZXhjZWVkIHxrTWF4RklG
T0xlbmd0aHwuIE90aGVyd2lzZSBpdCBjcmFzaGVzLgorICAgIC8vIHxmaWZvTGVuZ3RofCBjYW5u
b3QgZXhjZWVkIHxtYXhGSUZPTGVuZ3RofC4gT3RoZXJ3aXNlIGl0IGNyYXNoZXMuCiAgICAgUHVz
aFB1bGxGSUZPKHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBmaWZvTGVuZ3RoKTsK
ICAgICB+UHVzaFB1bGxGSUZPKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1JldmVyYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZl
cmIuY3BwCmluZGV4IDhlMzYwZjU5MDU5NzkxMGQ1ZjQ1ZTY4ODU0YWZjOGU3YjA2Zjk1MjUuLjA3
ZmYyMjgyM2MwYzM4YTAyZTdiNzU5ZDgyYjkzODUyY2E1NmU2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUmV2ZXJiLmNwcApAQCAtNDQsMTEgKzQ0LDExIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogCiAvLyBFbXBpcmljYWwgZ2Fp
biBjYWxpYnJhdGlvbiB0ZXN0ZWQgYWNyb3NzIG1hbnkgaW1wdWxzZSByZXNwb25zZXMgdG8gZW5z
dXJlIHBlcmNlaXZlZCB2b2x1bWUgaXMgc2FtZSBhcyBkcnkgKHVucHJvY2Vzc2VkKSBzaWduYWwK
LWNvbnN0IGZsb2F0IEdhaW5DYWxpYnJhdGlvbiA9IC01ODsKLWNvbnN0IGZsb2F0IEdhaW5DYWxp
YnJhdGlvblNhbXBsZVJhdGUgPSA0NDEwMDsKK2NvbnN0ZXhwciBmbG9hdCBHYWluQ2FsaWJyYXRp
b24gPSAtNTg7Citjb25zdGV4cHIgZmxvYXQgR2FpbkNhbGlicmF0aW9uU2FtcGxlUmF0ZSA9IDQ0
MTAwOwogCiAvLyBBIG1pbmltdW0gcG93ZXIgdmFsdWUgdG8gd2hlbiBub3JtYWxpemluZyBhIHNp
bGVudCAob3IgdmVyeSBxdWlldCkgaW1wdWxzZSByZXNwb25zZQotY29uc3QgZmxvYXQgTWluUG93
ZXIgPSAwLjAwMDEyNWY7Citjb25zdGV4cHIgZmxvYXQgTWluUG93ZXIgPSAwLjAwMDEyNWY7CiAg
ICAgCiBzdGF0aWMgZmxvYXQgY2FsY3VsYXRlTm9ybWFsaXphdGlvblNjYWxlKEF1ZGlvQnVzKiBy
ZXNwb25zZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Jl
dmVyYkFjY3VtdWxhdGlvbkJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIuY3BwCmluZGV4IDM3Y2Y2Zjg4YjFiYjIwOGFjYjBi
YjFkNDIyZjEyNzM3ODBmNDU2MjQuLjk0MjZmMzg3MGY5NjdlNmNhM2M5YzdmMmI4NDNmNGY0NGI1
ZWZmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkFj
Y3VtdWxhdGlvbkJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmNwcApAQCAtNDIsOCArNDIsNiBAQCB1c2luZyBuYW1l
c3BhY2UgVmVjdG9yTWF0aDsKIAogUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyOjpSZXZlcmJBY2N1
bXVsYXRpb25CdWZmZXIoc2l6ZV90IGxlbmd0aCkKICAgICA6IG1fYnVmZmVyKGxlbmd0aCkKLSAg
ICAsIG1fcmVhZEluZGV4KDApCi0gICAgLCBtX3JlYWRUaW1lRnJhbWUoMCkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9u
QnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRp
b25CdWZmZXIuaAppbmRleCBhNjI4MzVmOWMwZDdkNzQzYzllOTI3Y2VkZTJkNmExZGE0NTU4NDFh
Li5kMjRlOWFjYjA1NWE0OTdjNDA4MjA3ZDc1ODljYjk0NGIyYTMzOWMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZm
ZXIuaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQXVkaW9GbG9h
dEFycmF5IG1fYnVmZmVyOwotICAgIHNpemVfdCBtX3JlYWRJbmRleDsKLSAgICBzaXplX3QgbV9y
ZWFkVGltZUZyYW1lOyAvLyBmb3IgZGVidWdnaW5nIChmcmFtZSBvbiBjb250aW51b3VzIHRpbWVs
aW5lKQorICAgIHNpemVfdCBtX3JlYWRJbmRleCB7IDAgfTsKKyAgICBzaXplX3QgbV9yZWFkVGlt
ZUZyYW1lIHsgMCB9OyAvLyBmb3IgZGVidWdnaW5nIChmcmFtZSBvbiBjb250aW51b3VzIHRpbWVs
aW5lKQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKaW5kZXggYzc1N2FjN2U2MTkzOGUw
ODYwOTQ2YzBkYzYyMDRlNzRlZjdiNThlNC4uMzI1YWU3ZTViNmI1M2E1NzNmNDI4YzRiNTQ2ODA0
OGQ1Yzk1YjQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2
ZXJiQ29udm9sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZl
cmJDb252b2x2ZXIuY3BwCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
dXNpbmcgbmFtZXNwYWNlIFZlY3Rvck1hdGg7CiAKLWNvbnN0IGludCBJbnB1dEJ1ZmZlclNpemUg
PSA4ICogMTYzODQ7Citjb25zdGV4cHIgaW50IElucHV0QnVmZmVyU2l6ZSA9IDggKiAxNjM4NDsK
IAogLy8gV2Ugb25seSBwcm9jZXNzIHRoZSBsZWFkaW5nIHBvcnRpb24gb2YgdGhlIGltcHVsc2Ug
cmVzcG9uc2UgaW4gdGhlIHJlYWwtdGltZSB0aHJlYWQuICBXZSBkb24ndCBleGNlZWQgdGhpcyBs
ZW5ndGguCiAvLyBJdCB0dXJucyBvdXQgdGhlbiwgdGhhdCB0aGUgYmFja2dyb3VuZCB0aHJlYWQg
aGFzIGFib3V0IDI3OG1zZWMgb2Ygc2NoZWR1bGluZyBzbG9wLgpAQCAtNDksMTAgKzQ5LDEwIEBA
IGNvbnN0IGludCBJbnB1dEJ1ZmZlclNpemUgPSA4ICogMTYzODQ7CiAvLyBUaGlzIHdhcyBmb3Vu
ZCB0byBiZSBhIGdvb2QgdmFsdWUgb24gTWFjIE9TIFgsIGFuZCBtYXkgd29yayB3ZWxsIG9uIG90
aGVyIHBsYXRmb3JtcyBhcyB3ZWxsLCBhc3N1bWluZwogLy8gdGhlIHZlcnkgcm91Z2ggc2NoZWR1
bGluZyBsYXRlbmNpZXMgYXJlIHNpbWlsYXIgb24gdGhlc2UgdGltZS1zY2FsZXMuICBPZiBjb3Vy
c2UsIHRoaXMgY29kZSBtYXkgbmVlZCB0byBiZQogLy8gdHVuZWQgZm9yIGluZGl2aWR1YWwgcGxh
dGZvcm1zIGlmIHRoaXMgYXNzdW1wdGlvbiBpcyBmb3VuZCB0byBiZSBpbmNvcnJlY3QuCi1jb25z
dCBzaXplX3QgUmVhbHRpbWVGcmFtZUxpbWl0ID0gODE5MiAgKyA0MDk2OyAvLyB+Mjc4bXNlYyBA
IDQ0LjFLSHoKK2NvbnN0ZXhwciBzaXplX3QgUmVhbHRpbWVGcmFtZUxpbWl0ID0gODE5MiAgKyA0
MDk2OyAvLyB+Mjc4bXNlYyBAIDQ0LjFLSHoKIAotY29uc3Qgc2l6ZV90IE1pbkZGVFNpemUgPSAx
Mjg7Ci1jb25zdCBzaXplX3QgTWF4UmVhbHRpbWVGRlRTaXplID0gMjA0ODsKK2NvbnN0ZXhwciBz
aXplX3QgTWluRkZUU2l6ZSA9IDEyODsKK2NvbnN0ZXhwciBzaXplX3QgTWF4UmVhbHRpbWVGRlRT
aXplID0gMjA0ODsKIAogUmV2ZXJiQ29udm9sdmVyOjpSZXZlcmJDb252b2x2ZXIoQXVkaW9DaGFu
bmVsKiBpbXB1bHNlUmVzcG9uc2UsIHNpemVfdCByZW5kZXJTbGljZVNpemUsIHNpemVfdCBtYXhG
RlRTaXplLCBzaXplX3QgY29udm9sdmVyUmVuZGVyUGhhc2UsIGJvb2wgdXNlQmFja2dyb3VuZFRo
cmVhZHMsIGZsb2F0IHNjYWxlKQogICAgIDogbV9pbXB1bHNlUmVzcG9uc2VMZW5ndGgoaW1wdWxz
ZVJlc3BvbnNlLT5sZW5ndGgoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmNwcAppbmRleCAwZGY1MWQ1MmM0NTk1MjgxODZl
MmQ5OTE4OTk4MDQwNTMyNzFjMWIxLi44MzZiNDE2YWQyOWQ5NzcyMjQ3MjEwZjgwYzFiNjRhMWM4
NmFjYTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJD
b252b2x2ZXJTdGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2
ZXJiQ29udm9sdmVyU3RhZ2UuY3BwCkBAIC00Nyw4ICs0Nyw2IEBAIHVzaW5nIG5hbWVzcGFjZSBW
ZWN0b3JNYXRoOwogUmV2ZXJiQ29udm9sdmVyU3RhZ2U6OlJldmVyYkNvbnZvbHZlclN0YWdlKGNv
bnN0IGZsb2F0KiBpbXB1bHNlUmVzcG9uc2UsIHNpemVfdCwgc2l6ZV90IHJldmVyYlRvdGFsTGF0
ZW5jeSwgc2l6ZV90IHN0YWdlT2Zmc2V0LCBzaXplX3Qgc3RhZ2VMZW5ndGgsCiAgICAgc2l6ZV90
IGZmdFNpemUsIHNpemVfdCByZW5kZXJQaGFzZSwgc2l6ZV90IHJlbmRlclNsaWNlU2l6ZSwgUmV2
ZXJiQWNjdW11bGF0aW9uQnVmZmVyKiBhY2N1bXVsYXRpb25CdWZmZXIsIGZsb2F0IHNjYWxlLCBi
b29sIGRpcmVjdE1vZGUpCiAgICAgOiBtX2FjY3VtdWxhdGlvbkJ1ZmZlcihhY2N1bXVsYXRpb25C
dWZmZXIpCi0gICAgLCBtX2FjY3VtdWxhdGlvblJlYWRJbmRleCgwKQotICAgICwgbV9pbnB1dFJl
YWRJbmRleCgwKQogICAgICwgbV9kaXJlY3RNb2RlKGRpcmVjdE1vZGUpCiB7CiAgICAgQVNTRVJU
KGltcHVsc2VSZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2UuaAppbmRleCBjYTU0YTIwNDQ2ZTQ5ZGM1YTg5NzAwMDI1
ZDhiZDkyODNkOThlM2NjLi5mYjk4MDBjYjUxNjZjYzFmNzU4MGM1NzJlODM5MGE2NDJlYmIxZTlj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2
ZXJTdGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZv
bHZlclN0YWdlLmgKQEAgLTY3LDggKzY3LDggQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJy
YXkgbV9wcmVEZWxheUJ1ZmZlcjsKIAogICAgIFJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlciogbV9h
Y2N1bXVsYXRpb25CdWZmZXI7Ci0gICAgaW50IG1fYWNjdW11bGF0aW9uUmVhZEluZGV4OwotICAg
IGludCBtX2lucHV0UmVhZEluZGV4OworICAgIGludCBtX2FjY3VtdWxhdGlvblJlYWRJbmRleCB7
IDAgfTsKKyAgICBpbnQgbV9pbnB1dFJlYWRJbmRleCB7IDAgfTsKIAogICAgIHNpemVfdCBtX3By
ZURlbGF5TGVuZ3RoOwogICAgIHNpemVfdCBtX3Bvc3REZWxheUxlbmd0aDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmNwcAppbmRleCBk
NDAyNTM3NWZiNDg3ZjY4MjEzYThhZGRkYzcxZTZkNDk0ZGQ1YTQyLi5lOGYxNWE2ZTc5NWU4ZTYw
ZTNmYmQzZDMyNjFjNzYwYTNmYWYwZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRCdWZmZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogUmV2ZXJiSW5wdXRCdWZmZXI6OlJldmVyYklucHV0QnVmZmVyKHNp
emVfdCBsZW5ndGgpCiAgICAgOiBtX2J1ZmZlcihsZW5ndGgpCi0gICAgLCBtX3dyaXRlSW5kZXgo
MCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2
ZXJiSW5wdXRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYklu
cHV0QnVmZmVyLmgKaW5kZXggYWY5ZWQwMGQ3MzNlODQyYjZlZDNhNjQ3NDg1NDIwZDNjNzY3NzUz
My4uNjRlOWExMTRjMDVlYTE4NjZjODY5YTRiMTk5NzU2YzMxM2YwMWZlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiSW5wdXRCdWZmZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5oCkBAIC01Nyw3
ICs1Nyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9idWZm
ZXI7Ci0gICAgc2l6ZV90IG1fd3JpdGVJbmRleDsKKyAgICBzaXplX3QgbV93cml0ZUluZGV4IHsg
MCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>