<?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>214723</bug_id>
          
          <creation_ts>2020-07-24 00:31:42 -0700</creation_ts>
          <short_desc>[Cocoa] Add PerformanceTest tool for measuring raw speed of a video decoder</short_desc>
          <delta_ts>2020-07-24 10:19:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1674561</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-07-24 00:31:42 -0700</bug_when>
    <thetext>[Cocoa] Add PerformanceTest tool for measuring raw speed of a video decoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674562</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-24 00:42:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/66038118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674563</commentid>
    <comment_count>2</comment_count>
      <attachid>405132</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-07-24 00:42:42 -0700</bug_when>
    <thetext>Created attachment 405132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674731</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-24 10:19:24 -0700</bug_when>
    <thetext>Committed r264839: &lt;https://trac.webkit.org/changeset/264839&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405132.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405132</attachid>
            <date>2020-07-24 00:42:42 -0700</date>
            <delta_ts>2020-07-24 10:19:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214723-20200724004241.patch</filename>
            <type>text/plain</type>
            <size>44674</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY2ZGNjN2FjODgzOTNk
ZjhkM2FlMDU3MmQ2Y2I3ZGFjNWNiNzQ4ZC4uNTRiYTFkOTU3YTkxMGNhYTQ2MmQzMDk4MjM4ZTE0
NjUwNmE5MWU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA3LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQWRkIFBlcmZv
cm1hbmNlVGVzdCB0b29sIGZvciBtZWFzdXJpbmcgcmF3IHNwZWVkIG9mIGEgdmlkZW8gZGVjb2Rl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0
IGNsYXNzZXMgdXNlZCBieSB0aGUgRGVjb2RlclRlc3QgcGVyZm9ybWFuY2UgdG9vbC4gRHJpdmUt
YnkgZml4OiBhbGxvdyB0aGUKKyAgICAgICAgY2xpZW50cyB0byBlbmFibGUgb3IgZGlzYWJsZSB0
aGUgaGFyZHdhcmUgZGVjb2RlciBmb3IgYSBnaXZlbiBkZWNvbXByZXNzaW9uIHNlc3Npb24uCisK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGxhdGZvcm0vTWVkaWFTYW1wbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tOgorICAgICAgICAo
V2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnN1cmVEZWNvbXByZXNzaW9u
U2Vzc2lvbkZvclNhbXBsZSk6CisKIDIwMjAtMDctMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hfFdlYk1dIFNlZWtpbmcgY2FuIGxlYXZlIHBhcnNl
ciBpbiBodW5nIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZjdmN2EzNTU0NWZjYTg1MTA3MGMwYzZlYmZkNGRjNzlhZjUy
ZDAwYi4uNmMzZGI3ZTg3OTYyNjdlOGM3YzU0N2IyYjRhMzFiZDY2YzYwMWMyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDEz
MCw3ICs0MTMwLDcgQEAKIAkJQ0Q1NTk2OTExNDc1QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJl
YWRlcklPUy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDU1OTY4RjE0NzVCNjc4MDAxRDBCRDAgLyogQXVkaW9GaWxlUmVhZGVySU9TLmNwcCAqLzsg
fTsKIAkJQ0Q1NTk2OTIxNDc1QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJlYWRlcklPUy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NTk2OTAxNDc1
QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJlYWRlcklPUy5oICovOyB9OwogCQlDRDU4OTZFMjFD
RDJCMTUxMDBCM0JDQzggLyogV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTg5NkUwMUNEMkIxNTEwMEIz
QkNDOCAvKiBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUNENUQyNzc4MUU4MzE4RTAwMEQ4MEEzRCAv
KiBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUQyNzc2MUU4MzE4RTAwMEQ4MEEzRCAvKiBXZWJDb3Jl
RGVjb21wcmVzc2lvblNlc3Npb24uaCAqLzsgfTsKKwkJQ0Q1RDI3NzgxRTgzMThFMDAwRDgwQTNE
IC8qIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1RDI3NzYxRTgzMThFMDAwRDgwQTNEIC8qIFdlYkNv
cmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNENUU1QjVGMUExNUNFNTQwMDBDNjA5RSAvKiBQYWdlQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q1RTVCNUUxQTE1Q0U1NDAwMEM2MDlFIC8qIFBhZ2VDb25maWd1cmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1RkY0OTcyMTYyRTJC
NzAwNEJEODZGIC8qIElTT1RyYWNrRW5jcnlwdGlvbkJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjYxRkI1MkI2ODAwRjBCOTY1IC8qIElT
T1RyYWNrRW5jcnlwdGlvbkJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUNENUZGNDk5MjE2MkUyQkUwMDRCRDg2RiAvKiBJU09Cb3guaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODcxQzYyMUZCNTJC
NjUwMEYwQjk2NSAvKiBJU09Cb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtNDIxMSw3ICs0MjExLDcgQEAKIAkJQ0RDOEI1QTcxODA0NzRGNzAw
MTZFNjg1IC8qIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhCNUE1MTgwNDc0RjcwMDE2RTY4NSAvKiBN
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggKi87IH07CiAJCUNEQzhCNUFBMTgwNDdGRjEwMDE2
RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhCNUE4MTgwNDdGRjEwMDE2RTY4NSAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSAqLzsgfTsKIAkJQ0RDOEI1QUIxODA0N0ZGMTAw
MTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREM4QjVBOTE4MDQ3RkYxMDAxNkU2ODUgLyog
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCAqLzsgfTsKLQkJQ0RDOEI1QUQxODA0QUU1RDAw
MTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhCNUFDMTgwNEFFNUQwMDE2RTY4NSAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggKi87IH07CisJCUNEQzhCNUFEMTgwNEFFNUQwMDE2
RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREM4QjVBQzE4MDRBRTVEMDAxNkU2ODUgLyogU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNEQzkzOUE4MUU5QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xi
b3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RDOTM5QTYxRTlCREZCMTAwQkI3NjhEIC8qIFZpZGVvVG9vbGJveFNvZnRMaW5rLmggKi87
IH07CiAJCUNEQzk3OUY1MUM0OThDMDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTc5RjMx
QzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLmggKi87IH07CiAJCUNEQ0E5
OEVCMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQTk4RUExOEIy
QzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVByaXZhdGVNZWRpYVBsYXllci5jcHAgKi87IH07CkBA
IC00MjQ0LDcgKzQyNDQsOSBAQAogCQlDREVDQTg5QjFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3Nl
dFRyYWNrVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREVDQTg5OTFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVz
LmggKi87IH07CiAJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVGNEZENjE3RTg1
QzhGMDBBRUUyNEIgLyogR3JpZExlbmd0aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUNERUZBMjI4MUU3NjY5RTgwMDBBRTk5QyAvKiBQbGF0Zm9y
bUF1ZGlvRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RFNjY3QTExRTRCQkE0RDAwRTgxNTRBIC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0RGMkIwMDQxODFG
MDU5QzAwRjJCNDI0IC8qIE1lZGlhRGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERjJCMDAzMTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRp
YURlc2NyaXB0aW9uLmggKi87IH07CisJCUNERjEzNTA4MjRDOUZBNDQwMDQzMkUxRSAvKiBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDhGNjY3MjI0QzBGMjA4MDAwQzQyMUMgLyogU291cmNlQnVmZmVyUGFyc2Vy
V2ViTS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNERjEzNTA5MjRDOUZDQTMwMDQzMkUxRSAvKiBTb3VyY2VCdWZmZXJQYXJzZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUIzRDczMjRDNDFBNkUw
MDFGQkVFRiAvKiBTb3VyY2VCdWZmZXJQYXJzZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDREYyQjAwNDE4MUYwNTlDMDBGMkI0MjQgLyogTWVk
aWFEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RGMkIwMDMxODFGMDU5QzAwRjJCNDI0IC8qIE1lZGlhRGVzY3JpcHRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREYyQjAxMDE4
MjA1NDA2MDBGMkI0MjQgLyogTW9ja0JveC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREYyQjAwNjE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja0JveC5j
cHAgKi87IH07CiAJCUNERjJCMDExMTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrQm94LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREYyQjAwNzE4MjA1NDA2
MDBGMkI0MjQgLyogTW9ja0JveC5oICovOyB9OwogCQlDREYyQjAxMjE4MjA1NDA2MDBGMkI0MjQg
LyogTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RGMkIwMDgxODIwNTQwNjAwRjJCNDI0IC8qIE1vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCAqLzsgfTsKQEAgLTMzMjk1LDYgKzMzMjk3LDggQEAK
IAkJCQk4NEE4MUYzRTBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEM0E0OTYyMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNEM0E0OTY1MTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJM
aXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDREYxMzUwOTI0QzlGQ0EzMDA0MzJFMUUgLyogU291
cmNlQnVmZmVyUGFyc2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREYxMzUwODI0QzlGQTQ0MDA0
MzJFMUUgLyogU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2
NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEQzhCNUFCMTgwNDdGRjEwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDOEI1QUQxODA0QUU1RDAwMTZFNjg1IC8q
IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmgKaW5kZXggZWNkMzM0ZTE0NjQ0ZjIxMzBiNDc1ZTMzNjlmYmRj
OGY2MTNmNzdlYi4uZWZkNzg1Zjg0Zjk4NDA3Y2UwN2FkMWNiYzg2NTMzMzQyZmFjODU3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC01NCw3ICs1NCw3IEBAIHN0cnVj
dCBQbGF0Zm9ybVNhbXBsZSB7CiAgICAgfSBzYW1wbGU7CiB9OwogCi1jbGFzcyBNZWRpYVNhbXBs
ZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4geworY2xhc3MgV0VC
Q09SRV9FWFBPUlQgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVk
aWFTYW1wbGU+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZSgpID0gZGVmYXVs
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
U291cmNlQnVmZmVyUGFyc2VyV2ViTS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oCmluZGV4IDk4MWMzZDdmYzU3MzZmMzY5
YTdiY2IzZjYxM2M3NjQ3YjkzMDZlNjEuLmNlZjdiZmY2NTQ5NzhmNjMyMmEyNDMyNmVjZjA3YWNl
ZWZiYjIwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1NvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmgKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNp
bmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogI2lu
Y2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgY2xhc3MgV2VibVBhcnNl
cjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJN
IDogcHVibGljIFNvdXJjZUJ1ZmZlclBhcnNlciwgcHJpdmF0ZSB3ZWJtOjpDYWxsYmFjayB7Citj
bGFzcyBXRUJDT1JFX0VYUE9SVCBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNIDogcHVibGljIFNvdXJj
ZUJ1ZmZlclBhcnNlciwgcHJpdmF0ZSB3ZWJtOjpDYWxsYmFjayB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIE1lZGlhUGxheWVyRW51bXM6OlN1cHBv
cnRzVHlwZSBpc0NvbnRlbnRUeXBlU3VwcG9ydGVkKGNvbnN0IENvbnRlbnRUeXBlJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVj
b21wcmVzc2lvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oCmluZGV4IGQ0N2FjNmM1MzJhMGQ3MGUy
NjU0ZjUyM2YwOTkxY2Q3YjRlMzQ5MDMuLmE2NTJhZWUxYWQ3NWEyZDAzNjNkN2Y1NWE4MDJkZmQ2
NDkyOTRlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oCkBAIC00
Niw3ICs0Niw3IEBAIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZURGVjb21wcmVzc2lvblNlc3Npb24q
ICBWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24+IHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JU
IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbj4gY3JlYXRlT3BlbkdMKCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24oT3BlbkdMKSk7IH0KICAgICBz
dGF0aWMgUmVmPFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbj4gY3JlYXRlUkdCKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24oUkdCKSk7IH0KQEAg
LTc0LDYgKzc0LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGNvcnJ1cHRlZFZpZGVvRnJhbWVz
KCkgY29uc3QgeyByZXR1cm4gbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsgfQogICAgIE1lZGlhVGlt
ZSB0b3RhbEZyYW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsRnJhbWVEZWxheTsgfQog
CisgICAgYm9vbCBoYXJkd2FyZURlY29kZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oYXJk
d2FyZURlY29kZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRIYXJkd2FyZURlY29kZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkgeyBtX2hhcmR3YXJlRGVjb2RlckVuYWJsZWQgPSBlbmFibGVkOyB9CisK
IHByaXZhdGU6CiAgICAgZW51bSBNb2RlIHsKICAgICAgICAgT3BlbkdMLApAQCAtMTIyLDYgKzEy
NSw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlIHsg
MCB9OwogCiAgICAgYm9vbCBtX2ludmFsaWRhdGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faGFy
ZHdhcmVEZWNvZGVyRW5hYmxlZCB7IHRydWUgfTsKICAgICBpbnQgbV9mcmFtZXNCZWluZ0RlY29k
ZWQgeyAwIH07CiAgICAgdW5zaWduZWQgbV90b3RhbFZpZGVvRnJhbWVzIHsgMCB9OwogICAgIHVu
c2lnbmVkIG1fZHJvcHBlZFZpZGVvRnJhbWVzIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9u
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDQwNGE1NjUxNzNkZWZlMjhkMzYyYzVkNzVjNWY3ODYw
MjEzODZkNWQuLmUzOTA4ZjcwY2ZjYjkzNDFjZTdkNzYyMzA0NTMwM2Q3NGQxYWVlZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNv
bXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KQEAgLTIxNCw3ICsyMTQsNyBA
QCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5zdXJlRGVjb21wcmVzc2lvblNl
c3Npb25Gb3JTYW1wbGUoQ01TYW1wbGVCdQogCiAgICAgaWYgKCFtX2RlY29tcHJlc3Npb25TZXNz
aW9uKSB7CiAgICAgICAgIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiB2aWRlb0Zvcm1hdERl
c2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGUpOwot
ICAgICAgICBhdXRvIHZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24gPSBAeyAoX19icmlkZ2UgTlNT
dHJpbmcgKilrVlRWaWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxl
cmF0ZWRWaWRlb0RlY29kZXI6IEBZRVMgfTsKKyAgICAgICAgYXV0byB2aWRlb0RlY29kZXJTcGVj
aWZpY2F0aW9uID0gQHsgKF9fYnJpZGdlIE5TU3RyaW5nICopa1ZUVmlkZW9EZWNvZGVyU3BlY2lm
aWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyOiBAKCBtX2hhcmR3
YXJlRGVjb2RlckVuYWJsZWQgKSB9OwogCiAgICAgICAgIE5TRGljdGlvbmFyeSAqYXR0cmlidXRl
czsKICAgICAgICAgaWYgKG1fbW9kZSA9PSBPcGVuR0wpCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQzZDQ0
MDg0NjJhOGRiODE3N2FmOTQ2MDI5OWM2MWYzZWM5ZWFmNTUuLmQ5YzdkZTVkZTUwZmQ0NTQ4Y2Vj
NDRlMDU3ZTIwODI4OWRhYTdhYjIgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MjAtMDctMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW0Nv
Y29hXSBBZGQgUGVyZm9ybWFuY2VUZXN0IHRvb2wgZm9yIG1lYXN1cmluZyByYXcgc3BlZWQgb2Yg
YSB2aWRlbyBkZWNvZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTQ3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIERlY29kZXJUZXN0L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIERlY29kZXJUZXN0L0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2Nv
bmZpZzogQWRkZWQuCisgICAgICAgICogRGVjb2RlclRlc3QvQ29uZmlndXJhdGlvbnMvRGVjb2Rl
clRlc3QueGNjb25maWc6IEFkZGVkLgorICAgICAgICAqIERlY29kZXJUZXN0L0RlY29kZXJUZXN0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkLgorICAgICAgICAqIERlY29kZXJUZXN0
L0RlY29kZXJUZXN0L21haW4ubW06IEFkZGVkLgorICAgICAgICAoRnVuY3Rpb248dm9pZCk6Cisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiBEZWNvZGVyVGVzdC9NYWtlZmlsZTogQWRkZWQuCisg
ICAgICAgICogTWFrZWZpbGUuc2hhcmVkOiBBZGRlZC4KKwogMjAyMC0wNy0yMiAgQ29ucmFkIFNo
dWx0eiAgPGNvbnJhZF9zaHVsdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBtYWNPUyBW
ZXJzaW9uIG1hY3JvcwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9EZWNvZGVyVGVzdC9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvUGVyZm9ybWFuY2VUZXN0cy9EZWNvZGVyVGVz
dC9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0YTRiNGE4MGUxZDQz
M2Y0NDMwNDI4NGU1NTFlNjI3MDc5MTdiZDYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL0RlY29kZXJUZXN0L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTAsMCAr
MSwxNjYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8v
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
Ly8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaW5jbHVkZT8g
Ii4uLy4uLy4uL0ludGVybmFsL0NvbmZpZ3VyYXRpb25zL0hhdmVJbnRlcm5hbFNESy54Y2NvbmZp
ZyIKKworQ09ERV9TSUdOX0lERU5USVRZID0gLTsKKworQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhT
ID0gTk87CisKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMXo7CitDTEFOR19D
WFhfTElCUkFSWSA9IGxpYmMrKzsKK0NMQU5HX0VOQUJMRV9PQkpDX1dFQUsgPSBZRVM7CitDTEFO
R19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKK0NMQU5HX1dBUk5fQk9P
TF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKK0NMQU5HX1dBUk5f
Q09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9
IE5POworQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOworQ0xBTkdfV0FSTl9FTlVNX0NPTlZF
UlNJT04gPSBZRVM7CitDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKK0NMQU5H
X1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExf
Q09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZ
RVM7CitDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CitDTEFOR19XQVJOX1NU
UklDVF9QUk9UT1RZUEVTID0gWUVTOworQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7
CitDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CitDTEFOR19XQVJOX19EVVBMSUNB
VEVfTUVUSE9EX01BVENIID0gWUVTOworR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlF
UzsKK0NMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKK0NMQU5HX0FO
QUxZWkVSX0xPQ0FMSVpBQklMSVRZX05PTkxPQ0FMSVpFRCA9IFlFUzsKK0NPTUJJTkVfSElEUElf
SU1BR0VTID0gTk87CitERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07
CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKK0dDQ19DX0xBTkdVQUdFX1NUQU5E
QVJEID0gZ251OTk7CitHQ0NfREVCVUdHSU5HX1NZTUJPTFMgPSBkZWZhdWx0OworR0NDX0RZTkFN
SUNfTk9fUElDID0gTk87CitHQ0NfRU5BQkxFX0NQUF9FWENFUFRJT05TID0gTk87CitHQ0NfRU5B
QkxFX0NQUF9SVFRJID0gTk87CitHQ0NfRU5BQkxFX09CSkNfRVhDRVBUSU9OUyA9IFlFUzsKK0dD
Q19FTkFCTEVfU1lNQk9MX1NFUEFSQVRJT04gPSBOTzsKK0dDQ19GQVNUX09CSkNfRElTUEFUQ0gg
PSBZRVM7CitHQ0NfR0VORVJBVEVfREVCVUdHSU5HX1NZTUJPTFMgPSBZRVM7CitHQ0NfTk9fQ09N
TU9OX0JMT0NLUyA9IFlFUzsKK0dDQ19PQkpDX0NBTExfQ1hYX0NEVE9SUyA9IFlFUzsKK0dDQ19Q
UkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CitHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVS
TiA9IFlFUzsKK0dDQ19USFJFQURTQUZFX1NUQVRJQ1MgPSBOTzsKK0dDQ19UUkVBVF9XQVJOSU5H
U19BU19FUlJPUlMgPSBZRVM7CitHQ0NfVkVSU0lPTiA9IGNvbS5hcHBsZS5jb21waWxlcnMubGx2
bS5jbGFuZy4xXzA7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKK0dD
Q19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9aTM4Nl0gPSBOTzsKK0dDQ19XQVJO
XzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9YXJtdjdrXSA9IE5POworR0NDX1dBUk5fNjRf
VE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD1hcm02NCpdID0gTk87CitHQ0NfV0FSTl82NF9UT18z
Ml9CSVRfQ09OVkVSU0lPTlthcmNoPXg4Nl82NF0gPSBOTzsKK0dDQ19XQVJOX0FCT1VUX0RFUFJF
Q0FURURfRlVOQ1RJT05TID0gTk87CitHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX05FV0xJTkUgPSBZ
RVM7CitHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZRVM7CitHQ0NfV0FSTl9B
Qk9VVF9SRVRVUk5fVFlQRSA9IFlFUzsKK0dDQ19XQVJOX05PTl9WSVJUVUFMX0RFU1RSVUNUT1Ig
PSBZRVM7CitDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7
CitHQ0NfV0FSTl9TSUdOX0NPTVBBUkUgPSBZRVM7CitHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FV
VE9TID0gWUVTOworR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOworR0NDX1dBUk5fVU5V
U0VEX1ZBUklBQkxFID0gWUVTOworV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtV2V4dHJhIC1XY2Fz
dC1xdWFsIC1XY2hhci1zdWJzY3JpcHRzIC1XY29uZGl0aW9uYWwtdW5pbml0aWFsaXplZCAtV2V4
dHJhLXRva2VucyAtV2Zvcm1hdD0yIC1XaW5pdC1zZWxmIC1XbWlzc2luZy1mb3JtYXQtYXR0cmli
dXRlIC1XbWlzc2luZy1ub3JldHVybiAtV3BhY2tlZCAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRh
bnQtZGVjbHMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnMg
LVdnbG9iYWwtY29uc3RydWN0b3JzIC1XdGF1dG9sb2dpY2FsLWNvbXBhcmUgLVdpbXBsaWNpdC1m
YWxsdGhyb3VnaCAtV3ZsYSAtV25vLXVua25vd24td2FybmluZy1vcHRpb24gLVdsaXRlcmFsLWNv
bnZlcnNpb247CisKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChUQVJHRVRfTUFD
X09TX1hfVkVSU0lPTl9NQUpPUl8kKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVDpiYXNlKSQoTUFD
T1NYX0RFUExPWU1FTlRfVEFSR0VUOnN1ZmZpeDppZGVudGlmaWVyKSk7CitUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUl8xMF8xMyA9IDEwMTMwMDsKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X01BSk9SXzEwXzE0ID0gMTAxNDAwOworVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1JfMTBf
MTUgPSAxMDE1MDA7CitUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUl8xMF8xNiA9IDEwMTYw
MDsKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SXzExXzAgPSAxMTAwMDA7CitUQVJHRVRf
TUFDX09TX1hfVkVSU0lPTl9NQUpPUl8xMl8wID0gMTIwMDAwOworCitXS19UQVJHRVRfSU9TX1ZF
UlNJT05fTUFKT1IgPSAkKElQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUOmJhc2UpOyAvLyBlLmcu
IGlPUyA5LjMgPT4gOQorV0tfVEFSR0VUX1RWT1NfVkVSU0lPTl9NQUpPUiA9ICQoVFZPU19ERVBM
T1lNRU5UX1RBUkdFVDpiYXNlKTsKK1dLX1RBUkdFVF9XQVRDSE9TX1ZFUlNJT05fTUFKT1IgPSAk
KFdBVENIT1NfREVQTE9ZTUVOVF9UQVJHRVQ6YmFzZSk7CisKK1NVUFBPUlRFRF9QTEFURk9STVMg
PSBpcGhvbmVvcyBpcGhvbmVzaW11bGF0b3IgbWFjb3N4IGFwcGxldHZvcyBhcHBsZXR2c2ltdWxh
dG9yIHdhdGNob3Mgd2F0Y2hzaW11bGF0b3I7CitTVVBQT1JUU19NQUNDQVRBTFlTVCA9IFlFUzsK
KworLy8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElPTl9MRVZFTCwgU1RSSVBfSU5TVEFM
TEVEX1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcgdmFyeSBiZXR3ZWVuIHRoZSBkZWJ1
ZyBhbmQgbm9ybWFsIHZhcmlhbnRzLgorLy8gV2Ugc2V0IHVwIHRoZSB2YWx1ZXMgZm9yIGVhY2gg
dmFyaWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29uZmlndXJhdGlvbiBpbiB0aGUgWGNv
ZGUgcHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50LgorREVCVUdfREVGSU5FU19kZWJ1ZyA9
IDsKK0RFQlVHX0RFRklORVNfbm9ybWFsID0gTkRFQlVHOworREVCVUdfREVGSU5FUyA9ICQoREVC
VUdfREVGSU5FU18kKENVUlJFTlRfVkFSSUFOVCkpOworCitHQ0NfT1BUSU1JWkFUSU9OX0xFVkVM
ID0gJChHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CitHQ0NfT1BU
SU1JWkFUSU9OX0xFVkVMX25vcm1hbFtzZGs9aXBob25lKl0gPSAzOworR0NDX09QVElNSVpBVElP
Tl9MRVZFTF9ub3JtYWxbc2RrPW1hY29zeCpdID0gMjsKK0dDQ19PUFRJTUlaQVRJT05fTEVWRUxf
ZGVidWcgPSAwOworCitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9ICQoU1RSSVBfSU5TVEFMTEVE
X1BST0RVQ1RfJChDVVJSRU5UX1ZBUklBTlQpKTsKK1NUUklQX0lOU1RBTExFRF9QUk9EVUNUX25v
cm1hbCA9IFlFUzsKK1NUUklQX0lOU1RBTExFRF9QUk9EVUNUX2RlYnVnID0gTk87CisKK0RFQURf
Q09ERV9TVFJJUFBJTkdfZGVidWcgPSBOTzsKK0RFQURfQ09ERV9TVFJJUFBJTkdfbm9ybWFsID0g
WUVTOworREVBRF9DT0RFX1NUUklQUElORyA9ICQoREVBRF9DT0RFX1NUUklQUElOR18kKENVUlJF
TlRfVkFSSUFOVCkpOworCitTREtST09UID0gbWFjb3N4LmludGVybmFsOworCitPVEhFUl9DUExV
U1BMVVNGTEFHUyA9ICQoaW5oZXJpdGVkKSAtaXN5c3RlbSAkKFNES1JPT1QpL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvU3lzdGVtLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKKworLy8gVGhp
cyBpcyByZXF1aXJlZCB0byBtYWtlIExMVk1fVEFSR0VUX1RSSVBMRV9TVUZGSVggcHJvcGFnYXRl
IGludG8gc2NyaXB0cy4KK0xMVk1fVEFSR0VUX1RSSVBMRV9TVUZGSVggPSAkKGluaGVyaXRlZCk7
CisKK1dLX0NPQ09BX1RPVUNIID0gJChXS19DT0NPQV9UT1VDSF8kKFdLX1BMQVRGT1JNX05BTUUp
KTsKK1dLX0NPQ09BX1RPVUNIX2lwaG9uZW9zID0gY29jb2F0b3VjaDsKK1dLX0NPQ09BX1RPVUNI
X2lwaG9uZXNpbXVsYXRvciA9IGNvY29hdG91Y2g7CitXS19DT0NPQV9UT1VDSF9tYWNjYXRhbHlz
dCA9IGNvY29hdG91Y2g7CitXS19DT0NPQV9UT1VDSF93YXRjaG9zID0gY29jb2F0b3VjaDsKK1dL
X0NPQ09BX1RPVUNIX3dhdGNoc2ltdWxhdG9yID0gY29jb2F0b3VjaDsKK1dLX0NPQ09BX1RPVUNI
X2FwcGxldHZvcyA9IGNvY29hdG91Y2g7CitXS19DT0NPQV9UT1VDSF9hcHBsZXR2c2ltdWxhdG9y
ID0gY29jb2F0b3VjaDsKK1dLX0lTX0NPQ09BX1RPVUNIID0gJChXS19OT1RfJChXS19FTVBUWV8k
KFdLX0NPQ09BX1RPVUNIKSkpOworCitMTFZNX0xUTyA9ICQoV0tfTExWTV9MVE9fJChXS19YQ09E
RV9TVVBQT1JUU19MVE8pKTsKK1dLX0xMVk1fTFRPX05PID0gTk87CitXS19MTFZNX0xUT19ZRVMg
PSAkKFdLX1VTRVJfTFRPX01PREUpOworCitXS19YQ09ERV9TVVBQT1JUU19MVE8gPSAkKFdLX05P
VF8kKFdLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzEwXzJfJChYQ09ERV9WRVJTSU9OX01BSk9SKSkp
OworV0tfWENPREVfU1VQUE9SVFNfTFRPW2FyY2g9YXJtKl0gPSAkKFdLX05PVF8kKFdLX1hDT0RF
X1ZFUlNJT05fQkVGT1JFXzExXzRfJChYQ09ERV9WRVJTSU9OX01BSk9SKSkpOworCitXS19YQ09E
RV9WRVJTSU9OX0JFRk9SRV8xMF8yXzA4MDAgPSBZRVM7CitXS19YQ09ERV9WRVJTSU9OX0JFRk9S
RV8xMF8yXzA5MDAgPSBZRVM7CitXS19YQ09ERV9WRVJTSU9OX0JFRk9SRV8xMF8yXzEwMDAgPSAk
KFdLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzEwXzJfMTAwMF8kKFhDT0RFX1ZFUlNJT05fTUlOT1Ip
KTsKK1dLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzEwXzJfMTAwMF8xMDAwID0gWUVTOworV0tfWENP
REVfVkVSU0lPTl9CRUZPUkVfMTBfMl8xMDAwXzEwMTAgPSBZRVM7CisKK1dLX1hDT0RFX1ZFUlNJ
T05fQkVGT1JFXzExXzRfMDgwMCA9IFlFUzsKK1dLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzExXzRf
MDkwMCA9IFlFUzsKK1dLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzExXzRfMTAwMCA9IFlFUzsKK1dL
X1hDT0RFX1ZFUlNJT05fQkVGT1JFXzExXzRfMTEwMCA9ICQoV0tfWENPREVfVkVSU0lPTl9CRUZP
UkVfMTFfNF8xMTAwXyQoWENPREVfVkVSU0lPTl9NSU5PUikpOworV0tfWENPREVfVkVSU0lPTl9C
RUZPUkVfMTFfNF8xMTAwXzExMDAgPSBZRVM7CitXS19YQ09ERV9WRVJTSU9OX0JFRk9SRV8xMV80
XzExMDBfMTExMCA9IFlFUzsKK1dLX1hDT0RFX1ZFUlNJT05fQkVGT1JFXzExXzRfMTEwMF8xMTIw
ID0gWUVTOworV0tfWENPREVfVkVSU0lPTl9CRUZPUkVfMTFfNF8xMTAwXzExMzAgPSBZRVM7CisK
K1dLX1VTRVJfTFRPX01PREUgPSAkKFdLX1VTRVJfTFRPX01PREVfJChXS19MVE9fTU9ERSkpOwor
V0tfVVNFUl9MVE9fTU9ERV9mdWxsID0gWUVTOworV0tfVVNFUl9MVE9fTU9ERV90aGluID0gWUVT
X1RISU47CitXS19VU0VSX0xUT19NT0RFX25vbmUgPSBOTzsKK1dLX1VTRVJfTFRPX01PREVfID0g
JChXS19ERUZBVUxUX0xUT19NT0RFKTsKK1dLX0RFRkFVTFRfTFRPX01PREUgPSAkKFdLX1VTRVJf
TFRPX01PREVfdGhpbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0
L0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZyBiL1BlcmZvcm1hbmNlVGVzdHMv
RGVjb2RlclRlc3QvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI0NzliMWIzZGVkMjcyMjE5ZGM3MWE2NWIzNTU4M2QyN2YzY2ZkYzgKLS0tIC9kZXYvbnVs
bAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0L0NvbmZpZ3VyYXRpb25zL0RlYnVn
UmVsZWFzZS54Y2NvbmZpZwpAQCAtMCwwICsxLDUyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorLy8gRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
Ly8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8g
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisjaW5jbHVkZT8gIi4uLy4u
Ly4uL0xvY2FsT3ZlcnJpZGVzLnhjY29uZmlnIgorCitBUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRf
MzJfNjRfQklUKTsKKworT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKKworVEFSR0VUX01BQ19PU19Y
X1ZFUlNJT05fTUFKT1IgPSAkKE1BQ19PU19YX1ZFUlNJT05fTUFKT1IpOworCitNQUNPU1hfREVQ
TE9ZTUVOVF9UQVJHRVQgPSAkKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8kKFBMQVRGT1JNX05B
TUUpXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK01BQ09TWF9ERVBMT1lNRU5U
X1RBUkdFVF9tYWNvc3hfMTAxMzAwID0gMTAuMTM7CitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRf
bWFjb3N4XzEwMTQwMCA9IDEwLjE0OworTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8x
MDE1MDAgPSAxMC4xNTsKK01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxNjAwID0g
MTAuMTY7CitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzExMDAwMCA9IDExLjA7CitN
QUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEyMDAwMCA9IDEyLjA7CisKK0dDQ19XQVJO
X0FCT1VUX0RFUFJFQ0FURURfRlVOQ1RJT05TID0gWUVTOworREVCVUdfSU5GT1JNQVRJT05fRk9S
TUFUID0gZHdhcmY7CisKK1NES1JPT1QgPSAkKFNES1JPT1RfJChVU0VfSU5URVJOQUxfU0RLKSk7
CitTREtST09UXyA9IG1hY29zeDsKK1NES1JPT1RfWUVTID0gbWFjb3N4LmludGVybmFsOworCitX
S19ERUZBVUxUX0xUT19NT0RFID0gJChXS19VU0VSX0xUT19NT0RFX25vbmUpOworCitXS19DQ0FD
SEVfRElSID0gJChTUkNST09UKS8uLi8uLi9Ub29scy9jY2FjaGU7CisjaW5jbHVkZSAiLi4vLi4v
Li4vVG9vbHMvY2NhY2hlL2NjYWNoZS54Y2NvbmZpZyIKKwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFu
Y2VUZXN0cy9EZWNvZGVyVGVzdC9Db25maWd1cmF0aW9ucy9EZWNvZGVyVGVzdC54Y2NvbmZpZyBi
L1BlcmZvcm1hbmNlVGVzdHMvRGVjb2RlclRlc3QvQ29uZmlndXJhdGlvbnMvRGVjb2RlclRlc3Qu
eGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE3MDk0MWNmYTk0NDVhZWFlYjFjMzQ2YjYwNzhiOTMyM2Iw
ODUwNwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2RlclRlc3QvQ29u
ZmlndXJhdGlvbnMvRGVjb2RlclRlc3QueGNjb25maWcKQEAgLTAsMCArMSwyNSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8vIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
Ky8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisvLyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
Ky8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorLy8gT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisvLyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK1BST0RVQ1RfTkFNRSA9IERlY29kZXJUZXN0
CitIRUFERVJfU0VBUkNIX1BBVEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpICIkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUiICQoSEVBREVSX1NFQVJDSF9QQVRIUykgJChT
UkNST09UKTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2RlclRlc3QvRGVjb2Rl
clRlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2Rl
clRlc3QvRGVjb2RlclRlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NzlhYzFjYTIyZDlhZjQ2OGY3OTkxYmNiZWU5NTY1NTJlMDFlYjY0Ci0tLSAvZGV2L251bGwKKysr
IGIvUGVyZm9ybWFuY2VUZXN0cy9EZWNvZGVyVGVzdC9EZWNvZGVyVGVzdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0wLDAgKzEsMjIwIEBACisvLyAhJCpVVEY4KiQhCit7CisJYXJjaGl2
ZVZlcnNpb24gPSAxOworCWNsYXNzZXMgPSB7CisJfTsKKwlvYmplY3RWZXJzaW9uID0gNTA7CisJ
b2JqZWN0cyA9IHsKKworLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJQ0Q4OTcy
NEMyNENBNDg1MTAwQUY2NjIxIC8qIGxpYndlYnJ0Yy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODk3MjRCMjRDQTQ4NTEwMEFGNjYyMSAv
KiBsaWJ3ZWJydGMuZHlsaWIgKi87IH07CisJCUNERTBDOUJGMjRDQTI0N0EwMDU5M0E4MyAvKiBK
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDREUwQzlCRTI0Q0EyNDdBMDA1OTNBODMgLyogSmF2YVNjcmlwdENv
cmUuZnJhbWV3b3JrICovOyB9OworCQlDREUwQzlDMTI0Q0EyNDlBMDA1OTNBODMgLyogV2ViS2l0
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENERTBDOUMwMjRDQTI0OUEwMDU5M0E4MyAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9Owor
CQlDREUwQzlDNDI0Q0EzNkNEMDA1OTNBODMgLyogQ29yZU1lZGlhLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTBDOUMzMjRDQTM2
Q0QwMDU5M0E4MyAvKiBDb3JlTWVkaWEuZnJhbWV3b3JrICovOyB9OworCQlDREYxMzUwMTI0QzlG
OTk5MDA0MzJFMUUgLyogbWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENERjEzNTAwMjRDOUY5OTkwMDQzMkUxRSAvKiBtYWluLm1tICovOyB9Owor
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWENvcHlGaWxlc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLworCQlDREYxMzRGQjI0QzlGOTk5MDA0MzJFMUUgLyogQ29weUZp
bGVzICovID0geworCQkJaXNhID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlkc3RQYXRoID0gL3Vzci9zaGFyZS9tYW4vbWFuMS87
CisJCQlkc3RTdWJmb2xkZXJTcGVjID0gMDsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOworCQl9OworLyogRW5kIFBCWENvcHlG
aWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNl
Y3Rpb24gKi8KKwkJQ0Q4OTcyNEIyNENBNDg1MTAwQUY2NjIxIC8qIGxpYndlYnJ0Yy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxl
ZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlid2VicnRjLmR5bGliOyBwYXRoID0gLi4vLi4vV2Vi
S2l0QnVpbGQvUmVsZWFzZS9saWJ3ZWJydGMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNERTBDOUJFMjRDQTI0N0EwMDU5M0E4MyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFw
cGVyLmZyYW1ld29yazsgbmFtZSA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgcGF0aCA9IFN5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VU
cmVlID0gU0RLUk9PVDsgfTsKKwkJQ0RFMEM5QzAyNENBMjQ5QTAwNTkzQTgzIC8qIFdlYktpdC5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFdlYktpdC5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtS
T09UOyB9OworCQlDREUwQzlDMzI0Q0EzNkNEMDA1OTNBODMgLyogQ29yZU1lZGlhLmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZU1lZGlhLmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQ29yZU1lZGlhLmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JP
T1Q7IH07CisJCUNERUI3QjI2MjRDQUM3NDIwMDE1MjQ5RSAvKiBjb25maWcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERjEzNEZEMjRD
OUY5OTkwMDQzMkUxRSAvKiBEZWNvZGVyVGVzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5jbHVk
ZUluSW5kZXggPSAwOyBwYXRoID0gRGVjb2RlclRlc3Q7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CisJCUNERjEzNTAwMjRDOUY5OTkwMDQzMkUxRSAvKiBtYWluLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gbWFpbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0RGMTM1MEIyNENBMDJGMzAwNDMyRTFFIC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnhjY29uZmlnOyBwYXRoID0gQmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0RGMTM1MEMyNENBMDM0RDAwNDMyRTFFIC8qIERlY29kZXJUZXN0LnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IERlY29kZXJUZXN0LnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREYxMzUwRDI0Q0EwNTkzMDA0MzJFMUUgLyogRGVi
dWdSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IERlYnVnUmVsZWFzZS54Y2NvbmZpZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQlD
REYxMzRGQTI0QzlGOTk5MDA0MzJFMUUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCUNERTBDOUM0MjRDQTM2Q0QwMDU5M0E4MyAvKiBDb3JlTWVkaWEu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJQ0RFMEM5QkYyNENBMjQ3QTAwNTkzQTgz
IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUNEODk3
MjRDMjRDQTQ4NTEwMEFGNjYyMSAvKiBsaWJ3ZWJydGMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywK
KwkJCQlDREUwQzlDMTI0Q0EyNDlBMDA1OTNBODMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOworCQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQlDREUwQzlCRDI0Q0EyNDdBMDA1OTNBODMg
LyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0RFMEM5QzMyNENBMzZDRDAwNTkzQTgzIC8qIENvcmVNZWRpYS5mcmFtZXdvcmsgKi8s
CisJCQkJQ0RFMEM5QkUyNENBMjQ3QTAwNTkzQTgzIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29y
ayAqLywKKwkJCQlDRDg5NzI0QjI0Q0E0ODUxMDBBRjY2MjEgLyogbGlid2VicnRjLmR5bGliICov
LAorCQkJCUNERTBDOUMwMjRDQTI0OUEwMDU5M0E4MyAvKiBXZWJLaXQuZnJhbWV3b3JrICovLAor
CQkJKTsKKwkJCW5hbWUgPSBGcmFtZXdvcmtzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJQ0RGMTM0RjQyNEM5Rjk5OTAwNDMyRTFFID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDREYxMzUwQTI0Q0EwMkYzMDA0MzJFMUUgLyogQ29uZmln
dXJhdGlvbnMgKi8sCisJCQkJQ0RGMTM0RkYyNEM5Rjk5OTAwNDMyRTFFIC8qIERlY29kZXJUZXN0
ICovLAorCQkJCUNERjEzNEZFMjRDOUY5OTkwMDQzMkUxRSAvKiBQcm9kdWN0cyAqLywKKwkJCQlD
REUwQzlCRDI0Q0EyNDdBMDA1OTNBODMgLyogRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDREYxMzRGRTI0QzlGOTk5MDA0MzJFMUUgLyog
UHJvZHVjdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUNERjEzNEZEMjRDOUY5OTkwMDQzMkUxRSAvKiBEZWNvZGVyVGVzdCAqLywKKwkJCSk7CisJCQlu
YW1lID0gUHJvZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDREYx
MzRGRjI0QzlGOTk5MDA0MzJFMUUgLyogRGVjb2RlclRlc3QgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNERjEzNTAwMjRDOUY5OTkwMDQzMkUxRSAvKiBt
YWluLm1tICovLAorCQkJCUNERUI3QjI2MjRDQUM3NDIwMDE1MjQ5RSAvKiBjb25maWcuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gRGVjb2RlclRlc3Q7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQlDREYxMzUwQTI0Q0EwMkYzMDA0MzJFMUUgLyogQ29uZmlndXJhdGlvbnMgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNERjEzNTBCMjRD
QTAyRjMwMDQzMkUxRSAvKiBCYXNlLnhjY29uZmlnICovLAorCQkJCUNERjEzNTBEMjRDQTA1OTMw
MDQzMkUxRSAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8sCisJCQkJQ0RGMTM1MEMyNENBMDM0
RDAwNDMyRTFFIC8qIERlY29kZXJUZXN0LnhjY29uZmlnICovLAorCQkJKTsKKwkJCXBhdGggPSBD
b25maWd1cmF0aW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAq
LworCQlDREYxMzRGQzI0QzlGOTk5MDA0MzJFMUUgLyogRGVjb2RlclRlc3QgKi8gPSB7CisJCQlp
c2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQ0RGMTM1
MDQyNEM5Rjk5OTAwNDMyRTFFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0
aXZlVGFyZ2V0ICJEZWNvZGVyVGVzdCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlDREYx
MzRGOTI0QzlGOTk5MDA0MzJFMUUgLyogU291cmNlcyAqLywKKwkJCQlDREYxMzRGQTI0QzlGOTk5
MDA0MzJFMUUgLyogRnJhbWV3b3JrcyAqLywKKwkJCQlDREYxMzRGQjI0QzlGOTk5MDA0MzJFMUUg
LyogQ29weUZpbGVzICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVw
ZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSBEZWNvZGVyVGVzdDsKKwkJCXByb2R1Y3RO
YW1lID0gRGVjb2RlclRlc3Q7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQ0RGMTM0RkQyNEM5Rjk5
OTAwNDMyRTFFIC8qIERlY29kZXJUZXN0ICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxl
LnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlv
biAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJQ0RGMTM0RjUyNEM5Rjk5
OTAwNDMyRTFFIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0gUEJYUHJvamVjdDsK
KwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDEyMDA7CisJCQkJVGFy
Z2V0QXR0cmlidXRlcyA9IHsKKwkJCQkJQ0RGMTM0RkMyNEM5Rjk5OTAwNDMyRTFFID0geworCQkJ
CQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gMTIuMDsKKwkJCQkJfTsKKwkJCQl9OworCQkJfTsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDREYxMzRGODI0QzlGOTk5MDA0MzJFMUUgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJEZWNvZGVyVGVzdCIgKi87
CisJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSA5LjMiOworCQkJZGV2ZWxvcG1lbnRS
ZWdpb24gPSBlbjsKKwkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAwOworCQkJa25vd25SZWdp
b25zID0gKAorCQkJCWVuLAorCQkJCUJhc2UsCisJCQkpOworCQkJbWFpbkdyb3VwID0gQ0RGMTM0
RjQyNEM5Rjk5OTAwNDMyRTFFOworCQkJcHJvZHVjdFJlZkdyb3VwID0gQ0RGMTM0RkUyNEM5Rjk5
OTAwNDMyRTFFIC8qIFByb2R1Y3RzICovOworCQkJcHJvamVjdERpclBhdGggPSAiIjsKKwkJCXBy
b2plY3RSb290ID0gIiI7CisJCQl0YXJnZXRzID0gKAorCQkJCUNERjEzNEZDMjRDOUY5OTkwMDQz
MkUxRSAvKiBEZWNvZGVyVGVzdCAqLywKKwkJCSk7CisJCX07CisvKiBFbmQgUEJYUHJvamVjdCBz
ZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJ
Q0RGMTM0RjkyNEM5Rjk5OTAwNDMyRTFFIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhT
b3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlm
aWxlcyA9ICgKKwkJCQlDREYxMzUwMTI0QzlGOTk5MDA0MzJFMUUgLyogbWFpbi5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVn
aW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQlDREYxMzUwMjI0QzlGOTk5MDA0
MzJFMUUgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQ0RGMTM1MEQyNENBMDU5MzAwNDMyRTFFIC8q
IERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9Owor
CQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDREYxMzUwMzI0QzlGOTk5MDA0MzJFMUUgLyogUmVs
ZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSBDREYxMzUwRDI0Q0EwNTkzMDA0MzJFMUUgLyogRGVidWdSZWxl
YXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0g
UmVsZWFzZTsKKwkJfTsKKwkJQ0RGMTM1MDUyNEM5Rjk5OTAwNDMyRTFFIC8qIERlYnVnICovID0g
eworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IENERjEzNTBDMjRDQTAzNEQwMDQzMkUxRSAvKiBEZWNvZGVyVGVzdC54Y2NvbmZp
ZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9
OworCQlDREYxMzUwNjI0QzlGOTk5MDA0MzJFMUUgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBD
REYxMzUwQzI0Q0EwMzREMDA0MzJFMUUgLyogRGVjb2RlclRlc3QueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5k
IFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKworLyogQmVnaW4gWENDb25maWd1cmF0
aW9uTGlzdCBzZWN0aW9uICovCisJCUNERjEzNEY4MjRDOUY5OTkwMDQzMkUxRSAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkRlY29kZXJUZXN0IiAqLyA9IHsKKwkJ
CWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAor
CQkJCUNERjEzNTAyMjRDOUY5OTkwMDQzMkUxRSAvKiBEZWJ1ZyAqLywKKwkJCQlDREYxMzUwMzI0
QzlGOTk5MDA0MzJFMUUgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNl
OworCQl9OworCQlDREYxMzUwNDI0QzlGOTk5MDA0MzJFMUUgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkRlY29kZXJUZXN0IiAqLyA9IHsKKwkJCWlzYSA9
IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCUNE
RjEzNTA1MjRDOUY5OTkwMDQzMkUxRSAvKiBEZWJ1ZyAqLywKKwkJCQlDREYxMzUwNjI0QzlGOTk5
MDA0MzJFMUUgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9
OworLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVj
dCA9IENERjEzNEY1MjRDOUY5OTkwMDQzMkUxRSAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlm
ZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2RlclRlc3QvRGVjb2RlclRlc3QvY29uZmln
LmggYi9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0L0RlY29kZXJUZXN0L2NvbmZpZy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU4YTYwZTViNjQ3MmI2ODU5MWZjYzE0MmMyYjk3MTIzN2IxZGVmZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0L0RlY29kZXJUZXN0L2Nv
bmZpZy5oCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTRXhwb3J0TWFjcm9zLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oPgorI2luY2x1ZGUgPHBhbC9FeHBvcnRNYWNyb3MuaD4K
KyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMv
RGVjb2RlclRlc3QvRGVjb2RlclRlc3QvbWFpbi5tbSBiL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2Rl
clRlc3QvRGVjb2RlclRlc3QvbWFpbi5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWUyMDE5OWVhOTBmNjhlMmVl
NDgzZjE2Mzc2NWIzMGNiZTk0NDIwCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0
cy9EZWNvZGVyVGVzdC9EZWNvZGVyVGVzdC9tYWluLm1tCkBAIC0wLDAgKzEsMjExIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZl
clF1ZXVlLmg+CisjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgorI2lt
cG9ydCA8Q29yZU1lZGlhL0NNU2FtcGxlQnVmZmVyLmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0Zv
dW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTYW1wbGUuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRC
dWZmZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oPgorI2lt
cG9ydCA8V2ViQ29yZS9WUDlVdGlsaXRpZXNDb2NvYS5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb24uaD4KKyNpbXBvcnQgPGdldG9wdC5oPgorI2ltcG9ydCA8
d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VlA5RGVjb2Rlci5oPgorI2ltcG9ydCA8d3RmL0NQVVRp
bWUuaD4KKyNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKyNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUuaD4KKyNpbXBvcnQgPHd0Zi9j
Zi9UeXBlQ2FzdHNDRi5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworc3RhdGljIEZ1
bmN0aW9uPHZvaWQoKT4mIHVwZGF0ZU91dHB1dEZ1bmN0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8RnVuY3Rpb248dm9pZCgpPj4gZnVuY3Rpb247CisgICAgcmV0dXJuIGZ1bmN0
aW9uOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQoreworICAgIGludCBl
bmFibGVIYXJkd2FyZURlY29kZXIgPSB0cnVlOworICAgIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxv
bmdvcHRzW10gPSB7CisgICAgICAgIHsgImhhcmR3YXJlIiwgICAgbm9fYXJndW1lbnQsICZlbmFi
bGVIYXJkd2FyZURlY29kZXIsIDEgfSwKKyAgICAgICAgeyAibm8taGFyZHdhcmUiLCBub19hcmd1
bWVudCwgJmVuYWJsZUhhcmR3YXJlRGVjb2RlciwgMCB9LAorICAgICAgICB7IE5VTEwsICAgICAg
ICAgIDAsICAgICAgICAgICBOVUxMLCAwIH0KKyAgICB9OworCisgICAgYXV0byBwcmludFVzYWdl
ID0gWyZdIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgW29wdGlvbnNdIDxm
aWxlPlxuIiwgYXJndlswXSk7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiXHRPcHRpb25zOlxu
IgorICAgICAgICAgICAgIlx0XHQtLVtuby1daGFyZHdhcmUgICAgICMgRW5hYmxlIG9yIGRpc2Fi
bGUgdGhlIGhhcmR3YXJlIGRlY29kZXJcbiIKKyAgICAgICAgKTsKKyAgICB9OworCisKKyAgICBj
aGFyIGM7CisgICAgd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIjpobiIsIGxv
bmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKyAgICAgICAgc3dpdGNoIChjKSB7CisgICAgICAgIGNh
c2UgJzAnOiBicmVhazsKKyAgICAgICAgY2FzZSAnPyc6CisgICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIkludmFsaWQgYXJndW1lbnQgLSVjLlxuIiwgb3B0b3B0KTsKKyAgICAgICAgICAgIHBy
aW50VXNhZ2UoKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH07CisK
KyAgICBpZiAob3B0aW5kID09IGFyZ2MgfHwgb3B0aW5kIDwgYXJnYyAtIDEpIHsKKyAgICAgICAg
cHJpbnRVc2FnZSgpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgU3RyaW5nIGZp
bGVuYW1lID0gYXJndltvcHRpbmRdOworCisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKKyAgICAgICAgd2VicnRjOjpyZWdpc3Rlcldl
YktpdFZQOURlY29kZXIoKTsKKyAgICAgICAgcmVnaXN0ZXJTdXBwbGVtZW50YWxWUDlEZWNvZGVy
KCk7CisgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
V2ViTVBhcnNlckVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgYXV0byBidWZmZXIgPSBTaGFyZWRC
dWZmZXI6OmNyZWF0ZVdpdGhDb250ZW50c09mRmlsZShmaWxlbmFtZS51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgaWYgKCFidWZmZXIpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ291
bGQgbm90IHJlYWQgZmlsZSBhdCBcIiVzXCJcbiIsIGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCkpOwor
ICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgZnByaW50ZihzdGRv
dXQsICJQYXJzaW5nIFwiJXNcIi4uLlxuIiwgZmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7CisKKyAg
ICAgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTSBwYXJzZXI7CisgICAgICAgIHBhcnNlci5zZXRE
aWRFbmNvdW50ZXJFcnJvckR1cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0gKHVpbnQ2NF90IGVycm9y
Q29kZSkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJQYXJzZXIgZW5jb3VudGVyZWQg
ZXJyb3IgJWxsdSwgZXhpdGluZyIsIGVycm9yQ29kZSk7CisgICAgICAgICAgICBleGl0KC0xKTsK
KyAgICAgICAgfSk7CisKKyAgICAgICAgQ01CdWZmZXJRdWV1ZVJlZiBidWZmZXJRdWV1ZSA9IG51
bGxwdHI7CisgICAgICAgIGlmIChub0VyciAhPSBDTUJ1ZmZlclF1ZXVlQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIDAsIENNQnVmZmVyUXVldWVHZXRDYWxsYmFja3NGb3JVbnNvcnRlZFNhbXBs
ZUJ1ZmZlcnMoKSwgJmJ1ZmZlclF1ZXVlKSkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs
ICJDb3VsZCBub3QgY3JlYXRlIGJ1ZmZlciBxdWV1ZSwgZXh0aW5nIik7CisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAgICBib29sIGZpcnN0U2FtcGxlID0gdHJ1ZTsK
KyAgICAgICAgT3B0aW9uYWw8Q1BVVGltZT4gc3RhcnRDUFVUaW1lOworICAgICAgICBNb25vdG9u
aWNUaW1lIHN0YXJ0VGltZTsKKyAgICAgICAgdWludDY0X3QgZGVjb2RlZFNhbXBsZXMgeyAwIH07
CisKKyAgICAgICAgdXBkYXRlT3V0cHV0RnVuY3Rpb24oKSA9IFsmXSB7CisgICAgICAgICAgICBh
dXRvIGVuZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgIGF1dG8gZW5k
Q1BVVGltZSA9IENQVVRpbWU6OmdldCgpOworICAgICAgICAgICAgYXV0byBkdXJhdGlvbiA9IGVu
ZFRpbWUgLSBzdGFydFRpbWU7CisgICAgICAgICAgICBmbG9hdCBmcHMgPSBkZWNvZGVkU2FtcGxl
cyAvIGR1cmF0aW9uLnZhbHVlKCk7CisKKyAgICAgICAgICAgIGZwcmludGYoc3Rkb3V0LCAiRGVj
b2RlZCAlbGx1IHNhbXBsZXMgaW4gJWcgc2Vjb25kcyAoJWcgZnBzKVxuIiwgZGVjb2RlZFNhbXBs
ZXMsIGR1cmF0aW9uLnZhbHVlKCksIGZwcyk7CisgICAgICAgICAgICBpZiAoc3RhcnRDUFVUaW1l
ICYmIGVuZENQVVRpbWUpCisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRvdXQsICJDUFUgVXNh
Z2U6ICVnICUlXG4iLCBlbmRDUFVUaW1lLT5wZXJjZW50YWdlQ1BVVXNhZ2VTaW5jZSgqc3RhcnRD
UFVUaW1lKSk7CisgICAgICAgIH07CisKKyAgICAgICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Rpb24g
eyB9OworICAgICAgICBhY3Rpb24uc2FfZmxhZ3MgPSBTQV9TSUdJTkZPOworICAgICAgICBhY3Rp
b24uc2Ffc2lnYWN0aW9uID0gW10gKGludCwgc2lnaW5mb190Kiwgdm9pZCopIHsKKyAgICAgICAg
ICAgIGlmICh1cGRhdGVPdXRwdXRGdW5jdGlvbigpKQorICAgICAgICAgICAgICAgIHVwZGF0ZU91
dHB1dEZ1bmN0aW9uKCkoKTsKKyAgICAgICAgfTsKKyAgICAgICAgc2lnYWN0aW9uKFNJR0lORk8s
ICZhY3Rpb24sIG51bGxwdHIpOworCisgICAgICAgIFdURjo6U2VtYXBob3JlIHNhbXBsZVNlbWFw
aG9yZSB7IDAgfTsKKyAgICAgICAgcGFyc2VyLnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFj
ayhbJl0gKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2NF90LCBjb25zdCBTdHJpbmcm
KSB7CisgICAgICAgICAgICBhdXRvIHBsYXRmb3JtU2FtcGxlID0gc2FtcGxlLT5wbGF0Zm9ybVNh
bXBsZSgpOworICAgICAgICAgICAgaWYgKHBsYXRmb3JtU2FtcGxlLnR5cGUgIT0gUGxhdGZvcm1T
YW1wbGU6OkNNU2FtcGxlQnVmZmVyVHlwZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIGF1dG8gY21TYW1wbGVCdWZmZXIgPSBwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21T
YW1wbGVCdWZmZXI7CisKKyAgICAgICAgICAgIGF1dG8gZm9ybWF0RGVzY3JpcHRpb24gPSBDTVNh
bXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKGNtU2FtcGxlQnVmZmVyKTsKKyAgICAgICAg
ICAgIGlmIChDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlKGZvcm1hdERlc2NyaXB0aW9u
KSAhPSBrQ01NZWRpYVR5cGVfVmlkZW8pCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgICAgICBpZiAoZmlyc3RTYW1wbGUpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHNpemUgPSBz
YW1wbGUtPnByZXNlbnRhdGlvblNpemUoKTsKKyAgICAgICAgICAgICAgICBzdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgICAgICBzdGFydENQVVRpbWUgPSBDUFVU
aW1lOjpnZXQoKTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIlNpemU6ICVnIHgg
JWdcbiIsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgZmly
c3RTYW1wbGUgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgQ01CdWZmZXJR
dWV1ZUVucXVldWUoYnVmZmVyUXVldWUsIGNtU2FtcGxlQnVmZmVyKTsKKyAgICAgICAgICAgIHNh
bXBsZVNlbWFwaG9yZS5zaWduYWwoKTsKKyAgICAgICAgfSk7CisKKworICAgICAgICBTZW1hcGhv
cmUgZmluaXNoZWRQYXJzaW5nU2VtYXBob3JlIHsgMCB9OworICAgICAgICBhdXRvIHBhcnNlclF1
ZXVlID0gZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJkYXRhIHBhcnNlciBxdWV1ZSIsIERJU1BBVENI
X1FVRVVFX0NPTkNVUlJFTlQpOworICAgICAgICBkaXNwYXRjaF9hc3luYyhwYXJzZXJRdWV1ZSwg
WyYsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKV0geworICAgICAgICAgICAgVmVjdG9yPHVuc2ln
bmVkIGNoYXI+IGJ5dGVzOworICAgICAgICAgICAgYnl0ZXMucmVzaXplKGJ1ZmZlci0+c2l6ZSgp
KTsKKyAgICAgICAgICAgIG1lbWNweShieXRlcy5kYXRhKCksIGJ1ZmZlci0+ZGF0YSgpLCBidWZm
ZXItPnNpemUoKSk7CisgICAgICAgICAgICBwYXJzZXIuYXBwZW5kRGF0YShXVEZNb3ZlKGJ5dGVz
KSk7CisgICAgICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
LCBbJl0geworICAgICAgICAgICAgICAgIGZpbmlzaGVkUGFyc2luZ1NlbWFwaG9yZS5zaWduYWwo
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKworICAgICAgICBTZW1hcGhvcmUgZmlu
aXNoZWREZWNvZGluZ1NlbWFwaG9yZSB7IDAgfTsKKyAgICAgICAgYXV0byBkZWNvZGVyUXVldWUg
PSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoImRlY29kZXIgcXVldWUiLCBESVNQQVRDSF9RVUVVRV9D
T05DVVJSRU5UKTsKKyAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGVjb2RlclF1ZXVlLCBbJl0gewor
ICAgICAgICAgICAgYXV0byBkZWNvbXByZXNzaW9uU2Vzc2lvbiA9IFdlYkNvcmVEZWNvbXByZXNz
aW9uU2Vzc2lvbjo6Y3JlYXRlT3BlbkdMKCk7CisgICAgICAgICAgICBkZWNvbXByZXNzaW9uU2Vz
c2lvbi0+c2V0SGFyZHdhcmVEZWNvZGVyRW5hYmxlZChlbmFibGVIYXJkd2FyZURlY29kZXIpOwor
CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgc2FtcGxlU2VtYXBob3JlLndhaXQo
KTsKKyAgICAgICAgICAgICAgICBpZiAoQ01CdWZmZXJRdWV1ZUlzRW1wdHkoYnVmZmVyUXVldWUp
KSB7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaGVkRGVjb2RpbmdTZW1hcGhvcmUuc2lnbmFs
KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBhdXRvIHNhbXBsZSA9IGFkb3B0Q0YoKENNU2FtcGxlQnVmZmVyUmVmKShj
b25zdF9jYXN0PHZvaWQqPihDTUJ1ZmZlclF1ZXVlRGVxdWV1ZUFuZFJldGFpbihidWZmZXJRdWV1
ZSkpKSk7CisgICAgICAgICAgICAgICAgZGVjb21wcmVzc2lvblNlc3Npb24tPmRlY29kZVNhbXBs
ZVN5bmMoc2FtcGxlLmdldCgpKTsKKyAgICAgICAgICAgICAgICArK2RlY29kZWRTYW1wbGVzOwor
ICAgICAgICAgICAgfSB3aGlsZSAodHJ1ZSk7CisgICAgICAgIH0pOworCisgICAgICAgIGJvb2wg
c2hvdWxkS2VlcFJ1bm5pbmcgPSB0cnVlOworICAgICAgICBhdXRvIG1vbml0b3JRdWV1ZSA9IGRp
c3BhdGNoX3F1ZXVlX2NyZWF0ZSgibW9uaXRvciBxdWV1ZSIsIERJU1BBVENIX1FVRVVFX0NPTkNV
UlJFTlQpOworICAgICAgICBkaXNwYXRjaF9hc3luYyhtb25pdG9yUXVldWUsIFsmXSB7CisgICAg
ICAgICAgICBmaW5pc2hlZFBhcnNpbmdTZW1hcGhvcmUud2FpdCgpOworICAgICAgICAgICAgc2Ft
cGxlU2VtYXBob3JlLnNpZ25hbCgpOworICAgICAgICAgICAgZmluaXNoZWREZWNvZGluZ1NlbWFw
aG9yZS53YWl0KCk7CisKKyAgICAgICAgICAgIHVwZGF0ZU91dHB1dEZ1bmN0aW9uKCkoKTsKKwor
ICAgICAgICAgICAgc2hvdWxkS2VlcFJ1bm5pbmcgPSBmYWxzZTsKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgTlNSdW5Mb29wICpydW5Mb29wID0gW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF07Cisg
ICAgICAgIHdoaWxlIChzaG91bGRLZWVwUnVubmluZyAmJiBbcnVuTG9vcCBydW5Nb2RlOk5TRGVm
YXVsdFJ1bkxvb3BNb2RlIGJlZm9yZURhdGU6W05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNp
bmNlTm93OjFdXSkgeyB9CisgICAgfQorICAgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9EZWNvZGVyVGVzdC9NYWtlZmlsZSBiL1BlcmZvcm1hbmNlVGVzdHMvRGVj
b2RlclRlc3QvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I0YzExYTU3YzY3MzlhMTQyNmE1YmI5ZDgx
MmI3MzAwMWU2OWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2Rl
clRlc3QvTWFrZWZpbGUKQEAgLTAsMCArMSBAQAoraW5jbHVkZSAuLi9NYWtlZmlsZS5zaGFyZWQK
ZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTWFrZWZpbGUuc2hhcmVkIGIvUGVyZm9ybWFu
Y2VUZXN0cy9NYWtlZmlsZS5zaGFyZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVlNDhkNjBhMDgyYzljM2Y5ZjZh
M2NiOTBhYWYzMDczODJlMGVhYwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMv
TWFrZWZpbGUuc2hhcmVkCkBAIC0wLDAgKzEsMiBAQAorU0NSSVBUU19QQVRIID89IC4uLy4uL1Rv
b2xzL1NjcmlwdHMKK2luY2x1ZGUgLi4vLi4vTWFrZWZpbGUuc2hhcmVkCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>