<?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>150535</bug_id>
          
          <creation_ts>2015-10-24 12:41:32 -0700</creation_ts>
          <short_desc>B3::Values that have effects should allow specification of custom HeapRanges</short_desc>
          <delta_ts>2015-11-03 16:29:30 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1136272</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-24 12:41:32 -0700</bug_when>
    <thetext>Each memory-accessing operation has an integer range associated with it.  Two things may access the same memory if their ranges overlap.  We can also add ranges to calls and patchpoints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139084</commentid>
    <comment_count>1</comment_count>
      <attachid>264725</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-03 14:24:03 -0800</bug_when>
    <thetext>Created attachment 264725
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139087</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-03 14:26:23 -0800</bug_when>
    <thetext>Attachment 264725 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:78:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:80:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:117:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:119:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3ControlValue.h:133:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 5 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139145</commentid>
    <comment_count>3</comment_count>
      <attachid>264744</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-03 15:53:34 -0800</bug_when>
    <thetext>Created attachment 264744
the patch

For real this time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139147</commentid>
    <comment_count>4</comment_count>
      <attachid>264725</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-03 15:54:17 -0800</bug_when>
    <thetext>Comment on attachment 264725
the patch

EWS is red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139149</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-03 15:56:30 -0800</bug_when>
    <thetext>Attachment 264744 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:78:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:80:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:117:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3MemoryValue.h:119:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3ControlValue.h:133:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 5 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139172</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-03 16:29:30 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/191994</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264725</attachid>
            <date>2015-11-03 14:24:03 -0800</date>
            <delta_ts>2015-11-03 15:54:17 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>26877</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxOTc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBA
