<?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>237005</bug_id>
          
          <creation_ts>2022-02-21 16:29:54 -0800</creation_ts>
          <short_desc>[JSC] Format the output of --reportTotalPhaseTimes=1 more nicely</short_desc>
          <delta_ts>2022-02-21 22:56:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844441</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2022-02-21 16:29:54 -0800</bug_when>
    <thetext>Currently, here is an example of the output of --reportTotalPhaseTimes=1:
```
[B3] moveConstants total ms: 64.307583 max ms: 1.703167
[B3] lowerToAir total ms: 151.297782 max ms: 5.426375
[B3] generateToAir total ms: 1623.987166 max ms: 92.826750
[B3] simplifyCFG total ms: 11.760463 max ms: 1.088083
[B3] Air::lowerMacros total ms: 5.975679 max ms: 0.382000
```

There are two frustrating things here:
- The numbers are not aligned, so it is not visible at a glance which passes take 1 order of magnitude more than others
- everything is just tagged by [B3] even when they&apos;re actually Air, and passes are tagged in the same way as combination of passes (like generateToAir).

I propose a simple formatting change that would output it as follows:
```
total ms:   66.328 max ms:   2.283 [B3] moveConstants
total ms:  148.097 max ms:   5.361 [B3] lowerToAir
total ms: 1619.115 max ms:  96.307 [Total B3] generateToAir
total ms:   11.959 max ms:   1.185 [Air] simplifyCFG
total ms:    6.519 max ms:   0.697 [Air] Air::lowerMacros
```

I found this a lot more readable when trying to optimize parts of the FTL compiler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844445</commentid>
    <comment_count>1</comment_count>
      <attachid>452796</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2022-02-21 16:36:56 -0800</bug_when>
    <thetext>Created attachment 452796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844447</commentid>
    <comment_count>2</comment_count>
      <attachid>452798</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2022-02-21 16:41:05 -0800</bug_when>
    <thetext>Created attachment 452798
Patch

Fix style nits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844502</commentid>
    <comment_count>3</comment_count>
      <attachid>452798</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-02-21 18:26:20 -0800</bug_when>
    <thetext>Comment on attachment 452798
Patch

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

r=me. Nice

&gt; Source/WTF/wtf/FixedWidthDouble.h:2
&gt; + * Copyright (C) 2021 Apple Inc. All rights reserved.

2022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844558</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-21 22:55:16 -0800</bug_when>
    <thetext>Committed r290290 (247614@main): &lt;https://commits.webkit.org/247614@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452798.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844559</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-21 22:56:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/89277242&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452796</attachid>
            <date>2022-02-21 16:36:56 -0800</date>
            <delta_ts>2022-02-21 16:41:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patchReportTotalPhaseTimes</filename>
            <type>text/plain</type>
            <size>27752</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZkOTQzZmRmMGY0Ni4uNmQxZmE3YjYwNWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEgKzEsNTUgQEAKKzIwMjItMDItMjEgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBGb3JtYXQg