CisyMDE1LTExLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjM6OlZhbHVlcyB0aGF0IGhhdmUgZWZmZWN0cyBzaG91bGQgYWxsb3cgc3BlY2lmaWNhdGlvbiBv
ZiBjdXN0b20gSGVhcFJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUwNTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGEgRWZmZWN0cyBmaWVsZCB0byBjYWxscyBhbmQgcGF0Y2hwb2ludHMu
IEFkZCBhIEhlYXBSYW5nZSB0byBNZW1vcnlWYWx1ZXMuCisKKyAgICAgICAgSW4gdGhlIHByb2Nl
c3MsIEkgY3JlYXRlZCBhIGNsYXNzIGZvciB0aGUgQ0NhbGwgb3Bjb2RlLCBzbyB0aGF0IGl0IGhh
cyBzb21ld2hlcmUgdG8gcHV0CisgICAgICAgIHRoZSBFZmZlY3RzIGZpZWxkLgorCisgICAgICAg
IFdoaWxlIGRvaW5nIHRoaXMsIEkgcmVhbGl6ZWQgdGhhdCB3ZSBkaWRuJ3QgaGF2ZSBhIGdvb2Qg
d2F5IG9mIGVuc3VyaW5nIHRoYXQgYW4gb3Bjb2RlCisgICAgICAgIHRoYXQgcmVxdWlyZXMgYSBz
cGVjaWZpYyBzdWJjbGFzcyB3YXMgYWN0dWFsbHkgY3JlYXRlZCB3aXRoIHRoYXQgc3ViY2xhc3Mu
IFNvLCBJIGFkZGVkCisgICAgICAgIGFzc2VydGlvbnMgZm9yIHRoaXMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGIzL0IzQXJndW1lbnRSZWdWYWx1ZS5oOgorICAgICAgICAq
IGIzL0IzQ0NhbGxWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAqIGIzL0IzQ0NhbGxWYWx1ZS5o
OiBBZGRlZC4KKyAgICAgICAgKiBiMy9CM0NoZWNrVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0Nv
bnN0MzJWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzQ29uc3Q2NFZhbHVlLmg6CisgICAgICAgICog
YjMvQjNDb25zdERvdWJsZVZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpDb25zdERvdWJsZVZh
bHVlOjpDb25zdERvdWJsZVZhbHVlKToKKyAgICAgICAgKiBiMy9CM0NvbnRyb2xWYWx1ZS5oOgor
ICAgICAgICAqIGIzL0IzRWZmZWN0cy5oOgorICAgICAgICAoSlNDOjpCMzo6RWZmZWN0czo6Zm9y
Q2FsbCk6CisgICAgICAgIChKU0M6OkIzOjpFZmZlY3RzOjptdXN0RXhlY3V0ZSk6CisgICAgICAg
ICogYjMvQjNNZW1vcnlWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzUGF0Y2hwb2ludFZhbHVlLmg6
CisgICAgICAgICogYjMvQjNTdGFja1Nsb3RWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzVXBzaWxv
blZhbHVlLmg6CisgICAgICAgICogYjMvQjNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpW
YWx1ZTo6ZWZmZWN0cyk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6ZHVtcE1ldGEpOgorICAg
ICAgICAoSlNDOjpCMzo6VmFsdWU6OmNoZWNrT3Bjb2RlKToKKyAgICAgICAgKEpTQzo6QjM6OlZh
bHVlOjp0eXBlRm9yKToKKyAgICAgICAgKiBiMy9CM1ZhbHVlLmg6CisKIDIwMTUtMTEtMDMgIE1h
cmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBzb21lIGluZWZmaWNp
ZW5jaWVzIGluIHRoZSBiYXNlbGluZSB1c2FnZSBvZiBKSVRBZGRHZW5lcmF0b3IuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTkxOTc3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI4MCw2ICsyODAsOCBAQAogCQkwRjMwMEI3QzE4QUIxQjE0MDBBNkQ3
MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzAwQjdBMThBQjFCMTQwMEE2RDcyRSAvKiBE
RkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5oICovOyB9OwogCQkwRjMyQkQxMDFCQjM0RjE5
MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzMkJEMEUxQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxw
ZXJQb29sLmNwcCAqLzsgfTsKIAkJMEYzMkJEMTExQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxw
ZXJQb29sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjMyQkQwRjFCQjM0RjE5MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuaCAqLzsgfTsKKwkJMEYz
MzhERjkxQkU5NkFBODAwMTNDODhGIC8qIEIzQ0NhbGxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjMzOERGNzFCRTk2QUE4MDAxM0M4OEYg
LyogQjNDQ2FsbFZhbHVlLmNwcCAqLzsgfTsKKwkJMEYzMzhERkExQkU5NkFBODAwMTNDODhGIC8q
IEIzQ0NhbGxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYzMzhERjgxQkU5NkFBODAwMTNDODhGIC8qIEIzQ0NhbGxWYWx1ZS5oICovOyB9Owog
CQkwRjM0QjE0OTE2RDQyMDEwMDAxQ0RBNUEgLyogREZHVXNlS2luZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM0QjE0NzE2RDQyMDBFMDAxQ0RB
NUEgLyogREZHVXNlS2luZC5jcHAgKi87IH07CiAJCTBGMzRCMTRBMTZENDIwMTMwMDFDREE1QSAv
KiBERkdVc2VLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2luZC5oICovOyB9OwogCQkw
RjM4QjAxMTE3Q0YwNzgwMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzhCMDBGMTdDRjA3N0YwMEIx
NDREMyAvKiBMTEludEVudHJ5cG9pbnQuY3BwICovOyB9OwpAQCAtMjI5OSw2ICsyMzAxLDggQEAK
IAkJMEYzMDBCN0ExOEFCMUIxNDAwQTZENzJFIC8qIERGR0ludGVnZXJDaGVja0NvbWJpbmluZ1Bo
YXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0ludGVnZXJDaGVja0Nv
bWJpbmluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzMkJEMEUxQkIzNEYxOTAwOTNBNTdG
IC8qIEhlYXBIZWxwZXJQb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhlYXBIZWxwZXJQb29sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYz
MkJEMEYxQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxwZXJQb29sLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBIZWxwZXJQb29sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMzM4REY3MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDQ2FsbFZhbHVlLmNwcDsgcGF0
aCA9IGIzL0IzQ0NhbGxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MzM4REY4MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQjNDQ2FsbFZhbHVlLmg7IHBhdGggPSBiMy9CM0NDYWxsVmFsdWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzNEIxNDcxNkQ0MjAwRTAwMUNEQTVB
IC8qIERGR1VzZUtpbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHVXNlS2luZC5jcHA7IHBhdGggPSBkZmcvREZHVXNlS2luZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGMzRCMTQ4MTZENDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5kLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1VzZUtpbmQuaDsgcGF0aCA9IGRm
Zy9ERkdVc2VLaW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMzhCMDBGMTdD
RjA3N0YwMEIxNDREMyAvKiBMTEludEVudHJ5cG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
TExJbnRFbnRyeXBvaW50LmNwcDsgcGF0aCA9IGxsaW50L0xMSW50RW50cnlwb2ludC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzkzLDYgKzQzOTcsOCBAQAogCQkJCTBGRUM4
NEI4MUJEQUNEQUMwMDgwRkY3NCAvKiBCM0Jhc2ljQmxvY2tJbmxpbmVzLmggKi8sCiAJCQkJMEZF
Qzg0QjkxQkRBQ0RBQzAwODBGRjc0IC8qIEIzQmFzaWNCbG9ja1V0aWxzLmggKi8sCiAJCQkJMEZF
Qzg0QkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzQmxvY2tXb3JrbGlzdC5oICovLAorCQkJCTBGMzM4
REY3MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuY3BwICovLAorCQkJCTBGMzM4REY4
MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuaCAqLywKIAkJCQkwRkVDODRCQjFCREFD
REFDMDA4MEZGNzQgLyogQjNDaGVja1NwZWNpYWwuY3BwICovLAogCQkJCTBGRUM4NEJDMUJEQUNE
QUMwMDgwRkY3NCAvKiBCM0NoZWNrU3BlY2lhbC5oICovLAogCQkJCTBGRUM4NEJEMUJEQUNEQUMw
MDgwRkY3NCAvKiBCM0NoZWNrVmFsdWUuY3BwICovLApAQCAtNjUxNSw2ICs2NTIxLDcgQEAKIAkJ
CQkwRkVDODU2RTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZFQzg1NzAxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFyZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZFQzg1NzIxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckJhc2ljQmxvY2suaCBp
biBIZWFkZXJzICovLAorCQkJCTBGMzM4REZBMUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc0MUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJD
Q2FsbFNwZWNpYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc2MUJEQUNEQzcwMDgwRkY3
NCAvKiBBaXJDb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ1NzAzOTFCRTQ0QzkxMDA2MkE2
MjkgLyogQWlyRWxpbWluYXRlRGVhZENvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtODgyOCw2ICs4
ODM1LDcgQEAKIAkJCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0RjcyNTY1MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxl
T3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdDQTNBRTMxN0RBNDFBRTAwNjUzOEFGIC8q
IFdlYWtNYXBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjMzOERGOTFCRTk2
QUE4MDAxM0M4OEYgLyogQjNDQ2FsbFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Q0Ez
QUVCMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBN0NBM0FFNTE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcFByb3RvdHlwZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNEU4NEZBMDE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgaW4g
U291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVn
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVu
dFJlZ1ZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0FyZ3VtZW50UmVnVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAKICAgICBBcmd1bWVudFJlZ1Zh
bHVlKHVuc2lnbmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBSZWcgcmVnKQotICAgICAgICA6IFZh
bHVlKGluZGV4LCBBcmd1bWVudFJlZywgcmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91
YmxlLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIEFyZ3Vt
ZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkgOiBEb3VibGUsIG9yaWdpbikKICAg
ICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAgICAgICBBU1NFUlQocmVnLmlzU2V0KCkpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDQ2FsbFZhbHVl
LmgiCisKKyNpZiBFTkFCTEUoQjNfSklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIz
IHsKKworQ0NhbGxWYWx1ZTo6fkNDYWxsVmFsdWUoKTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkIzCisKKyNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBCM0ND
YWxsVmFsdWVfaAorI2RlZmluZSBCM0NDYWxsVmFsdWVfaAorCisjaWYgRU5BQkxFKEIzX0pJVCkK
KworI2luY2x1ZGUgIkIzRWZmZWN0cy5oIgorI2luY2x1ZGUgIkIzVmFsdWUuaCIKKworbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CisKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIENDYWxs
VmFsdWUgOiBwdWJsaWMgVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBib29sIGFjY2VwdHMo
T3Bjb2RlIG9wY29kZSkgeyByZXR1cm4gb3Bjb2RlID09IENDYWxsOyB9CisKKyAgICB+Q0NhbGxW
YWx1ZSgpOworCisgICAgRWZmZWN0cyBlZmZlY3RzOworCitwcml2YXRlOgorICAgIGZyaWVuZCBj
bGFzcyBQcm9jZWR1cmU7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Cisg
ICAgQ0NhbGxWYWx1ZSh1bnNpZ25lZCBpbmRleCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBB
cmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bj
b2RlLCBDQ2FsbCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisgICAgICAgICwgZWZmZWN0
cyhFZmZlY3RzOjpmb3JDYWxsKCkpCisgICAgeworICAgIH0KK307CisKK30gfSAvLyBuYW1lc3Bh
Y2UgSlNDOjpCMworCisjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKKworI2VuZGlmIC8vIEIzQ0Nh
bGxWYWx1ZV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgJ
KHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFs
dWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogCiAgICAgLy8g
VXNlIHRoaXMgZm9ybSBmb3IgQ2hlY2tBZGQsIENoZWNrU3ViLCBhbmQgQ2hlY2tNdWwuCiAgICAg
Q2hlY2tWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdpbiwg
VmFsdWUqIGxlZnQsIFZhbHVlKiByaWdodCkKLSAgICAgICAgOiBWYWx1ZShpbmRleCwgb3Bjb2Rl
LCBsZWZ0LT50eXBlKCksIG9yaWdpbiwgbGVmdCwgcmlnaHQpCisgICAgICAgIDogVmFsdWUoaW5k
ZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwgbGVmdC0+dHlwZSgpLCBvcmlnaW4sIGxlZnQsIHJp
Z2h0KQogICAgIHsKICAgICAgICAgQVNTRVJUKEIzOjppc0ludCh0eXBlKCkpKTsKICAgICAgICAg
QVNTRVJUKGxlZnQtPnR5cGUoKSA9PSByaWdodC0+dHlwZSgpKTsKQEAgLTY5LDcgKzY5LDcgQEAg
cHJpdmF0ZToKIAogICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrLgogICAgIENoZWNrVmFs
dWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBw
cmVkaWNhdGUpCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIG9wY29kZSwgVm9pZCwgb3JpZ2luLCBw
cmVkaWNhdGUpCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwg
Vm9pZCwgb3JpZ2luLCBwcmVkaWNhdGUpCiAgICAgewogICAgICAgICBBU1NFUlQob3Bjb2RlID09
IENoZWNrKTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMy
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMy
VmFsdWUuaAkocmV2aXNpb24gMTkxOTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3QzMlZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJvdGVjdGVk
OgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAKICAgICBDb25zdDMyVmFsdWUodW5zaWdu
ZWQgaW5kZXgsIE9yaWdpbiBvcmlnaW4sIGludDMyX3QgdmFsdWUpCi0gICAgICAgIDogVmFsdWUo
aW5kZXgsIENvbnN0MzIsIEludDMyLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENo
ZWNrZWRPcGNvZGUsIENvbnN0MzIsIEludDMyLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3Q2NFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3Q2NFZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHByb3Rl
Y3RlZDoKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwogCiAgICAgQ29uc3Q2NFZhbHVlKHVu
c2lnbmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBpbnQ2NF90IHZhbHVlKQotICAgICAgICA6IFZh
bHVlKGluZGV4LCBDb25zdDY0LCBJbnQ2NCwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKGluZGV4
LCBDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgb3JpZ2luKQogICAgICAgICAsIG1fdmFs
dWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NvbnN0RG91YmxlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTQs
NyArNTQsNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAKICAgICBD
b25zdERvdWJsZVZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBkb3VibGUgdmFs
dWUpCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIENvbnN0RG91YmxlLCBEb3VibGUsIG9yaWdpbikK
KyAgICAgICAgOiBWYWx1ZShpbmRleCwgQ2hlY2tlZE9wY29kZSwgQ29uc3REb3VibGUsIERvdWJs
ZSwgb3JpZ2luKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnRyb2xWYWx1ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnRyb2xWYWx1ZS5oCShyZXZpc2lvbiAxOTE5
NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb250cm9sVmFsdWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgQ29udHJvbFZhbHVlKHVu
c2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFy
Z3VtZW50cy4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogVmFsdWUoaW5kZXgsIG9wY29kZSwgdHlw
ZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCiAgICAgeworICAgICAgICBBU1NFUlQoYWNjZXB0cyhv
cGNvZGUpKTsKICAgICB9CiAKICAgICAvLyBTdWJjbGFzc2VzIHdpbGwgcG9wdWxhdGUgdGhpcy4K
QEAgLTEwNSwyMSArMTA2LDIxIEBAIHByaXZhdGU6CiAKICAgICAvLyBVc2UgdGhpcyBmb3IgT29w
cy4KICAgICBDb250cm9sVmFsdWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdp
biBvcmlnaW4pCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIG9wY29kZSwgVm9pZCwgb3JpZ2luKQor
ICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIFZvaWQsIG9yaWdp
bikKICAgICB7CiAgICAgICAgIEFTU0VSVChvcGNvZGUgPT0gT29wcyk7CiAgICAgfQogCiAgICAg
Ly8gVXNlIHRoaXMgZm9yIFJldHVybi4KICAgICBDb250cm9sVmFsdWUodW5zaWduZWQgaW5kZXgs
IE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiByZXN1bHQpCi0gICAgICAgIDog
VmFsdWUoaW5kZXgsIG9wY29kZSwgVm9pZCwgb3JpZ2luLCByZXN1bHQpCisgICAgICAgIDogVmFs
dWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwgVm9pZCwgb3JpZ2luLCByZXN1bHQpCiAg
ICAgewogICAgICAgICBBU1NFUlQob3Bjb2RlID09IFJldHVybik7CiAgICAgfQogCiAgICAgLy8g
VXNlIHRoaXMgZm9yIEp1bXAuCiAgICAgQ29udHJvbFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNv
ZGUgb3Bjb2RlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBGcmVxdWVudGVkQmxvY2smIHRhcmdldCkK
LSAgICAgICAgOiBWYWx1ZShpbmRleCwgb3Bjb2RlLCBWb2lkLCBvcmlnaW4pCisgICAgICAgIDog
VmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwgVm9pZCwgb3JpZ2luKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG9wY29kZSA9PSBKdW1wKTsKICAgICAgICAgbV9zdWNjZXNzb3JzLmFw
cGVuZCh0YXJnZXQpOwpAQCAtMTI5LDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgQ29udHJvbFZh
bHVlKAogICAgICAgICB1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdp
biwgVmFsdWUqIHByZWRpY2F0ZSwKICAgICAgICAgY29uc3QgRnJlcXVlbnRlZEJsb2NrJiB5ZXMs
IGNvbnN0IEZyZXF1ZW50ZWRCbG9jayYgbm8pCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIG9wY29k
ZSwgVm9pZCwgb3JpZ2luLCBwcmVkaWNhdGUpCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNr
ZWRPcGNvZGUsIG9wY29kZSwgVm9pZCwgb3JpZ2luLCBwcmVkaWNhdGUpCiAgICAgewogICAgICAg
ICBBU1NFUlQob3Bjb2RlID09IEJyYW5jaCk7CiAgICAgICAgIG1fc3VjY2Vzc29ycy5hcHBlbmQo
eWVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0VmZmVjdHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNFZmZlY3RzLmgJKHJldmlzaW9uIDE5
MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0VmZmVjdHMuaAkod29ya2luZyBj
b3B5KQpAQCAtNTUsNiArNTUsMTYgQEAgc3RydWN0IEVmZmVjdHMgewogICAgIEhlYXBSYW5nZSB3
cml0ZXM7CiAgICAgSGVhcFJhbmdlIHJlYWRzOwogCisgICAgc3RhdGljIEVmZmVjdHMgZm9yQ2Fs
bCgpCisgICAgeworICAgICAgICBFZmZlY3RzIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LmV4aXRz
U2lkZXdheXMgPSB0cnVlOworICAgICAgICByZXN1bHQuY29udHJvbERlcGVuZGVudCA9IHRydWU7
CisgICAgICAgIHJlc3VsdC53cml0ZXMgPSBIZWFwUmFuZ2U6OnRvcCgpOworICAgICAgICByZXN1
bHQucmVhZHMgPSBIZWFwUmFuZ2U6OnRvcCgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKwogICAgIGJvb2wgbXVzdEV4ZWN1dGUoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJu
IHRlcm1pbmFsIHx8IGV4aXRzU2lkZXdheXMgfHwgd3JpdGVzU1NBU3RhdGUgfHwgd3JpdGVzOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCShyZXZpc2lvbiAx
OTE5NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCwxNCArMjgsMTEgQEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAKKyNp
bmNsdWRlICJCM0hlYXBSYW5nZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUuaCIKIAogbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKLS8vIEZJWE1FOiBBZGQgYWxpYXMgYW5hbHlzaXMgdG8g
dGhlc2UgYnkgYWxsb3dpbmcgdGhlIGNsaWVudCB0byBhc3NvY2lhdGUgYW4gaW50ZWdlciByYW5n
ZSB0byB0aGUKLS8vIHZhbHVlLiBUd28gb3BlcmF0aW9ucyBtYXkgYWNjZXNzIHRoZSBzYW1lIG1l
bW9yeSBpZiB0aGVpciByYW5nZXMgb3ZlcmxhcHMuCi0vLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNTM1Ci0KIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIE1lbW9y
eVZhbHVlIDogcHVibGljIFZhbHVlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBhY2NlcHRz
KE9wY29kZSBvcGNvZGUpCkBAIC02Miw2ICs1OSw5IEBAIHB1YmxpYzoKICAgICBpbnQzMl90IG9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0OyB9CiAgICAgdm9pZCBzZXRPZmZzZXQoaW50
MzJfdCBvZmZzZXQpIHsgbV9vZmZzZXQgPSBvZmZzZXQ7IH0KIAorICAgIGNvbnN0IEhlYXBSYW5n
ZSYgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhbmdlOyB9CisgICAgdm9pZCBzZXRSYW5nZShj
b25zdCBIZWFwUmFuZ2UmIHJhbmdlKSB7IG1fcmFuZ2UgPSByYW5nZTsgfQorCiAgICAgc2l6ZV90
IGFjY2Vzc0J5dGVTaXplKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKQEAgLTc1LDggKzc1LDkgQEAg
cHJpdmF0ZToKICAgICBNZW1vcnlWYWx1ZSgKICAgICAgICAgdW5zaWduZWQgaW5kZXgsIE9wY29k
ZSBvcGNvZGUsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHBvaW50ZXIsCiAgICAg
ICAgIGludDMyX3Qgb2Zmc2V0ID0gMCkKLSAgICAgICAgOiBWYWx1ZShpbmRleCwgb3Bjb2RlLCB0
eXBlLCBvcmlnaW4sIHBvaW50ZXIpCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNv
ZGUsIG9wY29kZSwgdHlwZSwgb3JpZ2luLCBwb2ludGVyKQogICAgICAgICAsIG1fb2Zmc2V0KG9m
ZnNldCkKKyAgICAgICAgLCBtX3JhbmdlKEhlYXBSYW5nZTo6dG9wKCkpCiAgICAgewogICAgICAg
ICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkgewogICAgICAgICAgICAgc3dpdGNoIChvcGNvZGUpIHsK
QEAgLTExMyw4ICsxMTQsOSBAQCBwcml2YXRlOgogICAgIE1lbW9yeVZhbHVlKAogICAgICAgICB1
bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZhbHVl
LCBWYWx1ZSogcG9pbnRlciwKICAgICAgICAgaW50MzJfdCBvZmZzZXQgPSAwKQotICAgICAgICA6
IFZhbHVlKGluZGV4LCBvcGNvZGUsIFZvaWQsIG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIpCisgICAg
ICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwgVm9pZCwgb3JpZ2luLCB2
YWx1ZSwgcG9pbnRlcikKICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgICAgICwgbV9y
YW5nZShIZWFwUmFuZ2U6OnRvcCgpKQogICAgIHsKICAgICAgICAgaWYgKCFBU1NFUlRfRElTQUJM
RUQpIHsKICAgICAgICAgICAgIHN3aXRjaCAob3Bjb2RlKSB7CkBAIC0xMzEsNiArMTMzLDcgQEAg
cHJpdmF0ZToKICAgICB9CiAKICAgICBpbnQzMl90IG1fb2Zmc2V0IHsgMCB9OworICAgIEhlYXBS
YW5nZSBtX3JhbmdlOwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAkocmV2aXNpb24gMTkx
OTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAKKyNp
bmNsdWRlICJCM0VmZmVjdHMuaCIKICNpbmNsdWRlICJCM1N0YWNrbWFwLmgiCiAjaW5jbHVkZSAi
QjNWYWx1ZS5oIgogCkBAIC00MCw2ICs0MSw3IEBAIHB1YmxpYzoKICAgICB+UGF0Y2hwb2ludFZh
bHVlKCk7CiAKICAgICBTdGFja21hcCBzdGFja21hcDsKKyAgICBFZmZlY3RzIGVmZmVjdHM7CiAK
IHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJp
ZGU7CkBAIC00OSwxNCArNTEsMTYgQEAgcHJpdmF0ZToKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IExpc3RUeXBlPgogICAgIFBhdGNocG9pbnRWYWx1ZSh1bnNpZ25lZCBpbmRleCwgVHlwZSB0eXBl
LCBPcmlnaW4gb3JpZ2luLCBMaXN0VHlwZSYmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKGlu
ZGV4LCBQYXRjaHBvaW50LCB0eXBlLCBvcmlnaW4sIHN0ZDo6Zm9yd2FyZDxMaXN0VHlwZT4oY2hp
bGRyZW4pKQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBQYXRjaHBvaW50
LCB0eXBlLCBvcmlnaW4sIHN0ZDo6Zm9yd2FyZDxMaXN0VHlwZT4oY2hpbGRyZW4pKQorICAgICAg
ICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQogICAgIHsKICAgICB9CiAKICAgICAvLyBJ
dCdzIHRvdGFsbHkgZmluZSB0byBjcmVhdGUgYSBQYXRjaHBvaW50VmFsdWUgd2l0aG91dCBhbnkg
Y2hpbGRyZW4sIGFuZCB0aGVuIGFwcGVuZCB0aGUKICAgICAvLyBjaGlsZHJlbiBhcyB5b3UgYnVp
bGQgdXAgdGhlIHN0YWNrbWFwLgogICAgIFBhdGNocG9pbnRWYWx1ZSh1bnNpZ25lZCBpbmRleCwg
VHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBQYXRjaHBv
aW50LCB0eXBlLCBvcmlnaW4sIEFkamFjZW5jeUxpc3QoKSkKKyAgICAgICAgOiBWYWx1ZShpbmRl
eCwgQ2hlY2tlZE9wY29kZSwgUGF0Y2hwb2ludCwgdHlwZSwgb3JpZ2luLCBBZGphY2VuY3lMaXN0
KCkpCisgICAgICAgICwgZWZmZWN0cyhFZmZlY3RzOjpmb3JDYWxsKCkpCiAgICAgewogICAgIH0K
IH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja1Nsb3RWYWx1ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrU2xvdFZhbHVlLmgJ
KHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrU2xv
dFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOwogCiAgICAgU3RhY2tTbG90VmFsdWUodW5zaWduZWQgaW5k
ZXgsIE9yaWdpbiBvcmlnaW4sIHVuc2lnbmVkIGJ5dGVTaXplLCBTdGFja1Nsb3RLaW5kIGtpbmQp
Ci0gICAgICAgIDogVmFsdWUoaW5kZXgsIFN0YWNrU2xvdCwgcG9pbnRlclR5cGUoKSwgb3JpZ2lu
KQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBTdGFja1Nsb3QsIHBvaW50
ZXJUeXBlKCksIG9yaWdpbikKICAgICAgICAgLCBtX2J5dGVTaXplKGJ5dGVTaXplKQogICAgICAg
ICAsIG1fa2luZChraW5kKQogICAgICAgICAsIG1fb2Zmc2V0RnJvbUZQKDApCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAkocmV2aXNpb24gMTkxOTc3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICAvLyB0aGUgVXBzaWxvbnMgd2l0aG91
dCB0aGUgUGhpLCB0aGVuIGNyZWF0ZSB0aGUgUGhpLCB0aGVuIGdvIGJhY2sgYW5kIHRlbGwgdGhl
IFVwc2lsb25zIGFib3V0CiAgICAgLy8gdGhlIFBoaS4gVGhpcyBhbGxvd3MgeW91IHRvIGVtaXQg
Y29kZSBpbiBpdHMgbmF0dXJhbCBvcmRlci4KICAgICBVcHNpbG9uVmFsdWUodW5zaWduZWQgaW5k
ZXgsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBoaSA9IG51bGxwdHIpCi0g
ICAgICAgIDogVmFsdWUoaW5kZXgsIFVwc2lsb24sIFZvaWQsIG9yaWdpbiwgdmFsdWUpCisgICAg
ICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIFVwc2lsb24sIFZvaWQsIG9yaWdpbiwg
dmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQogICAgIHsKICAgICAgICAgaWYgKHBoaSkgewpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAkocmV2aXNpb24gMTkxOTc3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw2ICsyOCwxMiBAQAogCiAjaWYgRU5BQkxFKEIzX0pJVCkKIAorI2luY2x1ZGUgIkIzQXJn
dW1lbnRSZWdWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5oIgorI2luY2x1ZGUgIkIz
Q29udHJvbFZhbHVlLmgiCisjaW5jbHVkZSAiQjNNZW1vcnlWYWx1ZS5oIgorI2luY2x1ZGUgIkIz
U3RhY2tTbG90VmFsdWUuaCIKKyNpbmNsdWRlICJCM1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUg
IkIzVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1
ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgpAQCAtMjMyLDI2ICsyMzgsMjEgQEAgRWZmZWN0
cyBWYWx1ZTo6ZWZmZWN0cygpIGNvbnN0CiAgICAgY2FzZSBMb2FkMTZTOgogICAgIGNhc2UgTG9h
ZEZsb2F0OgogICAgIGNhc2UgTG9hZDoKLSAgICAgICAgLy8gRklYTUU6IE1lbW9yeVZhbHVlIHNo
b3VsZCBoYXZlIGEgSGVhcFJhbmdlLgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNTM1Ci0gICAgICAgIHJlc3VsdC5yZWFkcyA9IEhlYXBSYW5n
ZTo6dG9wKCk7CisgICAgICAgIHJlc3VsdC5yZWFkcyA9IGFzPE1lbW9yeVZhbHVlPigpLT5yYW5n
ZSgpOwogICAgICAgICByZXN1bHQuY29udHJvbERlcGVuZGVudCA9IHRydWU7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgU3RvcmU4OgogICAgIGNhc2UgU3RvcmUxNjoKICAgICBjYXNlIFN0b3Jl
RmxvYXQ6CiAgICAgY2FzZSBTdG9yZToKLSAgICAgICAgLy8gRklYTUU6IE1lbW9yeVZhbHVlIHNo
b3VsZCBoYXZlIGEgSGVhcFJhbmdlLgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNTM1Ci0gICAgICAgIHJlc3VsdC53cml0ZXMgPSBIZWFwUmFu
Z2U6OnRvcCgpOworICAgICAgICByZXN1bHQud3JpdGVzID0gYXM8TWVtb3J5VmFsdWU+KCktPnJh
bmdlKCk7CiAgICAgICAgIHJlc3VsdC5jb250cm9sRGVwZW5kZW50ID0gdHJ1ZTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBDQ2FsbDoKKyAgICAgICAgcmVzdWx0ID0gYXM8Q0NhbGxWYWx1ZT4o
KS0+ZWZmZWN0czsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQYXRjaHBvaW50OgotICAgICAg
ICByZXN1bHQucmVhZHMgPSBIZWFwUmFuZ2U6OnRvcCgpOwotICAgICAgICByZXN1bHQud3JpdGVz
ID0gSGVhcFJhbmdlOjp0b3AoKTsKLSAgICAgICAgcmVzdWx0LmV4aXRzU2lkZXdheXMgPSB0cnVl
OwotICAgICAgICByZXN1bHQuY29udHJvbERlcGVuZGVudCA9IHRydWU7CisgICAgICAgIHJlc3Vs
dCA9IGFzPFBhdGNocG9pbnRWYWx1ZT4oKS0+ZWZmZWN0czsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDaGVja0FkZDoKICAgICBjYXNlIENoZWNrU3ViOgpAQCAtMjg4LDYgKzI4OSwyMyBAQCB2
b2lkIFZhbHVlOjpkdW1wTWV0YShQcmludFN0cmVhbSYpIGNvbnN0CiB7CiB9CiAKKyNpZiAhQVNT
RVJUX0RJU0FCTEVECit2b2lkIFZhbHVlOjpjaGVja09wY29kZShPcGNvZGUgb3Bjb2RlKQorewor
ICAgIEFTU0VSVCghQXJndW1lbnRSZWdWYWx1ZTo6YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NF
UlQoIUNDYWxsVmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7CisgICAgQVNTRVJUKCFDaGVja1ZhbHVl
OjphY2NlcHRzKG9wY29kZSkpOworICAgIEFTU0VSVCghQ29uc3QzMlZhbHVlOjphY2NlcHRzKG9w
Y29kZSkpOworICAgIEFTU0VSVCghQ29uc3Q2NFZhbHVlOjphY2NlcHRzKG9wY29kZSkpOworICAg
IEFTU0VSVCghQ29uc3REb3VibGVWYWx1ZTo6YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQo
IUNvbnRyb2xWYWx1ZTo6YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQoIU1lbW9yeVZhbHVl
OjphY2NlcHRzKG9wY29kZSkpOworICAgIEFTU0VSVCghUGF0Y2hwb2ludFZhbHVlOjphY2NlcHRz
KG9wY29kZSkpOworICAgIEFTU0VSVCghU3RhY2tTbG90VmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7
CisgICAgQVNTRVJUKCFVcHNpbG9uVmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7Cit9CisjZW5kaWYg
Ly8gIUFTU0VSVF9ESVNBQkxFRAorCiBUeXBlIFZhbHVlOjp0eXBlRm9yKE9wY29kZSBvcGNvZGUs
IFZhbHVlKiBmaXJzdENoaWxkKQogewogICAgIHN3aXRjaCAob3Bjb2RlKSB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OCwxNSArMTU4LDI0
IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBkdW1wTWV0YShQcmlu
dFN0cmVhbSYpIGNvbnN0OwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9j
ZWR1cmU7CiAKKyAgICAvLyBDaGVja3MgdGhhdCB0aGlzIG9wY29kZSBpcyB2YWxpZCBmb3IgdXNl
IHdpdGggQjM6OlZhbHVlLgorI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgIHN0YXRpYyB2b2lkIGNo
ZWNrT3Bjb2RlKE9wY29kZSkgeyB9CisjZWxzZQorICAgIHN0YXRpYyB2b2lkIGNoZWNrT3Bjb2Rl
KE9wY29kZSk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgorICAgIGVudW0gQ2hlY2tlZE9wY29kZVRh
ZyB7IENoZWNrZWRPcGNvZGUgfTsKKyAgICAKICAgICAvLyBJbnN0YW50aWF0ZSB2YWx1ZXMgdmlh
IFByb2NlZHVyZS4KICAgICAvLyBUaGlzIGZvcm0gcmVxdWlyZXMgc3BlY2lmeWluZyB0aGUgdHlw
ZSBleHBsaWNpdGx5OgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBl
eHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgVHlwZSB0eXBlLCBP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykK
KyAgICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgQ2hlY2tlZE9wY29kZVRhZywgT3Bj
b2RlIG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwg
QXJndW1lbnRzLi4uIGFyZ3VtZW50cykKICAgICAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICAg
ICAsIG1fb3Bjb2RlKG9wY29kZSkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKQEAgLTE3NSw3ICsx
ODQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9y
IHNwZWNpZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRseSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNo
aWxkcmVuOgotICAgIGV4cGxpY2l0IFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2Rl
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGljaXQgVmFsdWUodW5zaWduZWQg
aW5kZXgsIENoZWNrZWRPcGNvZGVUYWcsIE9wY29kZSBvcGNvZGUsIFR5cGUgdHlwZSwgT3JpZ2lu
IG9yaWdpbikKICAgICAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICAgICAsIG1fb3Bjb2RlKG9w
Y29kZSkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKQEAgLTE4NCw3ICsxOTMsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNh
biBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgY2hpbGQ6CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIGV4cGxpY2l0IFZhbHVlKHVuc2ln
bmVkIGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGls
ZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBp
bmRleCwgQ2hlY2tlZE9wY29kZVRhZywgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdpbiwgVmFs
dWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogbV9pbmRl
eChpbmRleCkKICAgICAgICAgLCBtX29wY29kZShvcGNvZGUpCiAgICAgICAgICwgbV90eXBlKHR5
cGVGb3Iob3Bjb2RlLCBmaXJzdENoaWxkKSkKQEAgLTE5NCw3ICsyMDMsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBp
bmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbG9uZSwgYW5kIHRoYXQgZG9uJ3QKICAg
ICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhwbGljaXQgVmFsdWUodW5zaWduZWQgaW5k
ZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGljaXQgVmFsdWUodW5z
aWduZWQgaW5kZXgsIENoZWNrZWRPcGNvZGVUYWcsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmln
aW4pCiAgICAgICAgIDogbV9pbmRleChpbmRleCkKICAgICAgICAgLCBtX29wY29kZShvcGNvZGUp
CiAgICAgICAgICwgbV90eXBlKHR5cGVGb3Iob3Bjb2RlLCBudWxscHRyKSkKQEAgLTIwMiw3ICsy
MTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KICAgICAvLyBVc2UgdGhpcyBmb3JtIGZv
ciB2YXJhcmdzLgotICAgIGV4cGxpY2l0IFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bj
b2RlLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxk
cmVuKQorICAgIGV4cGxpY2l0IFZhbHVlKHVuc2lnbmVkIGluZGV4LCBDaGVja2VkT3Bjb2RlVGFn
LCBPcGNvZGUgb3Bjb2RlLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5j
eUxpc3QmIGNoaWxkcmVuKQogICAgICAgICA6IG1faW5kZXgoaW5kZXgpCiAgICAgICAgICwgbV9v
cGNvZGUob3Bjb2RlKQogICAgICAgICAsIG1fdHlwZSh0eXBlKQpAQCAtMjEwLDcgKzIxOSw3IEBA
IHByb3RlY3RlZDoKICAgICAgICAgLCBtX2NoaWxkcmVuKGNoaWxkcmVuKQogICAgIHsKICAgICB9
Ci0gICAgZXhwbGljaXQgVmFsdWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQorICAgIGV4cGxp
Y2l0IFZhbHVlKHVuc2lnbmVkIGluZGV4LCBDaGVja2VkT3Bjb2RlVGFnLCBPcGNvZGUgb3Bjb2Rl
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3QmJiBjaGlsZHJlbikKICAg
ICAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICAgICAsIG1fb3Bjb2RlKG9wY29kZSkKICAgICAg
ICAgLCBtX3R5cGUodHlwZSkKQEAgLTIxOSw2ICsyMjgsMTUgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICB9CiAKKyAgICAvLyBUaGlzIGlzIHRoZSBjb25zdHJ1Y3RvciB5b3UgZW5kIHVwIGFjdHVh
bGx5IGNhbGxpbmcsIGlmIHlvdSdyZSBpbnN0YW50aWF0aW5nIFZhbHVlCisgICAgLy8gZGlyZWN0
bHkuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIGV4cGxpY2l0IFZh
bHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVu
dHMpCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIG9wY29kZSwgc3RkOjpm
b3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikKKyAgICB7CisgICAgICAgIGNoZWNrT3Bj
b2RlKG9wY29kZSk7CisgICAgfQorCiBwcml2YXRlOgogICAgIHN0YXRpYyBUeXBlIHR5cGVGb3Io
T3Bjb2RlLCBWYWx1ZSogZmlyc3RDaGlsZCk7CiAK
</data>
<flag name="review"
          id="289847"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264744</attachid>
            <date>2015-11-03 15:53:34 -0800</date>
            <delta_ts>2015-11-03 15:53:50 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>26884</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxOTc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBA
CisyMDE1LTExLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjM6OlZhbHVlcyB0aGF0IGhhdmUgZWZmZWN0cyBzaG91bGQgYWxsb3cgc3BlY2lmaWNhdGlvbiBv
ZiBjdXN0b20gSGVhcFJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUwNTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGEgRWZmZWN0cyBmaWVsZCB0byBjYWxscyBhbmQgcGF0Y2hwb2ludHMu
IEFkZCBhIEhlYXBSYW5nZSB0byBNZW1vcnlWYWx1ZXMuCisKKyAgICAgICAgSW4gdGhlIHByb2Nl
c3MsIEkgY3JlYXRlZCBhIGNsYXNzIGZvciB0aGUgQ0NhbGwgb3Bjb2RlLCBzbyB0aGF0IGl0IGhh
cyBzb21ld2hlcmUgdG8gcHV0CisgICAgICAgIHRoZSBFZmZlY3RzIGZpZWxkLgorCisgICAgICAg
IFdoaWxlIGRvaW5nIHRoaXMsIEkgcmVhbGl6ZWQgdGhhdCB3ZSBkaWRuJ3QgaGF2ZSBhIGdvb2Qg
d2F5IG9mIGVuc3VyaW5nIHRoYXQgYW4gb3Bjb2RlCisgICAgICAgIHRoYXQgcmVxdWlyZXMgYSBz
cGVjaWZpYyBzdWJjbGFzcyB3YXMgYWN0dWFsbHkgY3JlYXRlZCB3aXRoIHRoYXQgc3ViY2xhc3Mu
IFNvLCBJIGFkZGVkCisgICAgICAgIGFzc2VydGlvbnMgZm9yIHRoaXMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGIzL0IzQXJndW1lbnRSZWdWYWx1ZS5oOgorICAgICAgICAq
IGIzL0IzQ0NhbGxWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAqIGIzL0IzQ0NhbGxWYWx1ZS5o
OiBBZGRlZC4KKyAgICAgICAgKiBiMy9CM0NoZWNrVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0Nv
bnN0MzJWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzQ29uc3Q2NFZhbHVlLmg6CisgICAgICAgICog
YjMvQjNDb25zdERvdWJsZVZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpDb25zdERvdWJsZVZh
bHVlOjpDb25zdERvdWJsZVZhbHVlKToKKyAgICAgICAgKiBiMy9CM0NvbnRyb2xWYWx1ZS5oOgor
ICAgICAgICAqIGIzL0IzRWZmZWN0cy5oOgorICAgICAgICAoSlNDOjpCMzo6RWZmZWN0czo6Zm9y
Q2FsbCk6CisgICAgICAgIChKU0M6OkIzOjpFZmZlY3RzOjptdXN0RXhlY3V0ZSk6CisgICAgICAg
ICogYjMvQjNNZW1vcnlWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzUGF0Y2hwb2ludFZhbHVlLmg6
CisgICAgICAgICogYjMvQjNTdGFja1Nsb3RWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzVXBzaWxv
blZhbHVlLmg6CisgICAgICAgICogYjMvQjNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpW
YWx1ZTo6ZWZmZWN0cyk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6ZHVtcE1ldGEpOgorICAg
ICAgICAoSlNDOjpCMzo6VmFsdWU6OmNoZWNrT3Bjb2RlKToKKyAgICAgICAgKEpTQzo6QjM6OlZh
bHVlOjp0eXBlRm9yKToKKyAgICAgICAgKiBiMy9CM1ZhbHVlLmg6CisKIDIwMTUtMTEtMDMgIE1h
cmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBzb21lIGluZWZmaWNp
ZW5jaWVzIGluIHRoZSBiYXNlbGluZSB1c2FnZSBvZiBKSVRBZGRHZW5lcmF0b3IuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTkxOTc3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI4MCw2ICsyODAsOCBAQAogCQkwRjMwMEI3QzE4QUIxQjE0MDBBNkQ3
MkUgLyogREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzAwQjdBMThBQjFCMTQwMEE2RDcyRSAvKiBE
RkdJbnRlZ2VyQ2hlY2tDb21iaW5pbmdQaGFzZS5oICovOyB9OwogCQkwRjMyQkQxMDFCQjM0RjE5
MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzMkJEMEUxQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxw
ZXJQb29sLmNwcCAqLzsgfTsKIAkJMEYzMkJEMTExQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxw
ZXJQb29sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjMyQkQwRjFCQjM0RjE5MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuaCAqLzsgfTsKKwkJMEYz
MzhERjkxQkU5NkFBODAwMTNDODhGIC8qIEIzQ0NhbGxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjMzOERGNzFCRTk2QUE4MDAxM0M4OEYg
LyogQjNDQ2FsbFZhbHVlLmNwcCAqLzsgfTsKKwkJMEYzMzhERkExQkU5NkFBODAwMTNDODhGIC8q
IEIzQ0NhbGxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYzMzhERjgxQkU5NkFBODAwMTNDODhGIC8qIEIzQ0NhbGxWYWx1ZS5oICovOyB9Owog
CQkwRjM0QjE0OTE2RDQyMDEwMDAxQ0RBNUEgLyogREZHVXNlS2luZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM0QjE0NzE2RDQyMDBFMDAxQ0RB
NUEgLyogREZHVXNlS2luZC5jcHAgKi87IH07CiAJCTBGMzRCMTRBMTZENDIwMTMwMDFDREE1QSAv
KiBERkdVc2VLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjM0QjE0ODE2RDQyMDBFMDAxQ0RBNUEgLyogREZHVXNlS2luZC5oICovOyB9OwogCQkw
RjM4QjAxMTE3Q0YwNzgwMDBCMTQ0RDMgLyogTExJbnRFbnRyeXBvaW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzhCMDBGMTdDRjA3N0YwMEIx
NDREMyAvKiBMTEludEVudHJ5cG9pbnQuY3BwICovOyB9OwpAQCAtMjI5OSw2ICsyMzAxLDggQEAK
IAkJMEYzMDBCN0ExOEFCMUIxNDAwQTZENzJFIC8qIERGR0ludGVnZXJDaGVja0NvbWJpbmluZ1Bo
YXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0ludGVnZXJDaGVja0Nv
bWJpbmluZ1BoYXNlLmg7IHBhdGggPSBkZmcvREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzMkJEMEUxQkIzNEYxOTAwOTNBNTdG
IC8qIEhlYXBIZWxwZXJQb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhlYXBIZWxwZXJQb29sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYz
MkJEMEYxQkIzNEYxOTAwOTNBNTdGIC8qIEhlYXBIZWxwZXJQb29sLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBIZWxwZXJQb29sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGMzM4REY3MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDQ2FsbFZhbHVlLmNwcDsgcGF0
aCA9IGIzL0IzQ0NhbGxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
MzM4REY4MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQjNDQ2FsbFZhbHVlLmg7IHBhdGggPSBiMy9CM0NDYWxsVmFsdWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzNEIxNDcxNkQ0MjAwRTAwMUNEQTVB
IC8qIERGR1VzZUtpbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
REZHVXNlS2luZC5jcHA7IHBhdGggPSBkZmcvREZHVXNlS2luZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGMzRCMTQ4MTZENDIwMEUwMDFDREE1QSAvKiBERkdVc2VLaW5kLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1VzZUtpbmQuaDsgcGF0aCA9IGRm
Zy9ERkdVc2VLaW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMzhCMDBGMTdD
RjA3N0YwMEIxNDREMyAvKiBMTEludEVudHJ5cG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
TExJbnRFbnRyeXBvaW50LmNwcDsgcGF0aCA9IGxsaW50L0xMSW50RW50cnlwb2ludC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzkzLDYgKzQzOTcsOCBAQAogCQkJCTBGRUM4
NEI4MUJEQUNEQUMwMDgwRkY3NCAvKiBCM0Jhc2ljQmxvY2tJbmxpbmVzLmggKi8sCiAJCQkJMEZF
Qzg0QjkxQkRBQ0RBQzAwODBGRjc0IC8qIEIzQmFzaWNCbG9ja1V0aWxzLmggKi8sCiAJCQkJMEZF
Qzg0QkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzQmxvY2tXb3JrbGlzdC5oICovLAorCQkJCTBGMzM4
REY3MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuY3BwICovLAorCQkJCTBGMzM4REY4
MUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFsdWUuaCAqLywKIAkJCQkwRkVDODRCQjFCREFD
REFDMDA4MEZGNzQgLyogQjNDaGVja1NwZWNpYWwuY3BwICovLAogCQkJCTBGRUM4NEJDMUJEQUNE
QUMwMDgwRkY3NCAvKiBCM0NoZWNrU3BlY2lhbC5oICovLAogCQkJCTBGRUM4NEJEMUJEQUNEQUMw
MDgwRkY3NCAvKiBCM0NoZWNrVmFsdWUuY3BwICovLApAQCAtNjUxNSw2ICs2NTIxLDcgQEAKIAkJ
CQkwRkVDODU2RTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZFQzg1NzAxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFyZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZFQzg1NzIxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckJhc2ljQmxvY2suaCBp
biBIZWFkZXJzICovLAorCQkJCTBGMzM4REZBMUJFOTZBQTgwMDEzQzg4RiAvKiBCM0NDYWxsVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc0MUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJD
Q2FsbFNwZWNpYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc2MUJEQUNEQzcwMDgwRkY3
NCAvKiBBaXJDb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ1NzAzOTFCRTQ0QzkxMDA2MkE2
MjkgLyogQWlyRWxpbWluYXRlRGVhZENvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtODgyOCw2ICs4
ODM1LDcgQEAKIAkJCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha0Jsb2NrLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0RjcyNTY1MTRFRTI2NUUwMEIxNjUyQiAvKiBXZWFrSGFuZGxl
T3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdDQTNBRTMxN0RBNDFBRTAwNjUzOEFGIC8q
IFdlYWtNYXBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjMzOERGOTFCRTk2
QUE4MDAxM0M4OEYgLyogQjNDQ2FsbFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Q0Ez
QUVCMTdEQTUxNjgwMDY1MzhBRiAvKiBXZWFrTWFwRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBN0NBM0FFNTE3REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcFByb3RvdHlwZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNEU4NEZBMDE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgaW4g
U291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVn
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVu
dFJlZ1ZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0FyZ3VtZW50UmVnVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAKICAgICBBcmd1bWVudFJlZ1Zh
bHVlKHVuc2lnbmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBSZWcgcmVnKQotICAgICAgICA6IFZh
bHVlKGluZGV4LCBBcmd1bWVudFJlZywgcmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91
YmxlLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIEFyZ3Vt
ZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkgOiBEb3VibGUsIG9yaWdpbikKICAg
ICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAgICAgICBBU1NFUlQocmVnLmlzU2V0KCkpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJCM0NDYWxsVmFs
dWUuaCIKKworI2lmIEVOQUJMRShCM19KSVQpCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
QjMgeworCitDQ2FsbFZhbHVlOjp+Q0NhbGxWYWx1ZSgpCit7Cit9CisKK30gfSAvLyBuYW1lc3Bh
Y2UgSlNDOjpCMworCisjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5k
ZWYgQjNDQ2FsbFZhbHVlX2gKKyNkZWZpbmUgQjNDQ2FsbFZhbHVlX2gKKworI2lmIEVOQUJMRShC
M19KSVQpCisKKyNpbmNsdWRlICJCM0VmZmVjdHMuaCIKKyNpbmNsdWRlICJCM1ZhbHVlLmgiCisK
K25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFU
RSBDQ2FsbFZhbHVlIDogcHVibGljIFZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBh
Y2NlcHRzKE9wY29kZSBvcGNvZGUpIHsgcmV0dXJuIG9wY29kZSA9PSBDQ2FsbDsgfQorCisgICAg
fkNDYWxsVmFsdWUoKTsKKworICAgIEVmZmVjdHMgZWZmZWN0czsKKworcHJpdmF0ZToKKyAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1l
bnRzPgorICAgIENDYWxsVmFsdWUodW5zaWduZWQgaW5kZXgsIFR5cGUgdHlwZSwgT3JpZ2luIG9y
aWdpbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShpbmRleCwgQ2hl
Y2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICAs
IGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQorICAgIHsKKyAgICB9Cit9OworCit9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6QjMKKworI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCisKKyNlbmRpZiAv
LyBCM0NDYWxsVmFsdWVfaAorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVj
a1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tW
YWx1ZS5oCShyZXZpc2lvbiAxOTE5NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjND
aGVja1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgcHJpdmF0ZToKIAog
ICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrQWRkLCBDaGVja1N1YiwgYW5kIENoZWNrTXVs
LgogICAgIENoZWNrVmFsdWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBv
cmlnaW4sIFZhbHVlKiBsZWZ0LCBWYWx1ZSogcmlnaHQpCi0gICAgICAgIDogVmFsdWUoaW5kZXgs
IG9wY29kZSwgbGVmdC0+dHlwZSgpLCBvcmlnaW4sIGxlZnQsIHJpZ2h0KQorICAgICAgICA6IFZh
bHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIGxlZnQtPnR5cGUoKSwgb3JpZ2luLCBs
ZWZ0LCByaWdodCkKICAgICB7CiAgICAgICAgIEFTU0VSVChCMzo6aXNJbnQodHlwZSgpKSk7CiAg
ICAgICAgIEFTU0VSVChsZWZ0LT50eXBlKCkgPT0gcmlnaHQtPnR5cGUoKSk7CkBAIC02OSw3ICs2
OSw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVjay4KICAgICBD
aGVja1ZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBPcmlnaW4gb3JpZ2luLCBW
YWx1ZSogcHJlZGljYXRlKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBvcGNvZGUsIFZvaWQsIG9y
aWdpbiwgcHJlZGljYXRlKQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBv
cGNvZGUsIFZvaWQsIG9yaWdpbiwgcHJlZGljYXRlKQogICAgIHsKICAgICAgICAgQVNTRVJUKG9w
Y29kZSA9PSBDaGVjayk7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3QzMlZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3QzMlZhbHVlLmgJKHJldmlzaW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHBy
b3RlY3RlZDoKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwogCiAgICAgQ29uc3QzMlZhbHVl
KHVuc2lnbmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBpbnQzMl90IHZhbHVlKQotICAgICAgICA6
IFZhbHVlKGluZGV4LCBDb25zdDMyLCBJbnQzMiwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKGlu
ZGV4LCBDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwgb3JpZ2luKQogICAgICAgICAsIG1f
dmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5oCShyZXZpc2lvbiAxOTE5NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKIAogICAgIENvbnN0NjRW
YWx1ZSh1bnNpZ25lZCBpbmRleCwgT3JpZ2luIG9yaWdpbiwgaW50NjRfdCB2YWx1ZSkKLSAgICAg
ICAgOiBWYWx1ZShpbmRleCwgQ29uc3Q2NCwgSW50NjQsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1
ZShpbmRleCwgQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIG9yaWdpbikKICAgICAgICAg
LCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCShyZXZpc2lvbiAxOTE5NzcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwog
CiAgICAgQ29uc3REb3VibGVWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3JpZ2luIG9yaWdpbiwgZG91
YmxlIHZhbHVlKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBDb25zdERvdWJsZSwgRG91YmxlLCBv
cmlnaW4pCisgICAgICAgIDogVmFsdWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIENvbnN0RG91Ymxl
LCBEb3VibGUsIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb250cm9sVmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb250cm9sVmFsdWUuaAkocmV2aXNp
b24gMTkxOTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29udHJvbFZhbHVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAgcHJvdGVjdGVkOgogICAgIENvbnRyb2xW
YWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3Jp
Z2luLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAgICAgICA6IFZhbHVlKGluZGV4LCBvcGNv
ZGUsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQogICAgIHsKKyAgICAgICAgQVNTRVJUKGFj
Y2VwdHMob3Bjb2RlKSk7CiAgICAgfQogCiAgICAgLy8gU3ViY2xhc3NlcyB3aWxsIHBvcHVsYXRl
IHRoaXMuCkBAIC0xMDUsMjEgKzEwNiwyMSBAQCBwcml2YXRlOgogCiAgICAgLy8gVXNlIHRoaXMg
Zm9yIE9vcHMuCiAgICAgQ29udHJvbFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2Rl
LCBPcmlnaW4gb3JpZ2luKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBvcGNvZGUsIFZvaWQsIG9y
aWdpbikKKyAgICAgICAgOiBWYWx1ZShpbmRleCwgQ2hlY2tlZE9wY29kZSwgb3Bjb2RlLCBWb2lk
LCBvcmlnaW4pCiAgICAgewogICAgICAgICBBU1NFUlQob3Bjb2RlID09IE9vcHMpOwogICAgIH0K
IAogICAgIC8vIFVzZSB0aGlzIGZvciBSZXR1cm4uCiAgICAgQ29udHJvbFZhbHVlKHVuc2lnbmVk
IGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcmVzdWx0KQotICAg
ICAgICA6IFZhbHVlKGluZGV4LCBvcGNvZGUsIFZvaWQsIG9yaWdpbiwgcmVzdWx0KQorICAgICAg
ICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIFZvaWQsIG9yaWdpbiwgcmVz
dWx0KQogICAgIHsKICAgICAgICAgQVNTRVJUKG9wY29kZSA9PSBSZXR1cm4pOwogICAgIH0KIAog
ICAgIC8vIFVzZSB0aGlzIGZvciBKdW1wLgogICAgIENvbnRyb2xWYWx1ZSh1bnNpZ25lZCBpbmRl
eCwgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdpbiwgY29uc3QgRnJlcXVlbnRlZEJsb2NrJiB0
YXJnZXQpCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIG9wY29kZSwgVm9pZCwgb3JpZ2luKQorICAg
ICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIFZvaWQsIG9yaWdpbikK
ICAgICB7CiAgICAgICAgIEFTU0VSVChvcGNvZGUgPT0gSnVtcCk7CiAgICAgICAgIG1fc3VjY2Vz
c29ycy5hcHBlbmQodGFyZ2V0KTsKQEAgLTEyOSw3ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIENv
bnRyb2xWYWx1ZSgKICAgICAgICAgdW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdp
biBvcmlnaW4sIFZhbHVlKiBwcmVkaWNhdGUsCiAgICAgICAgIGNvbnN0IEZyZXF1ZW50ZWRCbG9j
ayYgeWVzLCBjb25zdCBGcmVxdWVudGVkQmxvY2smIG5vKQotICAgICAgICA6IFZhbHVlKGluZGV4
LCBvcGNvZGUsIFZvaWQsIG9yaWdpbiwgcHJlZGljYXRlKQorICAgICAgICA6IFZhbHVlKGluZGV4
LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIFZvaWQsIG9yaWdpbiwgcHJlZGljYXRlKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG9wY29kZSA9PSBCcmFuY2gpOwogICAgICAgICBtX3N1Y2Nlc3NvcnMu
YXBwZW5kKHllcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNFZmZlY3RzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRWZmZWN0cy5oCShyZXZp
c2lvbiAxOTE5NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNFZmZlY3RzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDE2IEBAIHN0cnVjdCBFZmZlY3RzIHsKICAgICBIZWFw
UmFuZ2Ugd3JpdGVzOwogICAgIEhlYXBSYW5nZSByZWFkczsKIAorICAgIHN0YXRpYyBFZmZlY3Rz
IGZvckNhbGwoKQorICAgIHsKKyAgICAgICAgRWZmZWN0cyByZXN1bHQ7CisgICAgICAgIHJlc3Vs
dC5leGl0c1NpZGV3YXlzID0gdHJ1ZTsKKyAgICAgICAgcmVzdWx0LmNvbnRyb2xEZXBlbmRlbnQg
PSB0cnVlOworICAgICAgICByZXN1bHQud3JpdGVzID0gSGVhcFJhbmdlOjp0b3AoKTsKKyAgICAg
ICAgcmVzdWx0LnJlYWRzID0gSGVhcFJhbmdlOjp0b3AoKTsKKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKKyAgICB9CisKICAgICBib29sIG11c3RFeGVjdXRlKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiB0ZXJtaW5hbCB8fCBleGl0c1NpZGV3YXlzIHx8IHdyaXRlc1NTQVN0YXRlIHx8IHdy
aXRlczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkocmV2
aXNpb24gMTkxOTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTQgKzI4LDExIEBACiAKICNpZiBFTkFCTEUoQjNfSklU
KQogCisjaW5jbHVkZSAiQjNIZWFwUmFuZ2UuaCIKICNpbmNsdWRlICJCM1ZhbHVlLmgiCiAKIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCi0vLyBGSVhNRTogQWRkIGFsaWFzIGFuYWx5
c2lzIHRvIHRoZXNlIGJ5IGFsbG93aW5nIHRoZSBjbGllbnQgdG8gYXNzb2NpYXRlIGFuIGludGVn
ZXIgcmFuZ2UgdG8gdGhlCi0vLyB2YWx1ZS4gVHdvIG9wZXJhdGlvbnMgbWF5IGFjY2VzcyB0aGUg
c2FtZSBtZW1vcnkgaWYgdGhlaXIgcmFuZ2VzIG92ZXJsYXBzLgotLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDUzNQotCiBjbGFzcyBKU19FWFBPUlRfUFJJVkFU
RSBNZW1vcnlWYWx1ZSA6IHB1YmxpYyBWYWx1ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wg
YWNjZXB0cyhPcGNvZGUgb3Bjb2RlKQpAQCAtNjIsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgaW50
MzJfdCBvZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX29mZnNldDsgfQogICAgIHZvaWQgc2V0T2Zm
c2V0KGludDMyX3Qgb2Zmc2V0KSB7IG1fb2Zmc2V0ID0gb2Zmc2V0OyB9CiAKKyAgICBjb25zdCBI
ZWFwUmFuZ2UmIHJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZTsgfQorICAgIHZvaWQgc2V0
UmFuZ2UoY29uc3QgSGVhcFJhbmdlJiByYW5nZSkgeyBtX3JhbmdlID0gcmFuZ2U7IH0KKwogICAg
IHNpemVfdCBhY2Nlc3NCeXRlU2l6ZSgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CkBAIC03NSw4ICs3
NSw5IEBAIHByaXZhdGU6CiAgICAgTWVtb3J5VmFsdWUoCiAgICAgICAgIHVuc2lnbmVkIGluZGV4
LCBPcGNvZGUgb3Bjb2RlLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBwb2ludGVy
LAogICAgICAgICBpbnQzMl90IG9mZnNldCA9IDApCi0gICAgICAgIDogVmFsdWUoaW5kZXgsIG9w
Y29kZSwgdHlwZSwgb3JpZ2luLCBwb2ludGVyKQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVj
a2VkT3Bjb2RlLCBvcGNvZGUsIHR5cGUsIG9yaWdpbiwgcG9pbnRlcikKICAgICAgICAgLCBtX29m
ZnNldChvZmZzZXQpCisgICAgICAgICwgbV9yYW5nZShIZWFwUmFuZ2U6OnRvcCgpKQogICAgIHsK
ICAgICAgICAgaWYgKCFBU1NFUlRfRElTQUJMRUQpIHsKICAgICAgICAgICAgIHN3aXRjaCAob3Bj
b2RlKSB7CkBAIC0xMTMsOCArMTE0LDkgQEAgcHJpdmF0ZToKICAgICBNZW1vcnlWYWx1ZSgKICAg
ICAgICAgdW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiB2YWx1ZSwgVmFsdWUqIHBvaW50ZXIsCiAgICAgICAgIGludDMyX3Qgb2Zmc2V0ID0gMCkKLSAg
ICAgICAgOiBWYWx1ZShpbmRleCwgb3Bjb2RlLCBWb2lkLCBvcmlnaW4sIHZhbHVlLCBwb2ludGVy
KQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUsIFZvaWQsIG9y
aWdpbiwgdmFsdWUsIHBvaW50ZXIpCiAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICAg
ICAsIG1fcmFuZ2UoSGVhcFJhbmdlOjp0b3AoKSkKICAgICB7CiAgICAgICAgIGlmICghQVNTRVJU
X0RJU0FCTEVEKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKG9wY29kZSkgewpAQCAtMTMxLDYgKzEz
Myw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgaW50MzJfdCBtX29mZnNldCB7IDAgfTsKKyAg
ICBIZWFwUmFuZ2UgbV9yYW5nZTsKIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgJKHJldmlz
aW9uIDE5MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoQjNfSklU
KQogCisjaW5jbHVkZSAiQjNFZmZlY3RzLmgiCiAjaW5jbHVkZSAiQjNTdGFja21hcC5oIgogI2lu
Y2x1ZGUgIkIzVmFsdWUuaCIKIApAQCAtNDAsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgflBhdGNo
cG9pbnRWYWx1ZSgpOwogCiAgICAgU3RhY2ttYXAgc3RhY2ttYXA7CisgICAgRWZmZWN0cyBlZmZl
Y3RzOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtNDksMTQgKzUxLDE2IEBAIHByaXZhdGU6CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBMaXN0VHlwZT4KICAgICBQYXRjaHBvaW50VmFsdWUodW5zaWduZWQgaW5kZXgsIFR5
cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgTGlzdFR5cGUmJiBjaGlsZHJlbikKLSAgICAgICAgOiBW
YWx1ZShpbmRleCwgUGF0Y2hwb2ludCwgdHlwZSwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8TGlzdFR5
cGU+KGNoaWxkcmVuKSkKKyAgICAgICAgOiBWYWx1ZShpbmRleCwgQ2hlY2tlZE9wY29kZSwgUGF0
Y2hwb2ludCwgdHlwZSwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8TGlzdFR5cGU+KGNoaWxkcmVuKSkK
KyAgICAgICAgLCBlZmZlY3RzKEVmZmVjdHM6OmZvckNhbGwoKSkKICAgICB7CiAgICAgfQogCiAg
ICAgLy8gSXQncyB0b3RhbGx5IGZpbmUgdG8gY3JlYXRlIGEgUGF0Y2hwb2ludFZhbHVlIHdpdGhv
dXQgYW55IGNoaWxkcmVuLCBhbmQgdGhlbiBhcHBlbmQgdGhlCiAgICAgLy8gY2hpbGRyZW4gYXMg
eW91IGJ1aWxkIHVwIHRoZSBzdGFja21hcC4KICAgICBQYXRjaHBvaW50VmFsdWUodW5zaWduZWQg
aW5kZXgsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKLSAgICAgICAgOiBWYWx1ZShpbmRleCwg
UGF0Y2hwb2ludCwgdHlwZSwgb3JpZ2luLCBBZGphY2VuY3lMaXN0KCkpCisgICAgICAgIDogVmFs
dWUoaW5kZXgsIENoZWNrZWRPcGNvZGUsIFBhdGNocG9pbnQsIHR5cGUsIG9yaWdpbiwgQWRqYWNl
bmN5TGlzdCgpKQorICAgICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQogICAgIHsK
ICAgICB9CiB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2tTbG90VmFs
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja1Nsb3RW
YWx1ZS5oCShyZXZpc2lvbiAxOTE5NzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
dGFja1Nsb3RWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKIAogICAgIFN0YWNrU2xvdFZhbHVlKHVuc2ln
bmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCB1bnNpZ25lZCBieXRlU2l6ZSwgU3RhY2tTbG90S2lu
ZCBraW5kKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBTdGFja1Nsb3QsIHBvaW50ZXJUeXBlKCks
IG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShpbmRleCwgQ2hlY2tlZE9wY29kZSwgU3RhY2tTbG90
LCBwb2ludGVyVHlwZSgpLCBvcmlnaW4pCiAgICAgICAgICwgbV9ieXRlU2l6ZShieXRlU2l6ZSkK
ICAgICAgICAgLCBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX29mZnNldEZyb21GUCgwKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgJKHJldmlzaW9uIDE5
MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHByaXZhdGU6CiAgICAgLy8gdGhlIFVwc2lsb25z
IHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVhdGUgdGhlIFBoaSwgdGhlbiBnbyBiYWNrIGFuZCB0
ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAgIC8vIHRoZSBQaGkuIFRoaXMgYWxsb3dzIHlvdSB0
byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwgb3JkZXIuCiAgICAgVXBzaWxvblZhbHVlKHVuc2ln
bmVkIGluZGV4LCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIFZhbHVlKiBwaGkgPSBudWxs
cHRyKQotICAgICAgICA6IFZhbHVlKGluZGV4LCBVcHNpbG9uLCBWb2lkLCBvcmlnaW4sIHZhbHVl
KQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBVcHNpbG9uLCBWb2lkLCBv
cmlnaW4sIHZhbHVlKQogICAgICAgICAsIG1fcGhpKHBoaSkKICAgICB7CiAgICAgICAgIGlmIChw
aGkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHJldmlzaW9uIDE5
MTk3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjgsNiArMjgsMTIgQEAKIAogI2lmIEVOQUJMRShCM19KSVQpCiAKKyNpbmNsdWRl
ICJCM0FyZ3VtZW50UmVnVmFsdWUuaCIKKyNpbmNsdWRlICJCM0NDYWxsVmFsdWUuaCIKKyNpbmNs
dWRlICJCM0NvbnRyb2xWYWx1ZS5oIgorI2luY2x1ZGUgIkIzTWVtb3J5VmFsdWUuaCIKKyNpbmNs
dWRlICJCM1N0YWNrU2xvdFZhbHVlLmgiCisjaW5jbHVkZSAiQjNVcHNpbG9uVmFsdWUuaCIKICNp
bmNsdWRlICJCM1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4K
ICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KQEAgLTIzMiwyNiArMjM4LDIxIEBA
IEVmZmVjdHMgVmFsdWU6OmVmZmVjdHMoKSBjb25zdAogICAgIGNhc2UgTG9hZDE2UzoKICAgICBj
YXNlIExvYWRGbG9hdDoKICAgICBjYXNlIExvYWQ6Ci0gICAgICAgIC8vIEZJWE1FOiBNZW1vcnlW
YWx1ZSBzaG91bGQgaGF2ZSBhIEhlYXBSYW5nZS4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDUzNQotICAgICAgICByZXN1bHQucmVhZHMgPSBI
ZWFwUmFuZ2U6OnRvcCgpOworICAgICAgICByZXN1bHQucmVhZHMgPSBhczxNZW1vcnlWYWx1ZT4o
KS0+cmFuZ2UoKTsKICAgICAgICAgcmVzdWx0LmNvbnRyb2xEZXBlbmRlbnQgPSB0cnVlOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFN0b3JlODoKICAgICBjYXNlIFN0b3JlMTY6CiAgICAgY2Fz
ZSBTdG9yZUZsb2F0OgogICAgIGNhc2UgU3RvcmU6Ci0gICAgICAgIC8vIEZJWE1FOiBNZW1vcnlW
YWx1ZSBzaG91bGQgaGF2ZSBhIEhlYXBSYW5nZS4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDUzNQotICAgICAgICByZXN1bHQud3JpdGVzID0g
SGVhcFJhbmdlOjp0b3AoKTsKKyAgICAgICAgcmVzdWx0LndyaXRlcyA9IGFzPE1lbW9yeVZhbHVl
PigpLT5yYW5nZSgpOwogICAgICAgICByZXN1bHQuY29udHJvbERlcGVuZGVudCA9IHRydWU7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ0NhbGw6CisgICAgICAgIHJlc3VsdCA9IGFzPENDYWxs
VmFsdWU+KCktPmVmZmVjdHM7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGF0Y2hwb2ludDoK
LSAgICAgICAgcmVzdWx0LnJlYWRzID0gSGVhcFJhbmdlOjp0b3AoKTsKLSAgICAgICAgcmVzdWx0
LndyaXRlcyA9IEhlYXBSYW5nZTo6dG9wKCk7Ci0gICAgICAgIHJlc3VsdC5leGl0c1NpZGV3YXlz
ID0gdHJ1ZTsKLSAgICAgICAgcmVzdWx0LmNvbnRyb2xEZXBlbmRlbnQgPSB0cnVlOworICAgICAg
ICByZXN1bHQgPSBhczxQYXRjaHBvaW50VmFsdWU+KCktPmVmZmVjdHM7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ2hlY2tBZGQ6CiAgICAgY2FzZSBDaGVja1N1YjoKQEAgLTI4OCw2ICsyODks
MjMgQEAgdm9pZCBWYWx1ZTo6ZHVtcE1ldGEoUHJpbnRTdHJlYW0mKSBjb25zdAogewogfQogCisj
aWYgIUFTU0VSVF9ESVNBQkxFRAordm9pZCBWYWx1ZTo6Y2hlY2tPcGNvZGUoT3Bjb2RlIG9wY29k
ZSkKK3sKKyAgICBBU1NFUlQoIUFyZ3VtZW50UmVnVmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7Cisg
ICAgQVNTRVJUKCFDQ2FsbFZhbHVlOjphY2NlcHRzKG9wY29kZSkpOworICAgIEFTU0VSVCghQ2hl
Y2tWYWx1ZTo6YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQoIUNvbnN0MzJWYWx1ZTo6YWNj
ZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQoIUNvbnN0NjRWYWx1ZTo6YWNjZXB0cyhvcGNvZGUp
KTsKKyAgICBBU1NFUlQoIUNvbnN0RG91YmxlVmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7CisgICAg
QVNTRVJUKCFDb250cm9sVmFsdWU6OmFjY2VwdHMob3Bjb2RlKSk7CisgICAgQVNTRVJUKCFNZW1v
cnlWYWx1ZTo6YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQoIVBhdGNocG9pbnRWYWx1ZTo6
YWNjZXB0cyhvcGNvZGUpKTsKKyAgICBBU1NFUlQoIVN0YWNrU2xvdFZhbHVlOjphY2NlcHRzKG9w
Y29kZSkpOworICAgIEFTU0VSVCghVXBzaWxvblZhbHVlOjphY2NlcHRzKG9wY29kZSkpOworfQor
I2VuZGlmIC8vICFBU1NFUlRfRElTQUJMRUQKKwogVHlwZSBWYWx1ZTo6dHlwZUZvcihPcGNvZGUg
b3Bjb2RlLCBWYWx1ZSogZmlyc3RDaGlsZCkKIHsKICAgICBzd2l0Y2ggKG9wY29kZSkgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5oCShyZXZpc2lvbiAxOTE5NzcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsMTUg
KzE1OCwyNCBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZHVtcE1l
dGEoUHJpbnRTdHJlYW0mKSBjb25zdDsKLSAgICAKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOwogCisgICAgLy8gQ2hlY2tzIHRoYXQgdGhpcyBvcGNvZGUgaXMgdmFsaWQg
Zm9yIHVzZSB3aXRoIEIzOjpWYWx1ZS4KKyNpZiBBU1NFUlRfRElTQUJMRUQKKyAgICBzdGF0aWMg
dm9pZCBjaGVja09wY29kZShPcGNvZGUpIHsgfQorI2Vsc2UKKyAgICBzdGF0aWMgdm9pZCBjaGVj
a09wY29kZShPcGNvZGUpOworI2VuZGlmCisKIHByb3RlY3RlZDoKKyAgICBlbnVtIENoZWNrZWRP
cGNvZGVUYWcgeyBDaGVja2VkT3Bjb2RlIH07CisgICAgCiAgICAgLy8gSW5zdGFudGlhdGUgdmFs
dWVzIHZpYSBQcm9jZWR1cmUuCiAgICAgLy8gVGhpcyBmb3JtIHJlcXVpcmVzIHNwZWNpZnlpbmcg
dGhlIHR5cGUgZXhwbGljaXRseToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+
Ci0gICAgZXhwbGljaXQgVmFsdWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUodW5zaWduZWQgaW5kZXgsIENoZWNrZWRPcGNvZGVU
YWcsIE9wY29kZSBvcGNvZGUsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0
Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogbV9pbmRleChpbmRleCkK
ICAgICAgICAgLCBtX29wY29kZShvcGNvZGUpCiAgICAgICAgICwgbV90eXBlKHR5cGUpCkBAIC0x
NzUsNyArMTg0LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAgICAgLy8gVGhpcyBmb3Jt
IGlzIGZvciBzcGVjaWZ5aW5nIHRoZSB0eXBlIGV4cGxpY2l0bHkgd2hlbiB0aGUgb3Bjb2RlIGhh
cyBubyBjaGlsZHJlbjoKLSAgICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2Rl
IG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKHVu
c2lnbmVkIGluZGV4LCBDaGVja2VkT3Bjb2RlVGFnLCBPcGNvZGUgb3Bjb2RlLCBUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4pCiAgICAgICAgIDogbV9pbmRleChpbmRleCkKICAgICAgICAgLCBtX29w
Y29kZShvcGNvZGUpCiAgICAgICAgICwgbV90eXBlKHR5cGUpCkBAIC0xODQsNyArMTkzLDcgQEAg
cHJvdGVjdGVkOgogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMg
dGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxk
OgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1
ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZp
cnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUodW5z
aWduZWQgaW5kZXgsIENoZWNrZWRPcGNvZGVUYWcsIE9wY29kZSBvcGNvZGUsIE9yaWdpbiBvcmln
aW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAgICAgICA6
IG1faW5kZXgoaW5kZXgpCiAgICAgICAgICwgbV9vcGNvZGUob3Bjb2RlKQogICAgICAgICAsIG1f
dHlwZSh0eXBlRm9yKG9wY29kZSwgZmlyc3RDaGlsZCkpCkBAIC0xOTQsNyArMjAzLDcgQEAgcHJv
dGVjdGVkOgogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhh
dCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYWxvbmUsIGFuZCB0aGF0IGRv
bid0CiAgICAgLy8gdGFrZSBhbnkgYXJndW1lbnRzOgotICAgIGV4cGxpY2l0IFZhbHVlKHVuc2ln
bmVkIGluZGV4LCBPcGNvZGUgb3Bjb2RlLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZh
bHVlKHVuc2lnbmVkIGluZGV4LCBDaGVja2VkT3Bjb2RlVGFnLCBPcGNvZGUgb3Bjb2RlLCBPcmln
aW4gb3JpZ2luKQogICAgICAgICA6IG1faW5kZXgoaW5kZXgpCiAgICAgICAgICwgbV9vcGNvZGUo
b3Bjb2RlKQogICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKG9wY29kZSwgbnVsbHB0cikpCkBAIC0y
MDIsNyArMjExLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAgICAgLy8gVXNlIHRoaXMg
Zm9ybSBmb3IgdmFyYXJncy4KLSAgICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bj
b2RlIG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0
JiBjaGlsZHJlbikKKyAgICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgQ2hlY2tlZE9w
Y29kZVRhZywgT3Bjb2RlIG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBB
ZGphY2VuY3lMaXN0JiBjaGlsZHJlbikKICAgICAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICAg
ICAsIG1fb3Bjb2RlKG9wY29kZSkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKQEAgLTIxMCw3ICsy
MTksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICwgbV9jaGlsZHJlbihjaGlsZHJlbikKICAgICB7
CiAgICAgfQotICAgIGV4cGxpY2l0IFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcGNvZGUgb3Bjb2Rl
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3QmJiBjaGlsZHJlbikKKyAg
ICBleHBsaWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgQ2hlY2tlZE9wY29kZVRhZywgT3Bjb2Rl
IG9wY29kZSwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBBZGphY2VuY3lMaXN0JiYgY2hpbGRy
ZW4pCiAgICAgICAgIDogbV9pbmRleChpbmRleCkKICAgICAgICAgLCBtX29wY29kZShvcGNvZGUp
CiAgICAgICAgICwgbV90eXBlKHR5cGUpCkBAIC0yMTksNiArMjI4LDE1IEBAIHByb3RlY3RlZDoK
ICAgICB7CiAgICAgfQogCisgICAgLy8gVGhpcyBpcyB0aGUgY29uc3RydWN0b3IgeW91IGVuZCB1
cCBhY3R1YWxseSBjYWxsaW5nLCBpZiB5b3UncmUgaW5zdGFudGlhdGluZyBWYWx1ZQorICAgIC8v
IGRpcmVjdGx5LgorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBleHBs
aWNpdCBWYWx1ZSh1bnNpZ25lZCBpbmRleCwgT3Bjb2RlIG9wY29kZSwgQXJndW1lbnRzJiYuLi4g
YXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKGluZGV4LCBDaGVja2VkT3Bjb2RlLCBvcGNvZGUs
IHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCisgICAgeworICAgICAgICBj
aGVja09wY29kZShvcGNvZGUpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBzdGF0aWMgVHlwZSB0
eXBlRm9yKE9wY29kZSwgVmFsdWUqIGZpcnN0Q2hpbGQpOwogCg==
</data>
<flag name="review"
          id="289846"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>