dGhlIG91dHB1dCBvZiAtLXJlcG9ydFRvdGFsUGhhc2VUaW1lcz0xIG1vcmUgbmljZWx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcwMDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgdGhpcyBw
YXRjaDoKKyAgICAgICAgW0IzXSBtb3ZlQ29uc3RhbnRzIHRvdGFsIG1zOiA2NC4zMDc1ODMgbWF4
IG1zOiAxLjcwMzE2NworICAgICAgICBbQjNdIGxvd2VyVG9BaXIgdG90YWwgbXM6IDE1MS4yOTc3
ODIgbWF4IG1zOiA1LjQyNjM3NQorICAgICAgICBbQjNdIGdlbmVyYXRlVG9BaXIgdG90YWwgbXM6
IDE2MjMuOTg3MTY2IG1heCBtczogOTIuODI2NzUwCisgICAgICAgIFtCM10gc2ltcGxpZnlDRkcg
dG90YWwgbXM6IDExLjc2MDQ2MyBtYXggbXM6IDEuMDg4MDgzCisgICAgICAgIFtCM10gQWlyOjps
b3dlck1hY3JvcyB0b3RhbCBtczogNS45NzU2NzkgbWF4IG1zOiAwLjM4MjAwMAorCisgICAgICAg
IEFmdGVyIHRoaXMgcGF0Y2g6CisgICAgICAgIHRvdGFsIG1zOiAgIDY2LjMyOCBtYXggbXM6ICAg
Mi4yODMgW0IzXSBtb3ZlQ29uc3RhbnRzCisgICAgICAgIHRvdGFsIG1zOiAgMTQ4LjA5NyBtYXgg
bXM6ICAgNS4zNjEgW0IzXSBsb3dlclRvQWlyCisgICAgICAgIHRvdGFsIG1zOiAxNjE5LjExNSBt
YXggbXM6ICA5Ni4zMDcgW1RvdGFsIEIzXSBnZW5lcmF0ZVRvQWlyCisgICAgICAgIHRvdGFsIG1z
OiAgIDExLjk1OSBtYXggbXM6ICAgMS4xODUgW0Fpcl0gc2ltcGxpZnlDRkcKKyAgICAgICAgdG90
YWwgbXM6ICAgIDYuNTE5IG1heCBtczogICAwLjY5NyBbQWlyXSBBaXI6Omxvd2VyTWFjcm9zCisK
KyAgICAgICAgQ29uY3JldGVseSB0aGVyZSBhcmUgdHdvIGNoYW5nZXM6CisgICAgICAgIC0gdXNl
IEZpeGVkV2lkdGhEb3VibGUgKGFsc28gaW50cm9kdWNlZCB0byBXVEYgaW4gdGhpcyBwYXRjaCkg
dG8gbGluZS11cCB0aGUgdG90YWwgdGltZXMuCisgICAgICAgICAgVGhpcyBtYWtlcyBpdCBwb3Nz
aWJsZSB0byBzZWUgYXQgYSBnbGFuY2Ugd2hpY2ggcGhhc2VzIGFyZSB3b3J0aCBvcHRpbWl6aW5n
IGFuZCB3aGljaCBhcmVuJ3QuCisgICAgICAgIC0gVGFnIHBoYXNlcyBtb3JlIHByZWNpc2VseSwg
YW5kIGluIHBhcnRpY3VsYXIgcmVwbGFjZSBbQjNdIGJ5IFtBaXJdIHdoZXJlIHJlbGV2YW50LAor
ICAgICAgICAgIGFuZCBnaXZlIGRpZmZlcmVudCB0YWdzIHRvIG1lYXN1cmVtZW50cyB0aGF0IGNv
cnJlc3BvbmQgdG8gZ3JvdXBzIG9mIHBoYXNlcyBpbnN0ZWFkIG9mIGEgc2luZ2xlIHBoYXNlIChl
LmcuIGdlbmVyYXRlVG9BaXIpLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiMy9CM0NvbXBpbGUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6Y29tcGlsZSk6CisgICAgICAgICogYjMvQjNGaXhTU0EuY3BwOgorICAgICAgICAq
IGIzL0IzR2VuZXJhdGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6cHJlcGFyZUZvckdlbmVyYXRp
b24pOgorICAgICAgICAoSlNDOjpCMzo6Z2VuZXJhdGVUb0Fpcik6CisgICAgICAgICogYjMvQjNQ
aGFzZVNjb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlBoYXNlU2NvcGU6OlBoYXNlU2NvcGUp
OgorICAgICAgICAqIGIzL0IzUGhhc2VTY29wZS5oOgorICAgICAgICAqIGIzL0IzVGltaW5nU2Nv
cGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKEpTQzo6QjM6OlRpbWluZ1Njb3BlOjpUaW1pbmdTY29w
ZSk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNWYXJpYWJsZUxpdmVuZXNzLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OlZhcmlhYmxlTGl2ZW5lc3M6OlZhcmlhYmxlTGl2ZW5lc3MpOgorICAgICAg
ICAqIGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQW5kR2VuZXJhdGVDb2RlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6R2VuZXJhdGVBbmRBbGxvY2F0ZVJlZ2lzdGVyczo6
Z2VuZXJhdGUpOgorICAgICAgICAqIGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNr
QnlMaW5lYXJTY2FuLmNwcDoKKyAgICAgICAgKiBiMy9haXIvQWlyR2VuZXJhdGUuY3BwOgorICAg
ICAgICAoSlNDOjpCMzo6QWlyOjpwcmVwYXJlRm9yR2VuZXJhdGlvbik6CisgICAgICAgIChKU0M6
OkIzOjpBaXI6OmdlbmVyYXRlV2l0aEFscmVhZHlBbGxvY2F0ZWRSZWdpc3RlcnMpOgorICAgICAg
ICAqIGIzL2Fpci9BaXJMaXZlbmVzcy5oOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpMaXZlbmVz
czo6TGl2ZW5lc3MpOgorICAgICAgICAqIGIzL2Fpci9BaXJQaGFzZVNjb3BlLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OkFpcjo6UGhhc2VTY29wZTo6UGhhc2VTY29wZSk6CisgICAgICAgICogYjMv
YWlyL0FpclBoYXNlU2NvcGUuaDoKKyAgICAgICAgKiB0b29scy9Db21waWxlclRpbWluZ1Njb3Bl
LmNwcDoKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMjItMDItMjIgPT0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzY0MDYyNTEwMjA5Li5mYjUxZmY5ZTM5ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjQsNyArMzI0LDYgQEAKIAkJMEY0NEE3
QjQyMEJGNjhEOTAwMjJCMTcxIC8qIFRlcm1pbmF0ZWRDb2RlT3JpZ2luLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ0QTdBODIwQkY2ODVFMDAyMkIx
NzEgLyogVGVybWluYXRlZENvZGVPcmlnaW4uaCAqLzsgfTsKIAkJMEY0NTcwMzkxQkU0NEM5MTAw
NjJBNjI5IC8qIEFpckVsaW1pbmF0ZURlYWRDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ1NzAzNzFCRTQ0QzkxMDA2MkE2MjkgLyogQWlyRWxp
bWluYXRlRGVhZENvZGUuaCAqLzsgfTsKIAkJMEY0NTcwM0QxQkU0NUYwQTAwNjJBNjI5IC8qIEFp
clJlcG9ydFVzZWRSZWdpc3RlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNDU3MDNCMUJFNDVGMEEwMDYyQTYyOSAvKiBBaXJSZXBvcnRVc2VkUmVn
aXN0ZXJzLmggKi87IH07Ci0JCTBGNDU3MDQxMUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Nj
b3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ1
NzAzRjFCRTU4NENBMDA2MkE2MjkgLyogQjNUaW1pbmdTY29wZS5oICovOyB9OwogCQkwRjQ2ODA4
MjE0QkE1NzJEMDBCRkUyNzIgLyogSklURXhjZXB0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwODAxNEJBNTcyNzAwQkZFMjcyIC8qIEpJ
VEV4Y2VwdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODA5RTE0QkE3
RjgyMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY0NjgwQTUxNEJBN0Y4RDAwQkZFMjcyIC8qIExM
SW50U2xvd1BhdGhzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRTbG93UGF0aHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjc2Niw3ICsyNzY1
LDYgQEAKIAkJMEY0NTcwMzcxQkU0NEM5MTAwNjJBNjI5IC8qIEFpckVsaW1pbmF0ZURlYWRDb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFpckVsaW1pbmF0ZURlYWRDb2Rl
Lmg7IHBhdGggPSBiMy9haXIvQWlyRWxpbWluYXRlRGVhZENvZGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY0NTcwM0ExQkU0NUYwQTAwNjJBNjI5IC8qIEFpclJlcG9ydFVzZWRS
ZWdpc3RlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWlyUmVw
b3J0VXNlZFJlZ2lzdGVycy5jcHA7IHBhdGggPSBiMy9haXIvQWlyUmVwb3J0VXNlZFJlZ2lzdGVy
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDU3MDNCMUJFNDVGMEEwMDYy
QTYyOSAvKiBBaXJSZXBvcnRVc2VkUmVnaXN0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEFpclJlcG9ydFVzZWRSZWdpc3RlcnMuaDsgcGF0aCA9IGIzL2Fpci9BaXJSZXBv
cnRVc2VkUmVnaXN0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGNDU3MDNG
MUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Njb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEIzVGltaW5nU2NvcGUuaDsgcGF0aCA9IGIzL0IzVGltaW5nU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8q
IEpJVEV4Y2VwdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SklURXhjZXB0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDY4MDgw
MTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpJVEV4Y2VwdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEY0NjgwOUQxNEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuY3BwOyBwYXRo
ID0gbGxpbnQvTExJbnRFeGNlcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTYyMzUsNyArNjIzMyw2IEBACiAJCQkJMEZFQzg0RUUxQkRBQ0RBQzAwODBGRjc0IC8qIEIz
U3dpdGNoQ2FzZS5oICovLAogCQkJCTBGRUM4NEVGMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1N3aXRj
aFZhbHVlLmNwcCAqLywKIAkJCQkwRkVDODRGMDFCREFDREFDMDA4MEZGNzQgLyogQjNTd2l0Y2hW
YWx1ZS5oICovLAotCQkJCTBGNDU3MDNGMUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Njb3Bl
LmggKi8sCiAJCQkJMEZFQzg0RjExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVHlwZS5jcHAgKi8sCiAJ
CQkJMEZFQzg0RjIxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVHlwZS5oICovLAogCQkJCURDRkRGQkQ4
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCAqLywKQEAgLTk4MjYsNyArOTgyMyw2IEBA
CiAJCQkJMEZFQzg1MzYxQkRBQ0RBQzAwODBGRjc0IC8qIEIzU3VjY2Vzc29yQ29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQzg1MzgxQkRBQ0RBQzAwODBGRjc0IC8qIEIzU3dpdGNo
Q2FzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQzg1M0ExQkRBQ0RBQzAwODBGRjc0IC8qIEIz
U3dpdGNoVmFsdWUuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGNDU3MDQxMUJFNTg0Q0EwMDYyQTYy
OSAvKiBCM1RpbWluZ1Njb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODUzQzFCREFDREFD
MDA4MEZGNzQgLyogQjNUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEQ0ZERkJEQTFEMUY1RDlF
MDBGRTNENzIgLyogQjNUeXBlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODUzRTFCREFD
REFDMDA4MEZGNzQgLyogQjNVcHNpbG9uVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb21waWxlLmNwcAppbmRleCAzMzgxNTc4ODZmMmEuLmExNDU4ZDExYjI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAKQEAgLTMwLDcgKzMwLDcg
QEAKIAogI2luY2x1ZGUgIkIzR2VuZXJhdGUuaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgot
I2luY2x1ZGUgIkIzVGltaW5nU2NvcGUuaCIKKyNpbmNsdWRlICJDb21waWxlclRpbWluZ1Njb3Bl
LmgiCiAjaW5jbHVkZSAiQ0NhbGxIZWxwZXJzLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgog
CkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBDb21w
aWxhdGlvbiBjb21waWxlKFByb2NlZHVyZSYgcHJvYykKIHsKLSAgICBUaW1pbmdTY29wZSB0aW1p
bmdTY29wZSgiQ29tcGlsYXRpb24iKTsKKyAgICBDb21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Nj
b3BlKCJUb3RhbCBCMytBaXIiLCAiY29tcGlsZSIpOwogICAgIAogICAgIHByZXBhcmVGb3JHZW5l
cmF0aW9uKHByb2MpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzRml4U1NBLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZpeFNTQS5jcHAKaW5k
ZXggNThiNjZhYjIyNzk1Li4yYjVmMzA2OTFiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0ZpeFNTQS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Rml4U1NBLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkIzVmFyaWFibGUuaCIKICNp
bmNsdWRlICJCM1ZhcmlhYmxlTGl2ZW5lc3MuaCIKICNpbmNsdWRlICJCM1ZhcmlhYmxlVmFsdWUu
aCIKKyNpbmNsdWRlICJDb21waWxlclRpbWluZ1Njb3BlLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1h
UHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9JbmRleFNldC5oPgogI2luY2x1ZGUgPHd0Zi9JbmRl
eFNwYXJzZVNldC5oPgpAQCAtMTQ5LDcgKzE1MCw3IEBAIHZvaWQgZml4U1NBR2xvYmFsbHkoUHJv
Y2VkdXJlJiBwcm9jKQogCiAgICAgLy8gRGVjaWRlIHdoZXJlIFBoaXMgYXJlIHRvIGJlIGluc2Vy
dGVkLiBUaGlzIGNyZWF0ZXMgdGhlbSBidXQgZG9lcyBub3QgaW5zZXJ0IHRoZW0uCiAgICAgewot
ICAgICAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiZml4U1NBOiBjb21wdXRlUGhpcyIpOwor
ICAgICAgICBDb21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJCMyIsICJmaXhTU0E6IGNv
bXB1dGVQaGlzIik7CiAgICAgICAgIHNzYS5jb21wdXRlUGhpcygKICAgICAgICAgICAgIFsmXSAo
U1NBQ2FsY3VsYXRvcjo6VmFyaWFibGUqIGNhbGNWYXIsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBW
YWx1ZSogewogICAgICAgICAgICAgICAgIFZhcmlhYmxlKiB2YXJpYWJsZSA9IGNhbGNWYXJUb1Zh
cmlhYmxlW2NhbGNWYXItPmluZGV4KCldOwpAQCAtMTY3LDcgKzE2OCw3IEBAIHZvaWQgZml4U1NB
R2xvYmFsbHkoUHJvY2VkdXJlJiBwcm9jKQogICAgIH0KIAogICAgIC8vIE5vdyBwZXJmb3JtIHRo
ZSBjb252ZXJzaW9uLgotICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJmaXhTU0E6IGNvbnZl
cnQiKTsKKyAgICBDb21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJCMyIsICJmaXhTU0E6
IGNvbnZlcnQiKTsKICAgICBJbnNlcnRpb25TZXQgaW5zZXJ0aW9uU2V0KHByb2MpOwogICAgIElu
ZGV4U3BhcnNlU2V0PEtleVZhbHVlUGFpcjx1bnNpZ25lZCwgVmFsdWUqPj4gbWFwcGluZyhwcm9j
LnZhcmlhYmxlcygpLnNpemUoKSk7CiAgICAgSW5kZXhTZXQ8VmFsdWUqPiB2YWx1ZXNUb0RlbGV0
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcAppbmRleCA1ZDU0ZmJhZmY4
M2IuLjI0NTVlNDJjYTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
R2VuZXJhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNw
cApAQCAtNDgsMTQgKzQ4LDE0IEBACiAjaW5jbHVkZSAiQjNSZWR1Y2VEb3VibGVUb0Zsb2F0Lmgi
CiAjaW5jbHVkZSAiQjNSZWR1Y2VMb29wU3RyZW5ndGguaCIKICNpbmNsdWRlICJCM1JlZHVjZVN0
cmVuZ3RoLmgiCi0jaW5jbHVkZSAiQjNUaW1pbmdTY29wZS5oIgorI2luY2x1ZGUgIkNvbXBpbGVy
VGltaW5nU2NvcGUuaCIKICNpbmNsdWRlICJCM1ZhbGlkYXRlLmgiCiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgQjMgewogCiB2b2lkIHByZXBhcmVGb3JHZW5lcmF0aW9uKFByb2NlZHVyZSYg
cHJvY2VkdXJlKQogewotICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJwcmVwYXJlRm9yR2Vu
ZXJhdGlvbiIpOworICAgIENvbXBpbGVyVGltaW5nU2NvcGUgdGltaW5nU2NvcGUoIlRvdGFsIEIz
K0FpciIsICJwcmVwYXJlRm9yR2VuZXJhdGlvbiIpOwogCiAgICAgZ2VuZXJhdGVUb0Fpcihwcm9j
ZWR1cmUpOwogICAgIEFpcjo6cHJlcGFyZUZvckdlbmVyYXRpb24ocHJvY2VkdXJlLmNvZGUoKSk7
CkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgZ2VuZXJhdGUoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEND
YWxsSGVscGVycyYgaml0KQogCiB2b2lkIGdlbmVyYXRlVG9BaXIoUHJvY2VkdXJlJiBwcm9jZWR1
cmUpCiB7Ci0gICAgVGltaW5nU2NvcGUgdGltaW5nU2NvcGUoImdlbmVyYXRlVG9BaXIiKTsKKyAg
ICBDb21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJUb3RhbCBCMyIsICJnZW5lcmF0ZVRv
QWlyIik7CiAgICAgCiAgICAgaWYgKHNob3VsZER1bXBJUihwcm9jZWR1cmUsIEIzTW9kZSkgJiYg
IXNob3VsZER1bXBJUkF0RWFjaFBoYXNlKEIzTW9kZSkpIHsKICAgICAgICAgZGF0YUxvZyh0aWVy
TmFtZSwgIkluaXRpYWwgQjM6XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1BoYXNlU2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGhhc2VT
Y29wZS5jcHAKaW5kZXggMjdiMjJkZTIxNTAxLi43YjM5OTg4ZjUxNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BoYXNlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1BoYXNlU2NvcGUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogUGhhc2VTY29wZTo6UGhhc2VTY29wZShQcm9jZWR1cmUm
IHByb2NlZHVyZSwgY29uc3QgY2hhciogbmFtZSkKICAgICA6IG1fcHJvY2VkdXJlKHByb2NlZHVy
ZSkKICAgICAsIG1fbmFtZShuYW1lKQotICAgICwgbV90aW1pbmdTY29wZShuYW1lKQorICAgICwg
bV90aW1pbmdTY29wZSgiQjMiLCBuYW1lKQogewogICAgIGlmIChzaG91bGREdW1wSVJBdEVhY2hQ
aGFzZShCM01vZGUpKSB7CiAgICAgICAgIGRhdGFMb2coIkIzIGFmdGVyICIsIHByb2NlZHVyZS5s
YXN0UGhhc2VOYW1lKCksICIsIGJlZm9yZSAiLCBuYW1lLCAiOlxuIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQaGFzZVNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNQaGFzZVNjb3BlLmgKaW5kZXggYTE3Njk4ODQ4NjI4Li41M2M5NmI2YmU1Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BoYXNlU2NvcGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQaGFzZVNjb3BlLmgKQEAgLTI3LDcgKzI3LDcg
QEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisj
aW5jbHVkZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtNDQsNyArNDQsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFByb2NlZHVyZSYgbV9wcm9jZWR1cmU7CiAgICAgY29uc3Qg
Y2hhciogbV9uYW1lOwotICAgIFRpbWluZ1Njb3BlIG1fdGltaW5nU2NvcGU7CisgICAgQ29tcGls
ZXJUaW1pbmdTY29wZSBtX3RpbWluZ1Njb3BlOwogICAgIENTdHJpbmcgbV9kdW1wQmVmb3JlOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVGltaW5nU2NvcGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1RpbWluZ1Njb3BlLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDY1ODkxODU2MGMwNy4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1RpbWluZ1Njb3BlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0
NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoQjNfSklUKQotCi0jaW5jbHVkZSAiQ29t
cGlsZXJUaW1pbmdTY29wZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKLQot
Y2xhc3MgVGltaW5nU2NvcGUgOiBwdWJsaWMgQ29tcGlsZXJUaW1pbmdTY29wZSB7Ci1wdWJsaWM6
Ci0gICAgVGltaW5nU2NvcGUoY29uc3QgY2hhciogbmFtZSkKLSAgICAgICAgOiBDb21waWxlclRp
bWluZ1Njb3BlKCJCMyIsIG5hbWUpCi0gICAgewotICAgIH0KLX07Ci0KLX0gfSAvLyBuYW1lc3Bh
Y2UgSlNDOjpCMwotCi0jZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlTGl2ZW5lc3MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzVmFyaWFibGVMaXZlbmVzcy5jcHAKaW5kZXggYzFmMjAzMTViMmRmLi42
YjI5MjE5ZWUyMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zhcmlh
YmxlTGl2ZW5lc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxl
TGl2ZW5lc3MuY3BwCkBAIC0yOCwxNCArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAK
LSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisjaW5jbHVkZSAiQ29tcGlsZXJUaW1pbmdTY29w
ZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAogVmFyaWFibGVMaXZlbmVz
czo6VmFyaWFibGVMaXZlbmVzcyhQcm9jZWR1cmUmIHByb2MpCiAgICAgOiBXVEY6OkxpdmVuZXNz
PFZhcmlhYmxlTGl2ZW5lc3NBZGFwdGVyPihwcm9jLmNmZygpLCBwcm9jKQogewotICAgIFRpbWlu
Z1Njb3BlIHRpbWluZ1Njb3BlKCJCMzo6VmFyaWFibGVMaXZlbmVzcyIpOworICAgIENvbXBpbGVy
VGltaW5nU2NvcGUgdGltaW5nU2NvcGUoIkIzIiwgIlZhcmlhYmxlTGl2ZW5lc3MiKTsKICAgICBj
b21wdXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0FuZEdlbmVyYXRlQ29kZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQW5kU3RhY2tBbmRHZW5l
cmF0ZUNvZGUuY3BwCmluZGV4IDI2NzcyNzYzYjQ5NS4uODQ4NWE3OGY1NDNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQW5kU3Rh
Y2tBbmRHZW5lcmF0ZUNvZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0FuZEdlbmVyYXRlQ29kZS5jcHAKQEAgLTQxOCw3
ICs0MTgsNyBAQCB2b2lkIEdlbmVyYXRlQW5kQWxsb2NhdGVSZWdpc3RlcnM6OmdlbmVyYXRlKEND
YWxsSGVscGVycyYgaml0KQogewogICAgIG1faml0ID0gJmppdDsKIAotICAgIFRpbWluZ1Njb3Bl
IHRpbWluZ1Njb3BlKCJBaXI6OmdlbmVyYXRlQW5kQWxsb2NhdGVSZWdpc3RlcnMiKTsKKyAgICBD
b21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJBaXIiLCAiR2VuZXJhdGVBbmRBbGxvY2F0
ZVJlZ2lzdGVyczo6Z2VuZXJhdGUiKTsKIAogICAgIERpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0
ZXJVc2FnZSBkaXNhbGxvd1NjcmF0Y2goKm1faml0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJT
Y2FuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3Rl
cnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKaW5kZXggZjc5NzlhYWYzNDg5Li4zMDRhZGZjNDA2
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcApA
QCAtMjI4LDcgKzIyOCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBidWlsZEludGVydmFs
cygpCiAgICAgewotICAgICAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiTGluZWFyU2Nhbjo6
YnVpbGRJbnRlcnZhbHMiKTsKKyAgICAgICAgQ29tcGlsZXJUaW1pbmdTY29wZSB0aW1pbmdTY29w
ZSgiQWlyIiwgIkxpbmVhclNjYW46OmJ1aWxkSW50ZXJ2YWxzIik7CiAgICAgICAgIFVuaWZpZWRU
bXBMaXZlbmVzcyBsaXZlbmVzcyhtX2NvZGUpOwogICAgICAgICAKICAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBibG9jayA6IG1fY29kZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L0FpckdlbmVyYXRlLmNwcAppbmRleCAzMzg1NmE3MGI1YzEuLjFlZjBlYmQ5ZGQ0MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAKQEAgLTQ5LDcgKzQ5
LDcgQEAKICNpbmNsdWRlICJBaXJWYWxpZGF0ZS5oIgogI2luY2x1ZGUgIkIzQ29tbW9uLmgiCiAj
aW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisjaW5j
bHVkZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgog
I2luY2x1ZGUgIkRpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZS5oIgogI2luY2x1ZGUg
PHd0Zi9JbmRleE1hcC5oPgpAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIEIzIHsgbmFtZXNwYWNlIEFpciB7CiAKIHZvaWQgcHJlcGFyZUZvckdlbmVyYXRpb24oQ29k
ZSYgY29kZSkKIHsKLSAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQWlyOjpwcmVwYXJlRm9y
R2VuZXJhdGlvbiIpOworICAgIENvbXBpbGVyVGltaW5nU2NvcGUgdGltaW5nU2NvcGUoIlRvdGFs
IEFpciIsICJwcmVwYXJlRm9yR2VuZXJhdGlvbiIpOwogICAgIAogICAgIC8vIElmIHdlJ3JlIGRv
aW5nIHN1cGVyIHZlcmJvc2UgZHVtcGluZywgdGhlIHBoYXNlIHNjb3BlIG9mIGFueSBwaGFzZSB3
aWxsIGFscmVhZHkgZG8gYSBkdW1wLgogICAgIGlmIChzaG91bGREdW1wSVIoY29kZS5wcm9jKCks
IEFpck1vZGUpICYmICFzaG91bGREdW1wSVJBdEVhY2hQaGFzZShBaXJNb2RlKSkgewpAQCAtMTkx
LDcgKzE5MSw3IEBAIHZvaWQgcHJlcGFyZUZvckdlbmVyYXRpb24oQ29kZSYgY29kZSkKIAogc3Rh
dGljIHZvaWQgZ2VuZXJhdGVXaXRoQWxyZWFkeUFsbG9jYXRlZFJlZ2lzdGVycyhDb2RlJiBjb2Rl
LCBDQ2FsbEhlbHBlcnMmIGppdCkKIHsKLSAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQWly
OjpnZW5lcmF0ZSIpOworICAgIENvbXBpbGVyVGltaW5nU2NvcGUgdGltaW5nU2NvcGUoIkFpciIs
ICJnZW5lcmF0ZVdpdGhBbHJlYWR5QWxsb2NhdGVkUmVnaXN0ZXJzIik7CiAKICAgICBEaXNhbGxv
d01hY3JvU2NyYXRjaFJlZ2lzdGVyVXNhZ2UgZGlzYWxsb3dTY3JhdGNoKGppdCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTGl2ZW5lc3MuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTGl2ZW5lc3MuaAppbmRleCBkMzY5ZDE4NjA3MTgu
LmZmYTZhNzgwMTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9B
aXJMaXZlbmVzcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTGl2ZW5l
c3MuaApAQCAtMjgsNyArMjgsNyBAQAogI2lmIEVOQUJMRShCM19KSVQpCiAKICNpbmNsdWRlICJB
aXJMaXZlbmVzc0FkYXB0ZXIuaCIKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisjaW5jbHVk
ZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9MaXZlbmVzcy5oPgogCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICAg
ICAgOiBXVEY6OkxpdmVuZXNzPEFkYXB0ZXI+KGNvZGUuY2ZnKCksIGNvZGUpCiAgICAgewogICAg
ICAgICBTdXBlclNhbXBsZXJTY29wZSBzYW1wbGluZ1Njb3BlKGZhbHNlKTsKLSAgICAgICAgVGlt
aW5nU2NvcGUgdGltaW5nU2NvcGUoIkFpcjo6TGl2ZW5lc3MiKTsKKyAgICAgICAgQ29tcGlsZXJU
aW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQWlyIiwgIkxpdmVuZXNzIik7CiAgICAgICAgIFdURjo6
TGl2ZW5lc3M8QWRhcHRlcj46OmNvbXB1dGUoKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQaGFzZVNjb3BlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9haXIvQWlyUGhhc2VTY29wZS5jcHAKaW5kZXggMmU2MmU2YmY1ZjU5Li42
NjU1MmM1NmZkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWly
UGhhc2VTY29wZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQaGFz
ZVNjb3BlLmNwcApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIz
IHsgbmFtZXNwYWNlIEFpciB7CiBQaGFzZVNjb3BlOjpQaGFzZVNjb3BlKENvZGUmIGNvZGUsIGNv
bnN0IGNoYXIqIG5hbWUpCiAgICAgOiBtX2NvZGUoY29kZSkKICAgICAsIG1fbmFtZShuYW1lKQot
ICAgICwgbV90aW1pbmdTY29wZShuYW1lKQorICAgICwgbV90aW1pbmdTY29wZSgiQWlyIiwgbmFt
ZSkKIHsKICAgICBpZiAoc2hvdWxkRHVtcElSQXRFYWNoUGhhc2UoQWlyTW9kZSkpIHsKICAgICAg
ICAgZGF0YUxvZygiQWlyIGFmdGVyICIsIGNvZGUubGFzdFBoYXNlTmFtZSgpLCAiLCBiZWZvcmUg
IiwgbmFtZSwgIjpcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fp
ci9BaXJQaGFzZVNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclBoYXNl
U2NvcGUuaAppbmRleCA3MWY3ODhmY2VkZmQuLjRkZjkzNTRmYmIyMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQaGFzZVNjb3BlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQaGFzZVNjb3BlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAog
I2lmIEVOQUJMRShCM19KSVQpCiAKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisjaW5jbHVk
ZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIENvZGUmIG1fY29kZTsKICAgICBjb25zdCBjaGFyKiBtX25hbWU7Ci0g
ICAgVGltaW5nU2NvcGUgbV90aW1pbmdTY29wZTsKKyAgICBDb21waWxlclRpbWluZ1Njb3BlIG1f
dGltaW5nU2NvcGU7CiAgICAgQ1N0cmluZyBtX2R1bXBCZWZvcmU7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvQ29tcGlsZXJUaW1pbmdTY29wZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvQ29tcGlsZXJUaW1pbmdTY29wZS5jcHAKaW5kZXgg
OWNjNWE5ZjBhZGM5Li5jMDUwNzYwNjRjYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90b29scy9Db21waWxlclRpbWluZ1Njb3BlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdG9vbHMvQ29tcGlsZXJUaW1pbmdTY29wZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02Miw3ICs2Miw3IEBAIHB1
YmxpYzoKICAgICB7CiAgICAgICAgIGZvciAoYXV0byYgdHVwbGUgOiB0b3RhbHMpIHsKICAgICAg
ICAgICAgIGRhdGFMb2dMbigKLSAgICAgICAgICAgICAgICAiWyIsIHN0ZDo6Z2V0PDA+KHR1cGxl
KSwgIl0gIiwgc3RkOjpnZXQ8MT4odHVwbGUpLCAiIHRvdGFsIG1zOiAiLCBzdGQ6OmdldDwyPih0
dXBsZSkubWlsbGlzZWNvbmRzKCksICIgbWF4IG1zOiAiLCBzdGQ6OmdldDwzPih0dXBsZSkubWls
bGlzZWNvbmRzKCkpOworICAgICAgICAgICAgICAgICJ0b3RhbCBtczogIiwgRml4ZWRXaWR0aERv
dWJsZShzdGQ6OmdldDwyPih0dXBsZSkubWlsbGlzZWNvbmRzKCksIDgsIDMpLCAiIG1heCBtczog
IiwgRml4ZWRXaWR0aERvdWJsZShzdGQ6OmdldDwzPih0dXBsZSkubWlsbGlzZWNvbmRzKCksIDcs
IDMpLCAiIFsiLCBzdGQ6OmdldDwwPih0dXBsZSksICJdICIsIHN0ZDo6Z2V0PDE+KHR1cGxlKSk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiOGQ4YTE1ZWQxZi4uNWMzYWY3NmUzMGNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAyLTIxICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jp
c3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gRm9ybWF0IHRoZSBvdXRwdXQgb2YgLS1y
ZXBvcnRUb3RhbFBoYXNlVGltZXM9MSBtb3JlIG5pY2VseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZpeGVkV2lkdGhEb3VibGUsIHdoaWNoIGFs
bG93cyBlYXNpbHkgcHJpbnRpbmcgYSBkb3VibGUgd2l0aCBzb21lIHdoaXRlc3BhY2UgdG8gcGFk
IGl0IG91dCBpZiBpdCBpcyBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQuCisgICAgICAgIEl0cyBkZXNp
Z24gcm91Z2hseSBmb2xsb3dzIFJhd1BvaW50ZXIgd2hpY2ggc2ltaWxhcmx5IGFsbG93cyBzcGVj
aWFsIGZvcm1hdHRpbmcgb2YgYSBraW5kIG9mIG51bWJlci4KKworICAgICAgICAqIFdURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiB3dGYvRml4ZWRXaWR0aERvdWJsZS5oOiBBZGRlZC4KKyAgICAgICAgKFdURjo6Rml4
ZWRXaWR0aERvdWJsZTo6Rml4ZWRXaWR0aERvdWJsZSk6CisgICAgICAgIChXVEY6OkZpeGVkV2lk
dGhEb3VibGU6OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdURjo6Rml4ZWRXaWR0aERvdWJsZTo6
d2lkdGggY29uc3QpOgorICAgICAgICAoV1RGOjpGaXhlZFdpZHRoRG91YmxlOjpwcmVjaXNpb24g
Y29uc3QpOgorICAgICAgICAqIHd0Zi9QcmludFN0cmVhbS5jcHA6CisgICAgICAgIChXVEY6OnBy
aW50SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi9QcmludFN0cmVhbS5oOgorCiAyMDIyLTAyLTE4
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTYWZh
cmkgY2FuIHNvbWV0aW1lcyBoYW5nIHdoaWxlIHByaW50aW5nIGR1ZSB0byBzeW5jIElQQwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDk3MGVhNDdkNTU4Li45
ZDgyODc3YTYxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTcsNiArNTcsNyBAQAogCQkyQ0RFRDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBG
MTE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgKi87IH07CiAJCTMzMzdEQjlDRTc0MzQx
MEZBRjA3NkUxNyAvKiBTdGFja1RyYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxM0VERUM5Nzc4RTQ5QzlCRUE5MUNGQyAvKiBTdGFja1RyYWNl
LmNwcCAqLzsgfTsKIAkJMzM3QjJENkEyNjU0NkVCMzAwRERGRDNEIC8qIExpa2VseURlbnNlVW5z
aWduZWRJbnRlZ2VyU2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMzN0IyRDY4MjY1NDZFQUEwMERERkQzRCAvKiBMaWtlbHlEZW5zZVVuc2lnbmVk
SW50ZWdlclNldC5jcHAgKi87IH07CisJCTMzOUI3QjExMjdDNDVFRjUwMDcyQkY5QSAvKiBGaXhl
ZFdpZHRoRG91YmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMzQ3OUMxQzI3MjM2RjIwMDBCMkUxQjcgLyogRml4ZWRXaWR0aERvdWJsZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0MjdDNUFBMjFG
NkQ2QzMwMEE2MTJBNCAvKiBBU0NJSUNUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MjdDNUE5MjFGNkQ2QzMwMEE2MTJBNCAvKiBBU0NJSUNU
eXBlLmNwcCAqLzsgfTsKIAkJNDZCRUI2RUIyMkZGRTI0OTAwMjY5ODY3IC8qIFJlZkNvdW50ZWQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRUI2
RTkyMkZGRERENTAwMjY5ODY3IC8qIFJlZkNvdW50ZWQuY3BwICovOyB9OwogCQk0NkU5MzA0OTI3
MUYxMjA1MDA1QkE2RTUgLyogU2FmZVN0cmVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RTQzNjQ3MjcxRjEwQUEwMEM4OEM5MCAvKiBTYWZl
U3RyZXJyb3IuY3BwICovOyB9OwpAQCAtMTM5MSw2ICsxMzkyLDcgQEAKIAkJMzA0Q0E0RTQxMzc1
NDM3RUJFOTMxRDAzIC8qIE1hcmthYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1hcmthYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzdFMUQ3REJE
ODRBQzM4RkFFNEQzNCAvKiBJbmRleFNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbmRleFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTNFREVDOTc3
OEU0OUM5QkVBOTFDRkMgLyogU3RhY2tUcmFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdGFja1RyYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzM0NzlDMUMyNzIzNkYyMDAwQjJFMUI3IC8qIEZpeGVkV2lkdGhEb3VibGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRml4ZWRXaWR0aERvdWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMzdCMkQ2ODI2NTQ2RUFBMDBEREZEM0QgLyogTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJT
ZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJTZXQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzdCMkQ2OTI2NTQ2RUFBMDBEREZE
M0QgLyogTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlr
ZWx5RGVuc2VVbnNpZ25lZEludGVnZXJTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzNGRDQ4MTEyNjVDQjM4MDAwQUJFNEY0IC8qIEludGVyZmVyZW5jZUdyYXBoLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEludGVyZmVyZW5jZUdyYXBoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yMjc4LDYgKzIyODAsNyBAQAogCQkJCUE4QTQ3MkExMTUxQTgyNUEwMDQxMjNGRiAvKiBG
YXN0TWFsbG9jLmNwcCAqLywKIAkJCQlBOEE0NzJBMjE1MUE4MjVBMDA0MTIzRkYgLyogRmFzdE1h
bGxvYy5oICovLAogCQkJCTBGNzlDN0MzMUU3MzUxMTgwMEVCMzREMSAvKiBGYXN0VExTLmggKi8s
CisJCQkJMzM0NzlDMUMyNzIzNkYyMDAwQjJFMUI3IC8qIEZpeGVkV2lkdGhEb3VibGUuaCAqLywK
IAkJCQkwRjlEMzM1QjE2NURCQTczMDA1QUQzODcgLyogRmlsZVByaW50U3RyZWFtLmNwcCAqLywK
IAkJCQkwRjlEMzM1QzE2NURCQTczMDA1QUQzODcgLyogRmlsZVByaW50U3RyZWFtLmggKi8sCiAJ
CQkJQTMzMUQ5NUEyMUYyNDk5MjAwOUYwMkFBIC8qIEZpbGVTeXN0ZW0uY3BwICovLApAQCAtMzA4
MCw2ICszMDgzLDcgQEAKIAkJCQlERDNEQzk5RDI3QTRCRjhFMDA3RTVCNjEgLyogQ29uY3VycmVu
dFB0ckhhc2hTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUREM0RDODhGMjdBNEJGOEUwMDdFNUI2
MSAvKiBDb25jdXJyZW50VmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDNEQzhEMDI3QTRC
RjhFMDA3RTVCNjEgLyogQ29uZGl0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMzlCN0IxMTI3
QzQ1RUY1MDA3MkJGOUEgLyogRml4ZWRXaWR0aERvdWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
REQzREM4RDEyN0E0QkY4RTAwN0U1QjYxIC8qIENvdW50aW5nTG9jay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJREQzREM5MjYyN0E0QkY4RTAwN0U1QjYxIC8qIENQVVRpbWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUREM0RDOTZEMjdBNEJGOEUwMDdFNUI2MSAvKiBDcm9zc1RocmVhZENvcGllci5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDBmOTM2NWU0ODU4Yi4uODc4OWUy
YzMzOTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNzUsNiArNzUsNyBAQCBzZXQoV1RGX1BV
QkxJQ19IRUFERVJTCiAgICAgRmlsZVByaW50U3RyZWFtLmgKICAgICBGaWxlU3lzdGVtLmgKICAg
ICBGaXhlZFZlY3Rvci5oCisgICAgRml4ZWRXaWR0aERvdWJsZS5oCiAgICAgRmxpcEJ5dGVzLmgK
ICAgICBGb3JiaWRIZWFwQWxsb2NhdGlvbi5oCiAgICAgRm9yd2FyZC5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9GaXhlZFdpZHRoRG91YmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi9GaXhlZFdp
ZHRoRG91YmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lYWYz
Y2M0OTQ4ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaXhlZFdpZHRoRG91
YmxlLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1l
c3BhY2UgV1RGIHsKKworY2xhc3MgRml4ZWRXaWR0aERvdWJsZSB7CitwdWJsaWM6CisgICAgRml4
ZWRXaWR0aERvdWJsZSgpID0gZGVsZXRlOworCisgICAgZXhwbGljaXQgRml4ZWRXaWR0aERvdWJs
ZShkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHdpZHRoID0gOCwgdW5zaWduZWQgcHJlY2lzaW9uID0g
NikKKyAgICAgICAgOiBtX3ZhbHVlKHZhbHVlKQorICAgICAgICAsIG1fd2lkdGgod2lkdGgpCisg
ICAgICAgICwgbV9wcmVjaXNpb24ocHJlY2lzaW9uKQorICAgIHsKKyAgICB9CisKKyAgICBkb3Vi
bGUgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CisgICAgdW5zaWduZWQgd2lkdGgo
KSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CisgICAgdW5zaWduZWQgcHJlY2lzaW9uKCkgY29u
c3QgeyByZXR1cm4gbV9wcmVjaXNpb247IH0KKworcHJpdmF0ZToKKyAgICBkb3VibGUgbV92YWx1
ZTsKKyAgICB1bnNpZ25lZCBtX3dpZHRoOworICAgIHVuc2lnbmVkIG1fcHJlY2lzaW9uOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6Rml4ZWRXaWR0aERvdWJsZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L1ByaW50U3RyZWFtLmNwcAppbmRleCBiYjUzZjI3MDk4NTAuLmVkY2NlYmQwOWM2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1ByaW50U3RyZWFtLmNwcApAQCAtMTgzLDYgKzE4MywxMSBAQCB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mIG91dCwgUmF3UG9pbnRlciB2YWx1ZSkKICAgICBvdXQucHJpbnRmKCIlcCIs
IHZhbHVlLnZhbHVlKCkpOwogfQogCit2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgRml4ZWRXaWR0aERvdWJsZSB2YWx1ZSkKK3sKKyAgICBvdXQucHJpbnRmKCIlKi4qbGYiLCB2
YWx1ZS53aWR0aCgpLCB2YWx1ZS5wcmVjaXNpb24oKSwgdmFsdWUudmFsdWUoKSk7Cit9CisKIHZv
aWQgZHVtcENoYXJhY3RlcihQcmludFN0cmVhbSYgb3V0LCBjaGFyIHZhbHVlKQogewogICAgIG91
dC5wcmludGYoIiVjIiwgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUHJpbnRT
dHJlYW0uaCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKaW5kZXggZDRmZmU4NzY3MjRi
Li40ZTQxOTMxNjY2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgK
KysrIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgPHR1cGxlPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvRml4ZWRXaWR0aERvdWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SYXdQb2ludGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTIyLDYgKzEyMyw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCB1bnNpZ25lZCBsb25nIGxvbmcpOwogV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIGZsb2F0KTsK
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBkb3Vi
bGUpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYs
IFJhd1BvaW50ZXIpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYsIEZpeGVkV2lkdGhEb3VibGUpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IFQmIHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452798</attachid>
            <date>2022-02-21 16:41:05 -0800</date>
            <delta_ts>2022-02-21 22:55:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patchReportTotalPhaseTimes</filename>
            <type>text/plain</type>
            <size>27739</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZkOTQzZmRmMGY0Ni4uNmQxZmE3YjYwNWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEgKzEsNTUgQEAKKzIwMjItMDItMjEgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBGb3JtYXQg
dGhlIG91dHB1dCBvZiAtLXJlcG9ydFRvdGFsUGhhc2VUaW1lcz0xIG1vcmUgbmljZWx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcwMDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgdGhpcyBw
YXRjaDoKKyAgICAgICAgW0IzXSBtb3ZlQ29uc3RhbnRzIHRvdGFsIG1zOiA2NC4zMDc1ODMgbWF4
IG1zOiAxLjcwMzE2NworICAgICAgICBbQjNdIGxvd2VyVG9BaXIgdG90YWwgbXM6IDE1MS4yOTc3
ODIgbWF4IG1zOiA1LjQyNjM3NQorICAgICAgICBbQjNdIGdlbmVyYXRlVG9BaXIgdG90YWwgbXM6
IDE2MjMuOTg3MTY2IG1heCBtczogOTIuODI2NzUwCisgICAgICAgIFtCM10gc2ltcGxpZnlDRkcg
dG90YWwgbXM6IDExLjc2MDQ2MyBtYXggbXM6IDEuMDg4MDgzCisgICAgICAgIFtCM10gQWlyOjps
b3dlck1hY3JvcyB0b3RhbCBtczogNS45NzU2NzkgbWF4IG1zOiAwLjM4MjAwMAorCisgICAgICAg
IEFmdGVyIHRoaXMgcGF0Y2g6CisgICAgICAgIHRvdGFsIG1zOiAgIDY2LjMyOCBtYXggbXM6ICAg
Mi4yODMgW0IzXSBtb3ZlQ29uc3RhbnRzCisgICAgICAgIHRvdGFsIG1zOiAgMTQ4LjA5NyBtYXgg
bXM6ICAgNS4zNjEgW0IzXSBsb3dlclRvQWlyCisgICAgICAgIHRvdGFsIG1zOiAxNjE5LjExNSBt
YXggbXM6ICA5Ni4zMDcgW1RvdGFsIEIzXSBnZW5lcmF0ZVRvQWlyCisgICAgICAgIHRvdGFsIG1z
OiAgIDExLjk1OSBtYXggbXM6ICAgMS4xODUgW0Fpcl0gc2ltcGxpZnlDRkcKKyAgICAgICAgdG90
YWwgbXM6ICAgIDYuNTE5IG1heCBtczogICAwLjY5NyBbQWlyXSBBaXI6Omxvd2VyTWFjcm9zCisK
KyAgICAgICAgQ29uY3JldGVseSB0aGVyZSBhcmUgdHdvIGNoYW5nZXM6CisgICAgICAgIC0gdXNl
IEZpeGVkV2lkdGhEb3VibGUgKGFsc28gaW50cm9kdWNlZCB0byBXVEYgaW4gdGhpcyBwYXRjaCkg
dG8gbGluZS11cCB0aGUgdG90YWwgdGltZXMuCisgICAgICAgICAgVGhpcyBtYWtlcyBpdCBwb3Nz
aWJsZSB0byBzZWUgYXQgYSBnbGFuY2Ugd2hpY2ggcGhhc2VzIGFyZSB3b3J0aCBvcHRpbWl6aW5n
IGFuZCB3aGljaCBhcmVuJ3QuCisgICAgICAgIC0gVGFnIHBoYXNlcyBtb3JlIHByZWNpc2VseSwg
YW5kIGluIHBhcnRpY3VsYXIgcmVwbGFjZSBbQjNdIGJ5IFtBaXJdIHdoZXJlIHJlbGV2YW50LAor
ICAgICAgICAgIGFuZCBnaXZlIGRpZmZlcmVudCB0YWdzIHRvIG1lYXN1cmVtZW50cyB0aGF0IGNv
cnJlc3BvbmQgdG8gZ3JvdXBzIG9mIHBoYXNlcyBpbnN0ZWFkIG9mIGEgc2luZ2xlIHBoYXNlIChl
LmcuIGdlbmVyYXRlVG9BaXIpLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiMy9CM0NvbXBpbGUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6Y29tcGlsZSk6CisgICAgICAgICogYjMvQjNGaXhTU0EuY3BwOgorICAgICAgICAq
IGIzL0IzR2VuZXJhdGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6cHJlcGFyZUZvckdlbmVyYXRp
b24pOgorICAgICAgICAoSlNDOjpCMzo6Z2VuZXJhdGVUb0Fpcik6CisgICAgICAgICogYjMvQjNQ
aGFzZVNjb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlBoYXNlU2NvcGU6OlBoYXNlU2NvcGUp
OgorICAgICAgICAqIGIzL0IzUGhhc2VTY29wZS5oOgorICAgICAgICAqIGIzL0IzVGltaW5nU2Nv
cGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKEpTQzo6QjM6OlRpbWluZ1Njb3BlOjpUaW1pbmdTY29w
ZSk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNWYXJpYWJsZUxpdmVuZXNzLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OlZhcmlhYmxlTGl2ZW5lc3M6OlZhcmlhYmxlTGl2ZW5lc3MpOgorICAgICAg
ICAqIGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQW5kR2VuZXJhdGVDb2RlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6R2VuZXJhdGVBbmRBbGxvY2F0ZVJlZ2lzdGVyczo6
Z2VuZXJhdGUpOgorICAgICAgICAqIGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNr
QnlMaW5lYXJTY2FuLmNwcDoKKyAgICAgICAgKiBiMy9haXIvQWlyR2VuZXJhdGUuY3BwOgorICAg
ICAgICAoSlNDOjpCMzo6QWlyOjpwcmVwYXJlRm9yR2VuZXJhdGlvbik6CisgICAgICAgIChKU0M6
OkIzOjpBaXI6OmdlbmVyYXRlV2l0aEFscmVhZHlBbGxvY2F0ZWRSZWdpc3RlcnMpOgorICAgICAg
ICAqIGIzL2Fpci9BaXJMaXZlbmVzcy5oOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpMaXZlbmVz
czo6TGl2ZW5lc3MpOgorICAgICAgICAqIGIzL2Fpci9BaXJQaGFzZVNjb3BlLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OkFpcjo6UGhhc2VTY29wZTo6UGhhc2VTY29wZSk6CisgICAgICAgICogYjMv
YWlyL0FpclBoYXNlU2NvcGUuaDoKKyAgICAgICAgKiB0b29scy9Db21waWxlclRpbWluZ1Njb3Bl
LmNwcDoKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMjItMDItMjIgPT0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzY0MDYyNTEwMjA5Li5mYjUxZmY5ZTM5ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjQsNyArMzI0LDYgQEAKIAkJMEY0NEE3
QjQyMEJGNjhEOTAwMjJCMTcxIC8qIFRlcm1pbmF0ZWRDb2RlT3JpZ2luLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ0QTdBODIwQkY2ODVFMDAyMkIx
NzEgLyogVGVybWluYXRlZENvZGVPcmlnaW4uaCAqLzsgfTsKIAkJMEY0NTcwMzkxQkU0NEM5MTAw
NjJBNjI5IC8qIEFpckVsaW1pbmF0ZURlYWRDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ1NzAzNzFCRTQ0QzkxMDA2MkE2MjkgLyogQWlyRWxp
bWluYXRlRGVhZENvZGUuaCAqLzsgfTsKIAkJMEY0NTcwM0QxQkU0NUYwQTAwNjJBNjI5IC8qIEFp
clJlcG9ydFVzZWRSZWdpc3RlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNDU3MDNCMUJFNDVGMEEwMDYyQTYyOSAvKiBBaXJSZXBvcnRVc2VkUmVn
aXN0ZXJzLmggKi87IH07Ci0JCTBGNDU3MDQxMUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Nj
b3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ1
NzAzRjFCRTU4NENBMDA2MkE2MjkgLyogQjNUaW1pbmdTY29wZS5oICovOyB9OwogCQkwRjQ2ODA4
MjE0QkE1NzJEMDBCRkUyNzIgLyogSklURXhjZXB0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NjgwODAxNEJBNTcyNzAwQkZFMjcyIC8qIEpJ
VEV4Y2VwdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRjQ2ODBBMzE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODA5RTE0QkE3
RjgyMDBCRkUyNzIgLyogTExJbnRFeGNlcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY0NjgwQTUxNEJBN0Y4RDAwQkZFMjcyIC8qIExM
SW50U2xvd1BhdGhzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjQ2ODBBMDE0QkE3RjgyMDBCRkUyNzIgLyogTExJbnRTbG93UGF0aHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjc2Niw3ICsyNzY1
LDYgQEAKIAkJMEY0NTcwMzcxQkU0NEM5MTAwNjJBNjI5IC8qIEFpckVsaW1pbmF0ZURlYWRDb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFpckVsaW1pbmF0ZURlYWRDb2Rl
Lmg7IHBhdGggPSBiMy9haXIvQWlyRWxpbWluYXRlRGVhZENvZGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY0NTcwM0ExQkU0NUYwQTAwNjJBNjI5IC8qIEFpclJlcG9ydFVzZWRS
ZWdpc3RlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWlyUmVw
b3J0VXNlZFJlZ2lzdGVycy5jcHA7IHBhdGggPSBiMy9haXIvQWlyUmVwb3J0VXNlZFJlZ2lzdGVy
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDU3MDNCMUJFNDVGMEEwMDYy
QTYyOSAvKiBBaXJSZXBvcnRVc2VkUmVnaXN0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEFpclJlcG9ydFVzZWRSZWdpc3RlcnMuaDsgcGF0aCA9IGIzL2Fpci9BaXJSZXBv
cnRVc2VkUmVnaXN0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGNDU3MDNG
MUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Njb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEIzVGltaW5nU2NvcGUuaDsgcGF0aCA9IGIzL0IzVGltaW5nU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8q
IEpJVEV4Y2VwdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SklURXhjZXB0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDY4MDgw
MTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpJVEV4Y2VwdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEY0NjgwOUQxNEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuY3BwOyBwYXRo
ID0gbGxpbnQvTExJbnRFeGNlcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTYyMzUsNyArNjIzMyw2IEBACiAJCQkJMEZFQzg0RUUxQkRBQ0RBQzAwODBGRjc0IC8qIEIz
U3dpdGNoQ2FzZS5oICovLAogCQkJCTBGRUM4NEVGMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1N3aXRj
aFZhbHVlLmNwcCAqLywKIAkJCQkwRkVDODRGMDFCREFDREFDMDA4MEZGNzQgLyogQjNTd2l0Y2hW
YWx1ZS5oICovLAotCQkJCTBGNDU3MDNGMUJFNTg0Q0EwMDYyQTYyOSAvKiBCM1RpbWluZ1Njb3Bl
LmggKi8sCiAJCQkJMEZFQzg0RjExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVHlwZS5jcHAgKi8sCiAJ
CQkJMEZFQzg0RjIxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVHlwZS5oICovLAogCQkJCURDRkRGQkQ4
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCAqLywKQEAgLTk4MjYsNyArOTgyMyw2IEBA
CiAJCQkJMEZFQzg1MzYxQkRBQ0RBQzAwODBGRjc0IC8qIEIzU3VjY2Vzc29yQ29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQzg1MzgxQkRBQ0RBQzAwODBGRjc0IC8qIEIzU3dpdGNo
Q2FzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQzg1M0ExQkRBQ0RBQzAwODBGRjc0IC8qIEIz
U3dpdGNoVmFsdWUuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGNDU3MDQxMUJFNTg0Q0EwMDYyQTYy
OSAvKiBCM1RpbWluZ1Njb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODUzQzFCREFDREFD
MDA4MEZGNzQgLyogQjNUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEQ0ZERkJEQTFEMUY1RDlF
MDBGRTNENzIgLyogQjNUeXBlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODUzRTFCREFD
REFDMDA4MEZGNzQgLyogQjNVcHNpbG9uVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb21waWxlLmNwcAppbmRleCAzMzgxNTc4ODZmMmEuLjVkM2IwYzJiNjFk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tcGlsZS5jcHAKQEAgLTMwLDE1ICszMCwx
NSBAQAogCiAjaW5jbHVkZSAiQjNHZW5lcmF0ZS5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJlLmgi
Ci0jaW5jbHVkZSAiQjNUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgor
I2luY2x1ZGUgIkNvbXBpbGVyVGltaW5nU2NvcGUuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgi
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBDb21waWxhdGlvbiBjb21waWxl
KFByb2NlZHVyZSYgcHJvYykKIHsKLSAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQ29tcGls
YXRpb24iKTsKKyAgICBDb21waWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJUb3RhbCBCMytB
aXIiLCAiY29tcGlsZSIpOwogICAgIAogICAgIHByZXBhcmVGb3JHZW5lcmF0aW9uKHByb2MpOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRml4U1NBLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZpeFNTQS5jcHAKaW5kZXggNThiNjZhYjIyNzk1
Li4yYjVmMzA2OTFiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Zp
eFNTQS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRml4U1NBLmNwcApAQCAt
MzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkIzVmFyaWFibGUuaCIKICNpbmNsdWRlICJCM1Zhcmlh
YmxlTGl2ZW5lc3MuaCIKICNpbmNsdWRlICJCM1ZhcmlhYmxlVmFsdWUuaCIKKyNpbmNsdWRlICJD
b21waWxlclRpbWluZ1Njb3BlLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9JbmRleFNldC5oPgogI2luY2x1ZGUgPHd0Zi9JbmRleFNwYXJzZVNldC5oPgpA
QCAtMTQ5LDcgKzE1MCw3IEBAIHZvaWQgZml4U1NBR2xvYmFsbHkoUHJvY2VkdXJlJiBwcm9jKQog
CiAgICAgLy8gRGVjaWRlIHdoZXJlIFBoaXMgYXJlIHRvIGJlIGluc2VydGVkLiBUaGlzIGNyZWF0
ZXMgdGhlbSBidXQgZG9lcyBub3QgaW5zZXJ0IHRoZW0uCiAgICAgewotICAgICAgICBUaW1pbmdT
Y29wZSB0aW1pbmdTY29wZSgiZml4U1NBOiBjb21wdXRlUGhpcyIpOworICAgICAgICBDb21waWxl
clRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJCMyIsICJmaXhTU0E6IGNvbXB1dGVQaGlzIik7CiAg
ICAgICAgIHNzYS5jb21wdXRlUGhpcygKICAgICAgICAgICAgIFsmXSAoU1NBQ2FsY3VsYXRvcjo6
VmFyaWFibGUqIGNhbGNWYXIsIEJhc2ljQmxvY2sqIGJsb2NrKSAtPiBWYWx1ZSogewogICAgICAg
ICAgICAgICAgIFZhcmlhYmxlKiB2YXJpYWJsZSA9IGNhbGNWYXJUb1ZhcmlhYmxlW2NhbGNWYXIt
PmluZGV4KCldOwpAQCAtMTY3LDcgKzE2OCw3IEBAIHZvaWQgZml4U1NBR2xvYmFsbHkoUHJvY2Vk
dXJlJiBwcm9jKQogICAgIH0KIAogICAgIC8vIE5vdyBwZXJmb3JtIHRoZSBjb252ZXJzaW9uLgot
ICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJmaXhTU0E6IGNvbnZlcnQiKTsKKyAgICBDb21w
aWxlclRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJCMyIsICJmaXhTU0E6IGNvbnZlcnQiKTsKICAg
ICBJbnNlcnRpb25TZXQgaW5zZXJ0aW9uU2V0KHByb2MpOwogICAgIEluZGV4U3BhcnNlU2V0PEtl
eVZhbHVlUGFpcjx1bnNpZ25lZCwgVmFsdWUqPj4gbWFwcGluZyhwcm9jLnZhcmlhYmxlcygpLnNp
emUoKSk7CiAgICAgSW5kZXhTZXQ8VmFsdWUqPiB2YWx1ZXNUb0RlbGV0ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcAppbmRleCA1ZDU0ZmJhZmY4M2IuLjk2MjAyOTQxYmRj
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzR2VuZXJhdGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcApAQCAtNDgsMTQgKzQ4
LDE0IEBACiAjaW5jbHVkZSAiQjNSZWR1Y2VEb3VibGVUb0Zsb2F0LmgiCiAjaW5jbHVkZSAiQjNS
ZWR1Y2VMb29wU3RyZW5ndGguaCIKICNpbmNsdWRlICJCM1JlZHVjZVN0cmVuZ3RoLmgiCi0jaW5j
bHVkZSAiQjNUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgIkIzVmFsaWRhdGUuaCIKKyNpbmNsdWRl
ICJDb21waWxlclRpbWluZ1Njb3BlLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMg
ewogCiB2b2lkIHByZXBhcmVGb3JHZW5lcmF0aW9uKFByb2NlZHVyZSYgcHJvY2VkdXJlKQogewot
ICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJwcmVwYXJlRm9yR2VuZXJhdGlvbiIpOworICAg
IENvbXBpbGVyVGltaW5nU2NvcGUgdGltaW5nU2NvcGUoIlRvdGFsIEIzK0FpciIsICJwcmVwYXJl
Rm9yR2VuZXJhdGlvbiIpOwogCiAgICAgZ2VuZXJhdGVUb0Fpcihwcm9jZWR1cmUpOwogICAgIEFp
cjo6cHJlcGFyZUZvckdlbmVyYXRpb24ocHJvY2VkdXJlLmNvZGUoKSk7CkBAIC02OCw3ICs2OCw3
IEBAIHZvaWQgZ2VuZXJhdGUoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIENDYWxsSGVscGVycyYgaml0
KQogCiB2b2lkIGdlbmVyYXRlVG9BaXIoUHJvY2VkdXJlJiBwcm9jZWR1cmUpCiB7Ci0gICAgVGlt
aW5nU2NvcGUgdGltaW5nU2NvcGUoImdlbmVyYXRlVG9BaXIiKTsKKyAgICBDb21waWxlclRpbWlu
Z1Njb3BlIHRpbWluZ1Njb3BlKCJUb3RhbCBCMyIsICJnZW5lcmF0ZVRvQWlyIik7CiAgICAgCiAg
ICAgaWYgKHNob3VsZER1bXBJUihwcm9jZWR1cmUsIEIzTW9kZSkgJiYgIXNob3VsZER1bXBJUkF0
RWFjaFBoYXNlKEIzTW9kZSkpIHsKICAgICAgICAgZGF0YUxvZyh0aWVyTmFtZSwgIkluaXRpYWwg
QjM6XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BoYXNlU2Nv
cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGhhc2VTY29wZS5jcHAKaW5kZXgg
MjdiMjJkZTIxNTAxLi43YjM5OTg4ZjUxNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1BoYXNlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1BoYXNlU2NvcGUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgQjMgewogUGhhc2VTY29wZTo6UGhhc2VTY29wZShQcm9jZWR1cmUmIHByb2NlZHVyZSwgY29u
c3QgY2hhciogbmFtZSkKICAgICA6IG1fcHJvY2VkdXJlKHByb2NlZHVyZSkKICAgICAsIG1fbmFt
ZShuYW1lKQotICAgICwgbV90aW1pbmdTY29wZShuYW1lKQorICAgICwgbV90aW1pbmdTY29wZSgi
QjMiLCBuYW1lKQogewogICAgIGlmIChzaG91bGREdW1wSVJBdEVhY2hQaGFzZShCM01vZGUpKSB7
CiAgICAgICAgIGRhdGFMb2coIkIzIGFmdGVyICIsIHByb2NlZHVyZS5sYXN0UGhhc2VOYW1lKCks
ICIsIGJlZm9yZSAiLCBuYW1lLCAiOlxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNQaGFzZVNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQaGFz
ZVNjb3BlLmgKaW5kZXggYTE3Njk4ODQ4NjI4Li41M2M5NmI2YmU1ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BoYXNlU2NvcGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNQaGFzZVNjb3BlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJM
RShCM19KSVQpCiAKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCisjaW5jbHVkZSAiQ29tcGls
ZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFByb2NlZHVyZSYgbV9wcm9jZWR1cmU7CiAgICAgY29uc3QgY2hhciogbV9uYW1lOwot
ICAgIFRpbWluZ1Njb3BlIG1fdGltaW5nU2NvcGU7CisgICAgQ29tcGlsZXJUaW1pbmdTY29wZSBt
X3RpbWluZ1Njb3BlOwogICAgIENTdHJpbmcgbV9kdW1wQmVmb3JlOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVGltaW5nU2NvcGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1RpbWluZ1Njb3BlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDY1ODkxODU2MGMwNy4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1RpbWluZ1Njb3BlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoQjNfSklUKQotCi0jaW5jbHVkZSAiQ29tcGlsZXJUaW1pbmdTY29w
ZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKLQotY2xhc3MgVGltaW5nU2Nv
cGUgOiBwdWJsaWMgQ29tcGlsZXJUaW1pbmdTY29wZSB7Ci1wdWJsaWM6Ci0gICAgVGltaW5nU2Nv
cGUoY29uc3QgY2hhciogbmFtZSkKLSAgICAgICAgOiBDb21waWxlclRpbWluZ1Njb3BlKCJCMyIs
IG5hbWUpCi0gICAgewotICAgIH0KLX07Ci0KLX0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwotCi0j
ZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhcmlhYmxlTGl2ZW5lc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
VmFyaWFibGVMaXZlbmVzcy5jcHAKaW5kZXggYzFmMjAzMTViMmRmLi42YjI5MjE5ZWUyMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlTGl2ZW5lc3MuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlTGl2ZW5lc3MuY3BwCkBA
IC0yOCwxNCArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAKLSNpbmNsdWRlICJCM1Rp
bWluZ1Njb3BlLmgiCisjaW5jbHVkZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogCiBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAogVmFyaWFibGVMaXZlbmVzczo6VmFyaWFibGVMaXZl
bmVzcyhQcm9jZWR1cmUmIHByb2MpCiAgICAgOiBXVEY6OkxpdmVuZXNzPFZhcmlhYmxlTGl2ZW5l
c3NBZGFwdGVyPihwcm9jLmNmZygpLCBwcm9jKQogewotICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Nj
b3BlKCJCMzo6VmFyaWFibGVMaXZlbmVzcyIpOworICAgIENvbXBpbGVyVGltaW5nU2NvcGUgdGlt
aW5nU2NvcGUoIkIzIiwgIlZhcmlhYmxlTGl2ZW5lc3MiKTsKICAgICBjb21wdXRlKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNBbmRTdGFja0FuZEdlbmVyYXRlQ29kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQW5kU3RhY2tBbmRHZW5lcmF0ZUNvZGUuY3BwCmlu
ZGV4IDI2NzcyNzYzYjQ5NS4uODQ4NWE3OGY1NDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQW5kU3RhY2tBbmRHZW5lcmF0ZUNv
ZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNBbmRTdGFja0FuZEdlbmVyYXRlQ29kZS5jcHAKQEAgLTQxOCw3ICs0MTgsNyBAQCB2b2lk
IEdlbmVyYXRlQW5kQWxsb2NhdGVSZWdpc3RlcnM6OmdlbmVyYXRlKENDYWxsSGVscGVycyYgaml0
KQogewogICAgIG1faml0ID0gJmppdDsKIAotICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJB
aXI6OmdlbmVyYXRlQW5kQWxsb2NhdGVSZWdpc3RlcnMiKTsKKyAgICBDb21waWxlclRpbWluZ1Nj
b3BlIHRpbWluZ1Njb3BlKCJBaXIiLCAiR2VuZXJhdGVBbmRBbGxvY2F0ZVJlZ2lzdGVyczo6Z2Vu
ZXJhdGUiKTsKIAogICAgIERpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZSBkaXNhbGxv
d1NjcmF0Y2goKm1faml0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGlu
ZWFyU2Nhbi5jcHAKaW5kZXggZjc5NzlhYWYzNDg5Li4zMDRhZGZjNDA2YTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFj
a0J5TGluZWFyU2Nhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJB
bGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcApAQCAtMjI4LDcgKzIyOCw3
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBidWlsZEludGVydmFscygpCiAgICAgewotICAg
ICAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiTGluZWFyU2Nhbjo6YnVpbGRJbnRlcnZhbHMi
KTsKKyAgICAgICAgQ29tcGlsZXJUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQWlyIiwgIkxpbmVh
clNjYW46OmJ1aWxkSW50ZXJ2YWxzIik7CiAgICAgICAgIFVuaWZpZWRUbXBMaXZlbmVzcyBsaXZl
bmVzcyhtX2NvZGUpOwogICAgICAgICAKICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6
IG1fY29kZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJH
ZW5lcmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckdlbmVyYXRlLmNw
cAppbmRleCAzMzg1NmE3MGI1YzEuLjQ5ZWM2ZGUyNTY3YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAKQEAgLTQ5LDggKzQ5LDggQEAKICNpbmNsdWRl
ICJBaXJWYWxpZGF0ZS5oIgogI2luY2x1ZGUgIkIzQ29tbW9uLmgiCiAjaW5jbHVkZSAiQjNQcm9j
ZWR1cmUuaCIKLSNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiQ0NhbGxIZWxw
ZXJzLmgiCisjaW5jbHVkZSAiQ29tcGlsZXJUaW1pbmdTY29wZS5oIgogI2luY2x1ZGUgIkRpc2Fs
bG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZS5oIgogI2luY2x1ZGUgPHd0Zi9JbmRleE1hcC5o
PgogCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgeyBuYW1l
c3BhY2UgQWlyIHsKIAogdm9pZCBwcmVwYXJlRm9yR2VuZXJhdGlvbihDb2RlJiBjb2RlKQogewot
ICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJBaXI6OnByZXBhcmVGb3JHZW5lcmF0aW9uIik7
CisgICAgQ29tcGlsZXJUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiVG90YWwgQWlyIiwgInByZXBh
cmVGb3JHZW5lcmF0aW9uIik7CiAgICAgCiAgICAgLy8gSWYgd2UncmUgZG9pbmcgc3VwZXIgdmVy
Ym9zZSBkdW1waW5nLCB0aGUgcGhhc2Ugc2NvcGUgb2YgYW55IHBoYXNlIHdpbGwgYWxyZWFkeSBk
byBhIGR1bXAuCiAgICAgaWYgKHNob3VsZER1bXBJUihjb2RlLnByb2MoKSwgQWlyTW9kZSkgJiYg
IXNob3VsZER1bXBJUkF0RWFjaFBoYXNlKEFpck1vZGUpKSB7CkBAIC0xOTEsNyArMTkxLDcgQEAg
dm9pZCBwcmVwYXJlRm9yR2VuZXJhdGlvbihDb2RlJiBjb2RlKQogCiBzdGF0aWMgdm9pZCBnZW5l
cmF0ZVdpdGhBbHJlYWR5QWxsb2NhdGVkUmVnaXN0ZXJzKENvZGUmIGNvZGUsIENDYWxsSGVscGVy
cyYgaml0KQogewotICAgIFRpbWluZ1Njb3BlIHRpbWluZ1Njb3BlKCJBaXI6OmdlbmVyYXRlIik7
CisgICAgQ29tcGlsZXJUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiQWlyIiwgImdlbmVyYXRlV2l0
aEFscmVhZHlBbGxvY2F0ZWRSZWdpc3RlcnMiKTsKIAogICAgIERpc2FsbG93TWFjcm9TY3JhdGNo
UmVnaXN0ZXJVc2FnZSBkaXNhbGxvd1NjcmF0Y2goaml0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJMaXZlbmVzcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci9BaXJMaXZlbmVzcy5oCmluZGV4IGQzNjlkMTg2MDcxOC4uZmZhNmE3ODAxNTkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckxpdmVuZXNzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJMaXZlbmVzcy5oCkBAIC0yOCw3
ICsyOCw3IEBACiAjaWYgRU5BQkxFKEIzX0pJVCkKIAogI2luY2x1ZGUgIkFpckxpdmVuZXNzQWRh
cHRlci5oIgotI2luY2x1ZGUgIkIzVGltaW5nU2NvcGUuaCIKKyNpbmNsdWRlICJDb21waWxlclRp
bWluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiU3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0xp
dmVuZXNzLmg+CiAKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgICAgICA6IFdURjo6TGl2
ZW5lc3M8QWRhcHRlcj4oY29kZS5jZmcoKSwgY29kZSkKICAgICB7CiAgICAgICAgIFN1cGVyU2Ft
cGxlclNjb3BlIHNhbXBsaW5nU2NvcGUoZmFsc2UpOwotICAgICAgICBUaW1pbmdTY29wZSB0aW1p
bmdTY29wZSgiQWlyOjpMaXZlbmVzcyIpOworICAgICAgICBDb21waWxlclRpbWluZ1Njb3BlIHRp
bWluZ1Njb3BlKCJBaXIiLCAiTGl2ZW5lc3MiKTsKICAgICAgICAgV1RGOjpMaXZlbmVzczxBZGFw
dGVyPjo6Y29tcHV0ZSgpOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpclBoYXNlU2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L2Fpci9BaXJQaGFzZVNjb3BlLmNwcAppbmRleCAyZTYyZTZiZjVmNTkuLjY2NTUyYzU2ZmQxYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQaGFzZVNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclBoYXNlU2NvcGUuY3BwCkBA
IC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgeyBuYW1lc3BhY2Ug
QWlyIHsKIFBoYXNlU2NvcGU6OlBoYXNlU2NvcGUoQ29kZSYgY29kZSwgY29uc3QgY2hhciogbmFt
ZSkKICAgICA6IG1fY29kZShjb2RlKQogICAgICwgbV9uYW1lKG5hbWUpCi0gICAgLCBtX3RpbWlu
Z1Njb3BlKG5hbWUpCisgICAgLCBtX3RpbWluZ1Njb3BlKCJBaXIiLCBuYW1lKQogewogICAgIGlm
IChzaG91bGREdW1wSVJBdEVhY2hQaGFzZShBaXJNb2RlKSkgewogICAgICAgICBkYXRhTG9nKCJB
aXIgYWZ0ZXIgIiwgY29kZS5sYXN0UGhhc2VOYW1lKCksICIsIGJlZm9yZSAiLCBuYW1lLCAiOlxu
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclBoYXNlU2Nv
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyUGhhc2VTY29wZS5oCmluZGV4
IDcxZjc4OGZjZWRmZC4uNGRmOTM1NGZiYjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpclBoYXNlU2NvcGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpclBoYXNlU2NvcGUuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxFKEIz
X0pJVCkKIAotI2luY2x1ZGUgIkIzVGltaW5nU2NvcGUuaCIKKyNpbmNsdWRlICJDb21waWxlclRp
bWluZ1Njb3BlLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgQ29kZSYgbV9jb2RlOwogICAgIGNvbnN0IGNoYXIqIG1fbmFtZTsKLSAgICBUaW1pbmdTY29w
ZSBtX3RpbWluZ1Njb3BlOworICAgIENvbXBpbGVyVGltaW5nU2NvcGUgbV90aW1pbmdTY29wZTsK
ICAgICBDU3RyaW5nIG1fZHVtcEJlZm9yZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90b29scy9Db21waWxlclRpbWluZ1Njb3BlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90b29scy9Db21waWxlclRpbWluZ1Njb3BlLmNwcAppbmRleCA5Y2M1YTlmMGFkYzku
LmMwNTA3NjA2NGNhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0Nv
bXBpbGVyVGltaW5nU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9D
b21waWxlclRpbWluZ1Njb3BlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgZm9yIChhdXRvJiB0dXBsZSA6IHRvdGFscykgewogICAgICAgICAgICAgZGF0YUxv
Z0xuKAotICAgICAgICAgICAgICAgICJbIiwgc3RkOjpnZXQ8MD4odHVwbGUpLCAiXSAiLCBzdGQ6
OmdldDwxPih0dXBsZSksICIgdG90YWwgbXM6ICIsIHN0ZDo6Z2V0PDI+KHR1cGxlKS5taWxsaXNl
Y29uZHMoKSwgIiBtYXggbXM6ICIsIHN0ZDo6Z2V0PDM+KHR1cGxlKS5taWxsaXNlY29uZHMoKSk7
CisgICAgICAgICAgICAgICAgInRvdGFsIG1zOiAiLCBGaXhlZFdpZHRoRG91YmxlKHN0ZDo6Z2V0
PDI+KHR1cGxlKS5taWxsaXNlY29uZHMoKSwgOCwgMyksICIgbWF4IG1zOiAiLCBGaXhlZFdpZHRo
RG91YmxlKHN0ZDo6Z2V0PDM+KHR1cGxlKS5taWxsaXNlY29uZHMoKSwgNywgMyksICIgWyIsIHN0
ZDo6Z2V0PDA+KHR1cGxlKSwgIl0gIiwgc3RkOjpnZXQ8MT4odHVwbGUpKTsKICAgICAgICAgfQog
ICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKaW5kZXggMGI4ZDhhMTVlZDFmLi41YzNhZjc2ZTMwY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMjItMDItMjEgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBGb3JtYXQgdGhlIG91dHB1dCBvZiAtLXJlcG9ydFRvdGFsUGhh
c2VUaW1lcz0xIG1vcmUgbmljZWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzcwMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgRml4ZWRXaWR0aERvdWJsZSwgd2hpY2ggYWxsb3dzIGVhc2lseSBw
cmludGluZyBhIGRvdWJsZSB3aXRoIHNvbWUgd2hpdGVzcGFjZSB0byBwYWQgaXQgb3V0IGlmIGl0
IGlzIHNtYWxsZXIgdGhhbiBleHBlY3RlZC4KKyAgICAgICAgSXRzIGRlc2lnbiByb3VnaGx5IGZv
bGxvd3MgUmF3UG9pbnRlciB3aGljaCBzaW1pbGFybHkgYWxsb3dzIHNwZWNpYWwgZm9ybWF0dGlu
ZyBvZiBhIGtpbmQgb2YgbnVtYmVyLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9G
aXhlZFdpZHRoRG91YmxlLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpGaXhlZFdpZHRoRG91Ymxl
OjpGaXhlZFdpZHRoRG91YmxlKToKKyAgICAgICAgKFdURjo6Rml4ZWRXaWR0aERvdWJsZTo6dmFs
dWUgY29uc3QpOgorICAgICAgICAoV1RGOjpGaXhlZFdpZHRoRG91YmxlOjp3aWR0aCBjb25zdCk6
CisgICAgICAgIChXVEY6OkZpeGVkV2lkdGhEb3VibGU6OnByZWNpc2lvbiBjb25zdCk6CisgICAg
ICAgICogd3RmL1ByaW50U3RyZWFtLmNwcDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6
CisgICAgICAgICogd3RmL1ByaW50U3RyZWFtLmg6CisKIDIwMjItMDItMTggIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNhZmFyaSBjYW4gc29tZXRp
bWVzIGhhbmcgd2hpbGUgcHJpbnRpbmcgZHVlIHRvIHN5bmMgSVBDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkOTcwZWE0N2Q1NTguLjlkODI4NzdhNjFlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01Nyw2ICs1Nyw3
IEBACiAJCTJDREVEMEYzMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDREVEMEYxMTgxMTVDODUwMDRE
QkE3MCAvKiBSdW5Mb29wLmNwcCAqLzsgfTsKIAkJMzMzN0RCOUNFNzQzNDEwRkFGMDc2RTE3IC8q
IFN0YWNrVHJhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzEzRURFQzk3NzhFNDlDOUJFQTkxQ0ZDIC8qIFN0YWNrVHJhY2UuY3BwICovOyB9Owog
CQkzMzdCMkQ2QTI2NTQ2RUIzMDBEREZEM0QgLyogTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJT
ZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM3
QjJENjgyNjU0NkVBQTAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmNw
cCAqLzsgfTsKKwkJMzM5QjdCMTEyN0M0NUVGNTAwNzJCRjlBIC8qIEZpeGVkV2lkdGhEb3VibGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNDc5QzFD
MjcyMzZGMjAwMEIyRTFCNyAvKiBGaXhlZFdpZHRoRG91YmxlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQyN0M1QUEyMUY2RDZDMzAwQTYxMkE0
IC8qIEFTQ0lJQ1R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQyN0M1QTkyMUY2RDZDMzAwQTYxMkE0IC8qIEFTQ0lJQ1R5cGUuY3BwICovOyB9
OwogCQk0NkJFQjZFQjIyRkZFMjQ5MDAyNjk4NjcgLyogUmVmQ291bnRlZC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZFOTIyRkZEREQ1MDAy
Njk4NjcgLyogUmVmQ291bnRlZC5jcHAgKi87IH07CiAJCTQ2RTkzMDQ5MjcxRjEyMDUwMDVCQTZF
NSAvKiBTYWZlU3RyZXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZFNDM2NDcyNzFGMTBBQTAwQzg4QzkwIC8qIFNhZmVTdHJlcnJvci5jcHAg
Ki87IH07CkBAIC0xMzkxLDYgKzEzOTIsNyBAQAogCQkzMDRDQTRFNDEzNzU0MzdFQkU5MzFEMDMg
LyogTWFya2FibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFya2FibGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEzN0UxRDdEQkQ4NEFDMzhGQUU0RDM0
IC8qIEluZGV4U2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4U2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxM0VERUM5Nzc4RTQ5QzlCRUE5MUNG
QyAvKiBTdGFja1RyYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN0YWNrVHJhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMzQ3OUMxQzI3
MjM2RjIwMDBCMkUxQjcgLyogRml4ZWRXaWR0aERvdWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaXhl
ZFdpZHRoRG91YmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzN0IyRDY4MjY1
NDZFQUEwMERERkQzRCAvKiBMaWtlbHlEZW5zZVVuc2lnbmVkSW50ZWdlclNldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMaWtlbHlEZW5zZVVuc2lnbmVkSW50ZWdlclNldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzN0IyRDY5MjY1NDZFQUEwMERERkQzRCAvKiBMaWtlbHlE
ZW5zZVVuc2lnbmVkSW50ZWdlclNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaWtlbHlEZW5zZVVuc2ln
bmVkSW50ZWdlclNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0ZENDgxMTI2
NUNCMzgwMDBBQkU0RjQgLyogSW50ZXJmZXJlbmNlR3JhcGguaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50
ZXJmZXJlbmNlR3JhcGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNzgsNiAr
MjI4MCw3IEBACiAJCQkJQThBNDcyQTExNTFBODI1QTAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3Bw
ICovLAogCQkJCUE4QTQ3MkEyMTUxQTgyNUEwMDQxMjNGRiAvKiBGYXN0TWFsbG9jLmggKi8sCiAJ
CQkJMEY3OUM3QzMxRTczNTExODAwRUIzNEQxIC8qIEZhc3RUTFMuaCAqLywKKwkJCQkzMzQ3OUMx
QzI3MjM2RjIwMDBCMkUxQjcgLyogRml4ZWRXaWR0aERvdWJsZS5oICovLAogCQkJCTBGOUQzMzVC
MTY1REJBNzMwMDVBRDM4NyAvKiBGaWxlUHJpbnRTdHJlYW0uY3BwICovLAogCQkJCTBGOUQzMzVD
MTY1REJBNzMwMDVBRDM4NyAvKiBGaWxlUHJpbnRTdHJlYW0uaCAqLywKIAkJCQlBMzMxRDk1QTIx
RjI0OTkyMDA5RjAyQUEgLyogRmlsZVN5c3RlbS5jcHAgKi8sCkBAIC0zMDgwLDYgKzMwODMsNyBA
QAogCQkJCUREM0RDOTlEMjdBNEJGOEUwMDdFNUI2MSAvKiBDb25jdXJyZW50UHRySGFzaFNldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQzREM4OEYyN0E0QkY4RTAwN0U1QjYxIC8qIENvbmN1cnJl
bnRWZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUREM0RDOEQwMjdBNEJGOEUwMDdFNUI2MSAv
KiBDb25kaXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTMzOUI3QjExMjdDNDVFRjUwMDcyQkY5
QSAvKiBGaXhlZFdpZHRoRG91YmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDNEQzhEMTI3QTRC
RjhFMDA3RTVCNjEgLyogQ291bnRpbmdMb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDNEQzky
NjI3QTRCRjhFMDA3RTVCNjEgLyogQ1BVVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQzREM5
NkQyN0E0QkY4RTAwN0U1QjYxIC8qIENyb3NzVGhyZWFkQ29waWVyLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggMGY5MzY1ZTQ4NThiLi44Nzg5ZTJjMzM5OTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CkBAIC03NSw2ICs3NSw3IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMK
ICAgICBGaWxlUHJpbnRTdHJlYW0uaAogICAgIEZpbGVTeXN0ZW0uaAogICAgIEZpeGVkVmVjdG9y
LmgKKyAgICBGaXhlZFdpZHRoRG91YmxlLmgKICAgICBGbGlwQnl0ZXMuaAogICAgIEZvcmJpZEhl
YXBBbGxvY2F0aW9uLmgKICAgICBGb3J3YXJkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0ZpeGVkV2lkdGhEb3VibGUuaCBiL1NvdXJjZS9XVEYvd3RmL0ZpeGVkV2lkdGhEb3VibGUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmVhZjNjYzQ5NDhlMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpeGVkV2lkdGhEb3VibGUuaApAQCAtMCww
ICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXVEYgewor
CitjbGFzcyBGaXhlZFdpZHRoRG91YmxlIHsKK3B1YmxpYzoKKyAgICBGaXhlZFdpZHRoRG91Ymxl
KCkgPSBkZWxldGU7CisKKyAgICBleHBsaWNpdCBGaXhlZFdpZHRoRG91YmxlKGRvdWJsZSB2YWx1
ZSwgdW5zaWduZWQgd2lkdGggPSA4LCB1bnNpZ25lZCBwcmVjaXNpb24gPSA2KQorICAgICAgICA6
IG1fdmFsdWUodmFsdWUpCisgICAgICAgICwgbV93aWR0aCh3aWR0aCkKKyAgICAgICAgLCBtX3By
ZWNpc2lvbihwcmVjaXNpb24pCisgICAgeworICAgIH0KKworICAgIGRvdWJsZSB2YWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KKyAgICB1bnNpZ25lZCB3aWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fd2lkdGg7IH0KKyAgICB1bnNpZ25lZCBwcmVjaXNpb24oKSBjb25zdCB7IHJldHVybiBt
X3ByZWNpc2lvbjsgfQorCitwcml2YXRlOgorICAgIGRvdWJsZSBtX3ZhbHVlOworICAgIHVuc2ln
bmVkIG1fd2lkdGg7CisgICAgdW5zaWduZWQgbV9wcmVjaXNpb247Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXVEYKKwordXNpbmcgV1RGOjpGaXhlZFdpZHRoRG91YmxlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0u
Y3BwCmluZGV4IGJiNTNmMjcwOTg1MC4uZWRjY2ViZDA5YzZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0u
Y3BwCkBAIC0xODMsNiArMTgzLDExIEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBSYXdQb2ludGVyIHZhbHVlKQogICAgIG91dC5wcmludGYoIiVwIiwgdmFsdWUudmFsdWUo
KSk7CiB9CiAKK3ZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBGaXhlZFdpZHRo
RG91YmxlIHZhbHVlKQoreworICAgIG91dC5wcmludGYoIiUqLipsZiIsIHZhbHVlLndpZHRoKCks
IHZhbHVlLnByZWNpc2lvbigpLCB2YWx1ZS52YWx1ZSgpKTsKK30KKwogdm9pZCBkdW1wQ2hhcmFj
dGVyKFByaW50U3RyZWFtJiBvdXQsIGNoYXIgdmFsdWUpCiB7CiAgICAgb3V0LnByaW50ZigiJWMi
LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oIGIvU291
cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAppbmRleCBkNGZmZTg3NjcyNGIuLjRlNDE5MzE2NjZl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9QcmludFN0cmVhbS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8dHVwbGU+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9GaXhlZFdpZHRoRG91YmxlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Jhd1BvaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CkBAIC0xMjIsNiArMTIzLDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRl
cm5hbChQcmludFN0cmVhbSYsIHVuc2lnbmVkIGxvbmcgbG9uZyk7CiBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgZmxvYXQpOwogV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIGRvdWJsZSk7CiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgUmF3UG9pbnRlcik7
CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgRml4
ZWRXaWR0aERvdWJsZSk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiB2b2lkIHByaW50SW50ZXJu
YWwoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgVCYgdmFsdWUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>