<?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>213866</bug_id>
          
          <creation_ts>2020-07-01 15:54:52 -0700</creation_ts>
          <short_desc>Rename zeroExtend32ToPtr to zeroExtend32ToWord</short_desc>
          <delta_ts>2020-07-01 16:51:19 -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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668081</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-01 15:54:52 -0700</bug_when>
    <thetext>Rename zeroExtend32ToPtr to zeroExtend32ToWord</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668083</commentid>
    <comment_count>1</comment_count>
      <attachid>403325</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-01 15:58:41 -0700</bug_when>
    <thetext>Created attachment 403325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668090</commentid>
    <comment_count>2</comment_count>
      <attachid>403329</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-01 16:15:21 -0700</bug_when>
    <thetext>Created attachment 403329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668091</commentid>
    <comment_count>3</comment_count>
      <attachid>403330</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-01 16:16:13 -0700</bug_when>
    <thetext>Created attachment 403330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668100</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-01 16:50:42 -0700</bug_when>
    <thetext>Committed r263824: &lt;https://trac.webkit.org/changeset/263824&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403330.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668101</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-01 16:51:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/65009361&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403325</attachid>
            <date>2020-07-01 15:58:41 -0700</date>
            <delta_ts>2020-07-01 16:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213866-20200701155840.patch</filename>
            <type>text/plain</type>
            <size>34288</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OTE5OWMxMTY1MWRkN2YyMDBmMGU3NGMxMTY1NGNjNmIwNjc0YzIzLi41OTQzZjc2NmFmODA1NTk2
MDczNmIxNGNjZWU0NzVhNDdlYzJlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAyMC0wNy0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW5hbWUgemVyb0V4dGVuZDMyVG9QdHIgdG8gemVyb0V4dGVuZDMy
VG9Xb3JkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgb2xkIG5hbWUgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIG5vdyB0aGF0IHdlIGhhdmUgY29uZmln
dXJhdGlvbnMKKyAgICAgICAgd2hlcmUgc2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoQ1BVUmVnaXN0
ZXIpLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaDoKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6emVyb0V4dGVuZDMyVG9Xb3Jk
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoTXVsMzIpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0Ojp6ZXJvRXh0ZW5kMzJUb1B0cik6IERlbGV0
ZWQuCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9QdHIpOiBEZWxldGVkLgor
ICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJNSVBTOjp6ZXJvRXh0ZW5kMzJUb1dvcmQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlck1JUFM6Onplcm9FeHRlbmQzMlRvUHRyKTogRGVsZXRlZC4KKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJYODZDb21tb246OmFkZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmFuZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246Om11bDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om9yMzIp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6eG9yMzIpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEFkZDMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Onplcm9FeHRlbmQzMlRvUHRyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9haXIvQWlyT3Bjb2RlLm9wY29kZXM6CisgICAgICAgICogYnl0
ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRl
V2l0aEd1YXJkKToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6T1NSRXhpdDo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTdHJp
bmdTbGljZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1
ZVRvSW50MzIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVUlu
dDMyVG9OdW1iZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzZXRJbnRU
eXBlZEFycmF5TG9hZFJlc3VsdCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVDcmVhdGVSZXN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUFycmF5U2xpY2UpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlQXJyYXlJbmRleE9mKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZU5ld1R5cGVkQXJyYXlXaXRoU2l6ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmVtaXRBbGxvY2F0ZUJ1dHRlcmZseSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6ZW1pdEluaXRpYWxpemVCdXR0ZXJmbHkpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Zmls
bFNwZWN1bGF0ZUludDMySW50ZXJuYWwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpyZWJveEFjY29yZGluZ1RvRm9ybWF0KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVy
OjplbWl0Qm94KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVE9w
Y29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9w
cm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV92YWwpOgorICAgICAgICAqIGppdC9KU0ludGVyZmFj
ZUpJVC5oOgorICAgICAgICAoSlNDOjpKU0ludGVyZmFjZUpJVDo6ZW1pdExvYWRJbnQzMik6Cisg
ICAgICAgICogd2FzbS9qcy9KU1RvV2FzbS5jcHA6CisgICAgICAgIChKU0M6Oldhc206OmJveFdh
c21SZXN1bHQpOgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlND
OjpXYXNtOjp3YXNtVG9KUyk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9u
LmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2lu
dFNsb3cpOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjAtMDctMDEgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0IHRvIGNvcHkgb3Zl
ciB0ZXN0YXBpLmpzIGlzIHJlZHVuZGFudCBpbiB4Y29kZWJ1aWxkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCmluZGV4IDUz
YTA5OWNlMTY0OGYxOTI3NDQyM2IxNmRiNzJlMDU4YzQ1ZTEyNDkuLjQ1YjRiM2I0Njk2ODU1MmQ3
ZGFjOTc4OGFmZjZjZjBiNDNkYjI2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCkBAIC0xODk5LDcgKzE4OTksNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICAvLyBUcnVuY2F0ZSB0byBhIDY0LWJpdCBpbnRlZ2Vy
IGluIGRhdGFUZW1wUmVnaXN0ZXIsIGNvcHkgdGhlIGxvdyAzMi1iaXQgdG8gZGVzdC4KICAgICAg
ICAgbV9hc3NlbWJsZXIuZmN2dHpzPDY0LCA2ND4oZ2V0Q2FjaGVkRGF0YVRlbXBSZWdpc3RlcklE
QW5kSW52YWxpZGF0ZSgpLCBzcmMpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihkYXRhVGVt
cFJlZ2lzdGVyLCBkZXN0KTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKGRhdGFUZW1wUmVn
aXN0ZXIsIGRlc3QpOwogICAgICAgICAvLyBDaGVjayB0aGUgbG93IDMyLWJpdHMgc2lnbiBleHRl
bmQgdG8gYmUgZXF1YWwgdG8gdGhlIGZ1bGwgdmFsdWUuCiAgICAgICAgIG1fYXNzZW1ibGVyLmNt
cDw2ND4oZGF0YVRlbXBSZWdpc3RlciwgZGF0YVRlbXBSZWdpc3RlciwgQXNzZW1ibGVyOjpTWFRX
LCAwKTsKICAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChicmFuY2hUeXBlID09IEJyYW5j
aElmVHJ1bmNhdGVTdWNjZXNzZnVsID8gRXF1YWwgOiBOb3RFcXVhbCkpOwpAQCAtMjUxNSw3ICsy
NTE1LDcgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5zeHR3KGRlc3QsIHNyYyk7CiAg
ICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJUb1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci51eHR3KGRlc3QsIHNy
Yyk7CiAgICAgfQpAQCAtMzE5NSw3ICszMTk1LDcgQEAgcHVibGljOgogICAgICAgICAvLyBTcGxh
dCBiaXQgMzEgb2YgdGhlIHJlc3VsdCB0byBiaXRzIDMxLi4wIG9mIHNjcmF0Y2gyLgogICAgICAg
ICBtX2Fzc2VtYmxlci5hc3I8MzI+KHNjcmF0Y2gyLCBkZXN0LCAzMSk7CiAgICAgICAgIC8vIEFm
dGVyIGEgbXVsMzIgdGhlIHRvcCAzMiBiaXRzIG9mIHRoZSByZWdpc3RlciBzaG91bGQgYmUgY2xl
YXIuCi0gICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKGRlc3QsIGRlc3QpOworICAgICAgICB6ZXJv
RXh0ZW5kMzJUb1dvcmQoZGVzdCwgZGVzdCk7CiAgICAgICAgIC8vIENoZWNrIHRoYXQgYml0cyAz
MS4uNjMgb2YgdGhlIG9yaWdpbmFsIHJlc3VsdCB3ZXJlIGFsbCBlcXVhbC4KICAgICAgICAgcmV0
dXJuIGJyYW5jaDMyKE5vdEVxdWFsLCBzY3JhdGNoMiwgc2NyYXRjaDEpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3
LmgKaW5kZXggNzA0MDM2YzE3NWQwMDAwOTg1ZTc4ZjViMzc5MTU3MDEwOWI2MGVhMC4uMzA4YzEx
NzdmNjJmNzBjNWZjNmRjN2ZiN2Y3ZGI5OTFkMGJkNWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTE0MjUs
NyArMTQyNSw3IEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAot
ICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKKyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCmlu
ZGV4IDJkY2Y3MmJhYzUxZjc2Y2JhOTkzNzBhM2U4N2UwNGQ2NjdlOWQwYTAuLmU5MTljZmJmMjI0
YjdjOGVhNmYwZWJkYWIwYmRjMWYyNWI5YzYxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaApAQCAtMTY5Miw3ICsxNjky
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgaWYgKHNyYyAhPSBkZXN0IHx8IG1fZml4ZWRXaWR0aCkKICAg
ICAgICAgICAgIG1vdmUoc3JjLCBkZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCA4OWIwODdh
ZGRhNjRkZWNjYjRiZGJjYWVjYWFlZjMxNWEzODFiZTIyLi4yOGZhZTJlNzJmMjU2NTdlNjEzMzA1
ZjIwMDNkZmNiZWE1ZWVjYTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCkBAIC0yMDgsNyArMjA4LDcg
QEAgcHVibGljOgogICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmICghaW1tLm1fdmFsdWUpIHsK
LSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKHNyYywgZGVzdCk7CisgICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1dvcmQoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC0zMzMsNyArMzMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgYW5kMzIoUmVnaXN0
ZXJJRCBvcDEsIFJlZ2lzdGVySUQgb3AyLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBpZiAob3AxID09IG9wMikKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9wMSwgZGVz
dCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AxLCBkZXN0KTsKICAgICAgICAg
ZWxzZSBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAgICBhbmQzMihvcDIsIGRlc3QpOwogICAg
ICAgICBlbHNlIHsKQEAgLTM1MCw3ICszNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2Fk
MzIob3AxLCBkZXN0KTsKICAgICAgICAgICAgIGFuZDMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAg
ICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBhbmQzMihv
cDEsIGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtNDk0LDcgKzQ5NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIGxvYWQzMihvcDEsIGRlc3QpOwogICAgICAgICAgICAgbXVsMzIob3AyLCBk
ZXN0KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9w
MiwgZGVzdCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsKICAg
ICAgICAgICAgIG11bDMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC02NjksNyAr
NjY5LDcgQEAgcHVibGljOgogICAgIHZvaWQgb3IzMihSZWdpc3RlcklEIG9wMSwgUmVnaXN0ZXJJ
RCBvcDIsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChvcDEgPT0gb3AyKQot
ICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIob3AxLCBkZXN0KTsKKyAgICAgICAgICAgIHpl
cm9FeHRlbmQzMlRvV29yZChvcDEsIGRlc3QpOwogICAgICAgICBlbHNlIGlmIChvcDEgPT0gZGVz
dCkKICAgICAgICAgICAgIG9yMzIob3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7CkBAIC02ODYs
NyArNjg2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAg
ICAgICAgICBvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9X
b3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBvcjMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xMDI5LDcgKzEwMjksNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2FkMzIo
b3AxLCBkZXN0KTsKICAgICAgICAgICAgIHhvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAg
ICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICB4b3IzMihvcDEs
IGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjI4NywxMiArMjI4NywxMiBAQCBwdWJsaWM6
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnN4ZF9ycihzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9ycihzcmMsIGRlc3QpOwogICAg
IH0KIAotICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoVHJ1c3RlZEltbTMyIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFRydXN0ZWRJbW0zMiBzcmMs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfaTMycihz
cmMubV92YWx1ZSwgZGVzdCk7CiAgICAgfQpAQCAtMjM3NSw3ICsyMzc1LDcgQEAgcHVibGljOgog
ICAgICAgICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJU
b1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVu
ZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQpAQCAtMjgyMiw3ICsyODIyLDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAgICAgICAgICByZXR1cm4gYnJhbmNo
QWRkMzIoY29uZCwgb3AyLCBkZXN0KTsKICAgICAgICAgfQotICAgICAgICB6ZXJvRXh0ZW5kMzJU
b1B0cihvcDIsIGRlc3QpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsK
ICAgICAgICAgcmV0dXJuIGJyYW5jaEFkZDMyKGNvbmQsIG9wMSwgZGVzdCk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJPcGNvZGUub3Bjb2RlcwppbmRleCA5
MDFjNTY0OTRiZTI0ZTRlY2RlNTYzM2U3OGJiZGNlOTk0NDVhZGZmLi43MjVjNjgwNzljNWQwMTZm
YzgwNWEwNGUwY2E0YTE1YjNiYmExYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyT3Bjb2RlLm9wY29kZXMKQEAgLTY0MiwxMiArNjQyLDEyIEBAIHg4Nl82NDogU3dh
cDY0IFVEOkc6NjQsIFVEOkc6NjQKICAgICBUbXAsIEFkZHIKIAogTW92ZTMyIFU6RzozMiwgWkQ6
RzozMgotICAgIFRtcCwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgVG1wLCBUbXAgYXMg
emVyb0V4dGVuZDMyVG9Xb3JkCiAgICAgQWRkciwgVG1wIGFzIGxvYWQzMgogICAgIEluZGV4LCBU
bXAgYXMgbG9hZDMyCiAgICAgVG1wLCBBZGRyIGFzIHN0b3JlMzIKICAgICBUbXAsIEluZGV4IGFz
IHN0b3JlMzIKLSAgICB4ODY6IEltbSwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgeDg2
OiBJbW0sIFRtcCBhcyB6ZXJvRXh0ZW5kMzJUb1dvcmQKICAgICB4ODY6IEltbSwgQWRkciBhcyBz
dG9yZTMyCiAgICAgeDg2OiBJbW0sIEluZGV4IGFzIHN0b3JlMzIKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCmluZGV4IDRhM2JiNWE4NjIwNzgxMGI3
ZjgwOWM4YjljMWY3YTEzNmUwYjU1NzguLmQyOWJmMmQ5N2ZiYjEzNTc2YjIxN2M4YzNmYWQ2YzVm
ZWQ3YWVlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAKQEAgLTkzNyw3ICs5MzcsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1
YXJkKAogCiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BS
LCBTY29wZWRBcmd1bWVudHM6Om9mZnNldE9mU2NvcGUoKSksIHNjcmF0Y2gyR1BSKTsKICAgICAg
ICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIFNjb3BlZEFy
Z3VtZW50c1RhYmxlOjpvZmZzZXRPZkFyZ3VtZW50cygpKSwgc2NyYXRjaEdQUik7Ci0gICAgICAg
IGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2NyYXRjaDNHUFIpOworICAgICAg
ICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoM0dQUik7CiAgICAg
ICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRjaEdQUiwgc2NyYXRj
aDNHUFIsIENDYWxsSGVscGVyczo6VGltZXNGb3VyKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIGZh
aWxBbmRJZ25vcmUuYXBwZW5kKGppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTY29wZU9mZnNldDo6aW52YWxpZE9m
ZnNldCkpKTsKICAgICAgICAgaml0LmxvYWRWYWx1ZShDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChz
Y3JhdGNoMkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc0VpZ2h0LCBKU0xleGlj
YWxFbnZpcm9ubWVudDo6b2Zmc2V0T2ZWYXJpYWJsZXMoKSksIHZhbHVlUmVncyk7CkBAIC05ODIs
NyArOTgyLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAg
aml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgRGlyZWN0QXJndW1lbnRz
OjpvZmZzZXRPZkxlbmd0aCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRS
ZXBhdGNoLmFwcGVuZChqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHBy
b3BlcnR5R1BSLCBzY3JhdGNoR1BSKSk7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRSZXBhdGNoLmFw
cGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBEaXJlY3RBcmd1bWVudHM6Om9mZnNldE9mTWFwcGVkQXJndW1l
bnRzKCkpKSk7Ci0gICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2Ny
YXRjaEdQUik7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJvcGVydHlHUFIsIHNj
cmF0Y2hHUFIpOwogICAgICAgICBqaXQubG9hZFZhbHVlKENDYWxsSGVscGVyczo6QmFzZUluZGV4
KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgRGlyZWN0QXJn
dW1lbnRzOjpzdG9yYWdlT2Zmc2V0KCkpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNj
ZWVkKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTExMTMsMTEgKzExMTMsMTEgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgaml0LmxvYWQzMihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaDJHUFIsIFN0cmluZ0ltcGw6OmZsYWdzT2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0
Y2gyR1BSLCBTdHJpbmdJbXBsOjpkYXRhT2Zmc2V0KCkpLCBzY3JhdGNoMkdQUik7CiAgICAgICAg
IGF1dG8gaXMxNkJpdCA9IGppdC5icmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTdHJpbmdJbXBsOjpmbGFnSXM4Qml0
KCkpKTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5R1BSLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0eUdQUiwgc2NyYXRj
aEdQUik7CiAgICAgICAgIGppdC5sb2FkOChDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChzY3JhdGNo
MkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc09uZSwgMCksIHNjcmF0Y2gyR1BS
KTsKICAgICAgICAgYXV0byBpczhCaXRMb2FkRG9uZSA9IGppdC5qdW1wKCk7CiAgICAgICAgIGlz
MTZCaXQubGluaygmaml0KTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5
R1BSLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0
eUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIGppdC5sb2FkMTYoQ0NhbGxIZWxwZXJzOjpCYXNl
SW5kZXgoc2NyYXRjaDJHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNUd28sIDAp
LCBzY3JhdGNoMkdQUik7CiAgICAgICAgIGlzOEJpdExvYWREb25lLmxpbmsoJmppdCk7CiAKQEAg
LTExNzcsNyArMTE3Nyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAg
ICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNP
YmplY3Q6OmJ1dHRlcmZseU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgICAgICBpc091
dE9mQm91bmRzID0gaml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6QWJvdmVPckVxdWFsLCBwcm9w
ZXJ0eUdQUiwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEFycmF5U3RvcmFnZTo6
dmVjdG9yTGVuZ3RoT2Zmc2V0KCkpKTsKIAotICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRv
UHRyKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CisgICAgICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICAgICAgICAgIGppdC5sb2FkVmFsdWUoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRj
aEdQUiwgc2NyYXRjaDJHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgQXJyYXlTdG9yYWdl
Ojp2ZWN0b3JPZmZzZXQoKSksIEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIpKTsKICAgICAgICAgICAg
IGlzRW1wdHkgPSBqaXQuYnJhbmNoSWZFbXB0eShzY3JhdGNoR1BSKTsKQEAgLTEyMTEsNyArMTIx
MSw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAKICAgICAgICAgICAg
IGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0
dGVyZmx5T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgIGlzT3V0T2ZCb3VuZHMg
PSBqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHByb3BlcnR5R1BSLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgQnV0dGVyZmx5OjpvZmZzZXRPZlB1Ymxp
Y0xlbmd0aCgpKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIocHJvcGVydHlH
UFIsIHNjcmF0Y2gyR1BSKTsKKyAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJv
cGVydHlHUFIsIHNjcmF0Y2gyR1BSKTsKICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gSW5kZXhl
ZERvdWJsZUxvYWQpIHsKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGF0ZS5zY3Jh
dGNoRlBSICE9IEludmFsaWRGUFJSZWcpOwogICAgICAgICAgICAgICAgIGppdC5sb2FkRG91Ymxl
KENDYWxsSGVscGVyczo6QmFzZUluZGV4KHNjcmF0Y2hHUFIsIHNjcmF0Y2gyR1BSLCBDQ2FsbEhl
bHBlcnM6OlRpbWVzRWlnaHQpLCBzdGF0ZS5zY3JhdGNoRlBSKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IDMwYWZjMjFhNWM5MTUwMzk0MTU5MTdkNzlmMDM0
Y2YzZWRhMTYwYmIuLjY4NGFiYTQ4ZDE3ZjQxOWIzMzhhMzMzMGIxN2JlMTkzMDNmMzI1MjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcApAQCAtNzM0LDcgKzczNCw3
IEBAIHZvaWQgT1NSRXhpdDo6Y29tcGlsZUV4aXQoQ0NhbGxIZWxwZXJzJiBqaXQsIFZNJiB2bSwg
Y29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZElu
SlNTdGFjazoKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgaml0LmxvYWQ2NChzY3Jh
dGNoICsgaW5kZXgsIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5k
MzJUb1B0cihHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgaml0
Lnplcm9FeHRlbmQzMlRvV29yZChHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOwogICAg
ICAgICAgICAgaml0Lm9yNjQoR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsIEdQUkluZm86OnJl
Z1QwKTsKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBBc3NlbWJseUhl
bHBlcnM6OmFkZHJlc3NGb3Iob3BlcmFuZCkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggN2FkNmE2Y2UwMzI2NjdlZmJk
MmExZWU2MmUxOWVkMmEyYzk4YTg5My4uZmM0MTFlMzYzY2EyYmYyNjg4ODY5ZTBhMWQ0NDIxYjU0
Y2NhM2JlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKQEAgLTE3MTAsNyArMTcxMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVTdHJpbmdTbGljZShOb2RlKiBub2RlKQogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3ModGVtcDJHUFIsIFN0cmluZ0ltcGw6OmRhdGFPZmZzZXQoKSksIHRlbXBHUFIp
OwogCiAgICAgLy8gTG9hZCB0aGUgY2hhcmFjdGVyIGludG8gc2NyYXRjaFJlZwotICAgIG1faml0
Lnplcm9FeHRlbmQzMlRvUHRyKHN0YXJ0SW5kZXhHUFIsIHN0YXJ0SW5kZXhHUFIpOworICAgIG1f
aml0Lnplcm9FeHRlbmQzMlRvV29yZChzdGFydEluZGV4R1BSLCBzdGFydEluZGV4R1BSKTsKICAg
ICBhdXRvIGlzMTZCaXQgPSBtX2ppdC5icmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8s
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAyR1BSLCBTdHJpbmdJbXBsOjpmbGFnc09mZnNl
dCgpKSwgVHJ1c3RlZEltbTMyKFN0cmluZ0ltcGw6OmZsYWdJczhCaXQoKSkpOwogCiAgICAgbV9q
aXQubG9hZDgoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleCh0ZW1wR1BSLCBzdGFydEluZGV4R1BS
LCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNPbmUsIDApLCB0ZW1wR1BSKTsKQEAgLTI1MTgsNyArMjUx
OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIoTm9kZSogbm9k
ZSkKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgb3AxKTsKICAgICAg
ICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9
IHJlc3VsdC5ncHIoKTsKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxR1BSLCBy
ZXN1bHRHUFIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCByZXN1
bHRHUFIpOwogICAgICAgICBzdHJpY3RJbnQzMlJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIERhdGFG
b3JtYXRJbnQzMik7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNjAzLDcgKzI2MDMsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVUb0ludDMyKE5vZGUqIG5vZGUpCiAg
ICAgICAgICAgICBjb252ZXJ0ZWQuYXBwZW5kKG1faml0Lmp1bXAoKSk7CiAKICAgICAgICAgICAg
IGlzSW50ZWdlci5saW5rKCZtX2ppdCk7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJU
b1B0cihncHIsIHJlc3VsdEdwcik7CisgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dv
cmQoZ3ByLCByZXN1bHRHcHIpOwogCiAgICAgICAgICAgICBjb252ZXJ0ZWQubGluaygmbV9qaXQp
OwogI2Vsc2UKQEAgLTI2OTAsNyArMjY5MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVVSW50MzJUb051bWJlcihOb2RlKiBub2RlKQogICAgICAgICBpZiAoZW5hYmxlSW50NTIoKSkg
ewogICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGls
ZDEoKSk7CiAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIFJldXNlLCBvcDEp
OwotICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxLmdwcigpLCByZXN1bHQu
Z3ByKCkpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKG9wMS5ncHIoKSwg
cmVzdWx0LmdwcigpKTsKICAgICAgICAgICAgIHN0cmljdEludDUyUmVzdWx0KHJlc3VsdC5ncHIo
KSwgbm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTMxMTAsNyArMzEx
MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNldEludFR5cGVkQXJyYXlMb2FkUmVzdWx0KE5v
ZGUqIG5vZGUsIEdQUlJlZyByZXN1bHRSZWcsIFR5CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBp
ZiAobm9kZS0+c2hvdWxkU3BlY3VsYXRlSW50NTIoKSkgewogICAgICAgICBBU1NFUlQoZW5hYmxl
SW50NTIoKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKICAgICAgICAgc3RyaWN0SW50NTJSZXN1bHQocmVzdWx0UmVnLCBub2RlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU1NjAsNyArNTU2MCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aERpdihOb2RlKiBub2RlKQogICAgICAgICAgICAgbm90WmVyby5s
aW5rKCZtX2ppdCk7CiAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBub3ROZWcyVG9UaGUz
MSA9CiAgICAgICAgICAgICAgICAgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFs
LCBvcDFHUFIsIFRydXN0ZWRJbW0zMigtMjE0NzQ4MzY0Ny0xKSk7Ci0gICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1B0cihvcDFHUFIsIGVheC5ncHIoKSk7CisgICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCBlYXguZ3ByKCkpOwogICAgICAgICAgICAgZG9u
ZS5hcHBlbmQobV9qaXQuanVtcCgpKTsKICAgICAgICAgCiAgICAgICAgICAgICBub3ROZWcyVG9U
aGUzMS5saW5rKCZtX2ppdCk7CkBAIC04Mjg1LDcgKzgyODUsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQ3JlYXRlUmVzdChOb2RlKiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGFycmF5UmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVy
Zmx5T2Zmc2V0KCkpLCBidXR0ZXJmbHlHUFIpOwogCiAgICAgICAgIENDYWxsSGVscGVyczo6SnVt
cCBza2lwTG9vcCA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgYXJyYXlM
ZW5ndGhHUFIsIFRydXN0ZWRJbW0zMigwKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRv
UHRyKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKKyAgICAgICAgbV9qaXQuemVy
b0V4dGVuZDMyVG9Xb3JkKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKICAgICAg
ICAgbV9qaXQuYWRkUHRyKEltbTMyKHNpemVvZihSZWdpc3RlcikgKiBub2RlLT5udW1iZXJPZkFy
Z3VtZW50c1RvU2tpcCgpKSwgYXJndW1lbnRzU3RhcnRHUFIpOwogCiAgICAgICAgIGF1dG8gbG9v
cCA9IG1faml0LmxhYmVsKCk7CkBAIC04OTU1LDggKzg5NTUsOCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQXJyYXlTbGljZShOb2RlKiBub2RlKQogICAgIEdQUlJlZyByZXN1bHRCdXR0
ZXJmbHkgPSB0ZW1wMi5ncHIoKTsKIAogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3MocmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkpLCByZXN1bHRC
dXR0ZXJmbHkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHRlbXBHUFIsIHRlbXBHUFIp
OwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodGVtcEdQUiwgdGVtcEdQUik7CisgICAgbV9qaXQu
emVyb0V4dGVuZDMyVG9Xb3JkKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKICAgICBhdXRvIGRvbmUg
PSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkFib3ZlT3JFcXVhbCwgbG9hZEluZGV4
LCB0ZW1wR1BSKTsKIAogICAgIGF1dG8gbG9vcCA9IG1faml0LmxhYmVsKCk7CkBAIC05MDEzLDgg
KzkwMTMsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJyYXlJbmRleE9mKE5vZGUq
IG5vZGUpCiAgICAgICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMo
KTsKICNlbmRpZgogCi0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGhH
UFIsIGxlbmd0aEdQUik7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRl
eEdQUiwgaW5kZXhHUFIpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxl
bmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29y
ZChpbmRleEdQUiwgaW5kZXhHUFIpOwogCiAgICAgICAgICAgICBhdXRvIGxvb3AgPSBtX2ppdC5s
YWJlbCgpOwogICAgICAgICAgICAgYXV0byBub3RGb3VuZCA9IG1faml0LmJyYW5jaDMyKENDYWxs
SGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIpOwpAQCAtOTEyMSw4ICs5MTIxLDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFycmF5SW5kZXhPZihOb2RlKiBub2RlKQog
ICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMoKTsKICNlbmRpZgog
Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsK
LSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIGluZGV4R1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCBpbmRleEdQUik7CiAKICAg
ICAgICAgYXV0byBsb29wID0gbV9qaXQubGFiZWwoKTsKICAgICAgICAgYXV0byBub3RGb3VuZCA9
IG1faml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIp
OwpAQCAtMTA0MzQsNyArMTA0MzQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3
VHlwZWRBcnJheVdpdGhTaXplKE5vZGUqIG5vZGUpCiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAj
aWYgQ1BVKEFSTTY0RSkKICAgICAvLyBzaXplR1BSIGlzIHN0aWxsIGJveGVkIGFzIGEgbnVtYmVy
IGFuZCB0aGVyZSBpcyBubyAzMi1iaXQgdmFyaWFudCBvZiB0aGUgUEFDIGluc3RydWN0aW9ucy4K
LSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAgICBt
X2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgbV9qaXQu
dGFnQXJyYXlQdHIoc2NyYXRjaEdQUiwgc3RvcmFnZUdQUik7CiAjZW5kaWYKIApAQCAtMTI0NzEs
NyArMTI0NzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0QWxsb2NhdGVCdXR0ZXJmbHko
R1BSUmVnIHN0b3JhZ2VSZXN1bHRHUFIsIEdQUlJlZyBzaXplRwogewogICAgIFJFTEVBU0VfQVNT
RVJUKFJlZ2lzdGVyU2V0KHN0b3JhZ2VSZXN1bHRHUFIsIHNpemVHUFIsIHNjcmF0Y2gxLCBzY3Jh
dGNoMiwgc2NyYXRjaDMpLm51bWJlck9mU2V0R1BScygpID09IDUpOwogICAgIEFTU0VSVCgoMSA8
PCAzKSA9PSBzaXplb2YoSlNWYWx1ZSkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHNp
emVHUFIsIHNjcmF0Y2gxKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwg
c2NyYXRjaDEpOwogICAgIG1faml0LmxzaGlmdDMyKFRydXN0ZWRJbW0zMigzKSwgc2NyYXRjaDEp
OwogICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMihzaXplb2YoSW5kZXhpbmdIZWFkZXIpKSwg
c2NyYXRjaDEsIHNjcmF0Y2gyKTsKICNpZiBBU1NFUlRfRU5BQkxFRApAQCAtMTM3ODcsMTMgKzEz
Nzg3LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KE5vZGUqIG5v
ZGUpCiAgICAgbV9qaXQuYW5kMzIobWFza0dQUiwgaW5kZXhHUFIpOwogICAgIGlmIChub2RlLT5j
aGlsZDEoKS51c2VLaW5kKCkgPT0gV2Vha1NldE9iamVjdFVzZSkgewogICAgICAgICBzdGF0aWNf
YXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5PikgPT0gc2l6
ZW9mKHZvaWQqKSwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQ
UiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BS
LCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJsZXI6Oklt
bTMyKHNpemVvZih2b2lkKikgPT0gNCA/IDIgOiAzKSwgYnVja2V0R1BSKTsKICAgICAgICAgbV9q
aXQuYWRkUHRyKGJ1ZmZlckdQUiwgYnVja2V0R1BSKTsKICAgICB9IGVsc2UgewogICAgICAgICBB
U1NFUlQobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFdlYWtNYXBPYmplY3RVc2UpOwogICAg
ICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRh
S2V5VmFsdWU+KSA9PSAxNiwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihp
bmRleEdQUiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGlu
ZGV4R1BSLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkltbTMyKDQpLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5hZGRQdHIoYnVmZmVyR1BS
LCBidWNrZXRHUFIpOwogICAgIH0KQEAgLTE0MDM2LDcgKzE0MDM2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU1pc2NTdHJpY3RFcShOb2RlKiBub2RlKQogCiB2b2lkIFNwZWN1bGF0
aXZlSklUOjplbWl0SW5pdGlhbGl6ZUJ1dHRlcmZseShHUFJSZWcgc3RvcmFnZUdQUiwgR1BSUmVn
IHNpemVHUFIsIEpTVmFsdWVSZWdzIGVtcHR5VmFsdWVSZWdzLCBHUFJSZWcgc2NyYXRjaEdQUikK
IHsKLSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgZG9uZSA9IG1faml0LmJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxl
cjo6WmVybywgc2NyYXRjaEdQUik7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AgPSBt
X2ppdC5sYWJlbCgpOwogICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQ
Uik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAppbmRleCA0YmZlOGUxMTk2MDIxNTVhZDQxNWQ4YmFjZDU5NzdlYjYyNTMxNmNiLi5mMjIy
ZDc2N2MxNDAwZWMzMmMzZmE0OGRmNDc0MjI2ZWUxMmEzZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTEwMjMsNyArMTAy
Myw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludDMySW50ZXJuYWwo
RWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5GCiAgICAgICAgICAgICAgICAgaW5mby5maWxs
SW50MzIoKm1fc3RyZWFtLCBncHIpOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IGdwcjsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGdwciwgcmVz
dWx0KTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29yZChncHIsIHJlc3VsdCk7
CiAgICAgICAgICAgICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CkBAIC01MDg3LDcgKzUwODcsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAgICAgRGF0YVZpZXdEYXRh
IGRhdGEgPSBub2RlLT5kYXRhVmlld0RhdGEoKTsKIAotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQo
aW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNpemUgPiAxKQogICAgICAgICAg
ICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNpemUgLSAxKSwgdDIpOwogICAg
ICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZGF0YVZpZXdHUFIsIEpT
QXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEpOwpAQCAtNTA5Nyw3ICs1MDk3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFWaWV3R1BSLCBKU0FycmF5QnVm
ZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAgICAgY2FnZVR5cGVkQXJyYXlT
dG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Q
dHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4
R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklUQ29tcGlsZXI6OkJhc2VJbmRl
eCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAKICAgICAgICAgaWYgKG5vZGUt
Pm9wKCkgPT0gRGF0YVZpZXdHZXRJbnQpIHsKQEAgLTUyODgsNyArNTI4OCw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGlzTGl0dGxlRW5k
aWFuT3BlcmFuZC5lbXBsYWNlKHRoaXMsIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMykpOwog
ICAgICAgICBHUFJSZWcgaXNMaXR0bGVFbmRpYW5HUFIgPSBpc0xpdHRsZUVuZGlhbk9wZXJhbmQg
PyBpc0xpdHRsZUVuZGlhbk9wZXJhbmQtPmdwcigpIDogSW52YWxpZEdQUlJlZzsKIAotICAgICAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56
ZXJvRXh0ZW5kMzJUb1dvcmQoaW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNp
emUgPiAxKQogICAgICAgICAgICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNp
emUgLSAxKSwgdDIpOwogICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoZGF0YVZpZXdHUFIsIEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEp
OwpAQCAtNTI5OCw3ICs1Mjk4LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFW
aWV3R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAg
ICAgY2FnZVR5cGVkQXJyYXlTdG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4
dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklU
Q29tcGlsZXI6OkJhc2VJbmRleCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAK
ICAgICAgICAgaWYgKGRhdGEuaXNGbG9hdGluZ1BvaW50KSB7CkBAIC01NDAwLDcgKzU0MDAsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAg
ICAgfTsKIAogICAgICAgICAgICAgICAgIGF1dG8gZW1pdEJpZ0VuZGlhbkNvZGUgPSBbJl0gewot
ICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cih2YWx1ZUdQUiwgdDMp
OworICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodmFsdWVHUFIs
IHQzKTsKICAgICAgICAgICAgICAgICAgICAgbV9qaXQuYnl0ZVN3YXAzMih0Myk7CiAgICAgICAg
ICAgICAgICAgICAgIG1faml0LnN0b3JlMzIodDMsIGJhc2VJbmRleCk7CiAgICAgICAgICAgICAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENv
bXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVy
LmNwcAppbmRleCAyNzBmZDRlYmY2NDk1NzkzYzRjM2YxMzFjMDAyMjJkMDAyNzA2MzMwLi41NzNk
OGRmMDRjODc3ZTYzZWRjOTVhNTBkYWQxOGQ1NmY2ZTBlYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiB7CiAgICAgc3dpdGNoIChmb3Jt
YXQpIHsKICAgICBjYXNlIERhdGFGb3JtYXRJbnQzMjogewotICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9QdHIodmFsdWUsIHZhbHVlKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2
YWx1ZSwgdmFsdWUpOwogICAgICAgICBqaXQub3I2NChHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3Rl
ciwgdmFsdWUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC03Myw3ICs3Myw3IEBAIHN0YXRp
YyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiAgICAgfQogCiAgICAgY2FzZSBEYXRhRm9y
bWF0Qm9vbGVhbjogewotICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIodmFsdWUsIHZhbHVl
KTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2YWx1ZSwgdmFsdWUpOwogICAgICAg
ICBqaXQub3IzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlZhbHVlRmFs
c2UpLCB2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyNjQuY3BwCmluZGV4IGZlMjFjMTYzYzZiNWUx
MGJiN2U0Y2JlM2JlNTVmOTFiNzQwMjk3MzYuLmJlODgwMTZiNmUxOTQ2NjkxYzY3NmVmZjMzYjJi
ZTMxZGJmNDZhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXI2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJh
bWVTaHVmZmxlcjY0LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVy
OjplbWl0Qm94KENhY2hlZFJlY292ZXJ5JiBjYWNoZWRSZWNvdmVyeSkKICAgICAgICAgY2FzZSBE
YXRhRm9ybWF0SW50MzI6CiAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgICAg
ICBkYXRhTG9nKCIgICAqIEJveGluZyAiLCBjYWNoZWRSZWNvdmVyeS5yZWNvdmVyeSgpKTsKLSAg
ICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKAorICAgICAgICAgICAgbV9qaXQuemVy
b0V4dGVuZDMyVG9Xb3JkKAogICAgICAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LnJlY292ZXJ5
KCkuZ3ByKCksCiAgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnkucmVjb3ZlcnkoKS5ncHIo
KSk7CiAgICAgICAgICAgICBtX2xvY2tlZFJlZ2lzdGVycy5zZXQoY2FjaGVkUmVjb3ZlcnkucmVj
b3ZlcnkoKS5ncHIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApp
bmRleCA4ZDAzZDE1ZTIxNzQzMWZmNTNmNWI0NmQ0ZGFlZDJhZTkzNzJjODU4Li45NmNkZWFkODc4
YWYxOGQ2MTAxMzI5MTFiOGVhNTI2YTEzNWMzMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE0MzYsNyArMTQzNiw3IEBAIHZvaWQgSklUOjplbWl0X29w
X2hhc19pbmRleGVkX3Byb3BlcnR5KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCiAgICAgLy8gc2l6ZSBpcyBhbHdheXMgbGVzcyB0aGFuIDRHYikuIEFzIHN1Y2ggemVybyBl
eHRlbmRpbmcgd2lsbCBoYXZlIGJlZW4gY29ycmVjdCAoYW5kIGV4dGVuZGluZyB0aGUgdmFsdWUK
ICAgICAvLyB0byA2NC1iaXRzIGlzIG5lY2Vzc2FyeSBzaW5jZSBpdCdzIHVzZWQgaW4gdGhlIGFk
ZHJlc3MgY2FsY3VsYXRpb24uIFdlIHplcm8gZXh0ZW5kIHJhdGhlciB0aGFuIHNpZ24KICAgICAv
LyBleHRlbmRpbmcgc2luY2UgaXQgbWFrZXMgaXQgZWFzaWVyIHRvIHJlLXRhZyB0aGUgdmFsdWUg
aW4gdGhlIHNsb3cgY2FzZS4KLSAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUMSwgcmVnVDEpOwor
ICAgIHplcm9FeHRlbmQzMlRvV29yZChyZWdUMSwgcmVnVDEpOwogCiAgICAgZW1pdEp1bXBTbG93
Q2FzZUlmTm90SlNDZWxsKHJlZ1QwLCBiYXNlKTsKICAgICBlbWl0QXJyYXlQcm9maWxpbmdTaXRl
V2l0aENlbGwocmVnVDAsIHJlZ1QyLCBwcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCBlNmYyMzUxNTk3ODcxMGVlYmM1NjFhYzk4
MDQ0MTk4ZmUxOWY3NDM3Li5jYTA4NmMxODU5MTgzMWU0ZDhkMDFlNzAxNmY0ODhiMzg2ZjA0ODBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBA
IC0xMjE1LDcgKzEyMTUsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0
eShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIC8vIHNpemUgaXMg
YWx3YXlzIGxlc3MgdGhhbiA0R2IpLiBBcyBzdWNoIHplcm8gZXh0ZW5kaW5nIHdpbGwgaGF2ZSBi
ZWVuIGNvcnJlY3QgKGFuZCBleHRlbmRpbmcgdGhlIHZhbHVlCiAgICAgLy8gdG8gNjQtYml0cyBp
cyBuZWNlc3Nhcnkgc2luY2UgaXQncyB1c2VkIGluIHRoZSBhZGRyZXNzIGNhbGN1bGF0aW9uLiBX
ZSB6ZXJvIGV4dGVuZCByYXRoZXIgdGhhbiBzaWduCiAgICAgLy8gZXh0ZW5kaW5nIHNpbmNlIGl0
IG1ha2VzIGl0IGVhc2llciB0byByZS10YWcgdGhlIHZhbHVlIGluIHRoZSBzbG93IGNhc2UuCi0g
ICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1dv
cmQocmVnVDEsIHJlZ1QxKTsKIAogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2VsbChy
ZWdUMCwgcmVnVDIsIHByb2ZpbGUpOwogICAgIGFuZDMyKFRydXN0ZWRJbW0zMihJbmRleGluZ1No
YXBlTWFzayksIHJlZ1QyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9w
ZXJ0eUFjY2Vzcy5jcHAKaW5kZXggODY4YTFkMTA1OTA5ZDAxNGU1ODc2NDM3ZDMyNmEzZDI0OWRk
YTM4YS4uN2UwOTQ0MjA5MjI1NmM4ZWFmNTc4ZGE3YjRlMTk1MjRjMDFlZDljYiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTEyNCw3
ICsxMjQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgICAgIG5vdEluZGV4ID0gZW1pdFBhdGNoYWJsZUp1
bXBJZk5vdEludChyZWdUMSk7CiAgICAgICAgIGFkZFNsb3dDYXNlKG5vdEluZGV4KTsKICAgICAg
ICAgLy8gU2VlIGNvbW1lbnQgaW4gb3BfZ2V0X2J5X3ZhbC4KLSAgICAgICAgemVyb0V4dGVuZDMy
VG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKHJlZ1QxLCBy
ZWdUMSk7CiAgICAgfQogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2VsbChyZWdUMCwg
cmVnVDIsIHByb2ZpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pTSW50ZXJmYWNlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJmYWNl
SklULmgKaW5kZXggODAxNTJkYTkxNjc2NTQyZjdhOTU2Njg4MDkyNTAyZGJmOGVkMWU3Mi4uN2Nh
MWI0ZTdjM2ZkMDg0ZGQyN2FjMzg1MDZhYTljNmFlZDk1ZGViMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaApAQCAtMTExLDcgKzExMSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIHsKICAgICAgICAgbG9hZDY0KGFkZHJlc3NGb3IodmlydHVhbFJlZ2lzdGVy
KSwgZHN0KTsKICAgICAgICAgSnVtcCBub3RJbnQzMiA9IGJyYW5jaElmTm90SW50MzIoZHN0KTsK
LSAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIoZHN0LCBkc3QpOworICAgICAgICB6ZXJvRXh0ZW5k
MzJUb1dvcmQoZHN0LCBkc3QpOwogICAgICAgICByZXR1cm4gbm90SW50MzI7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAKaW5kZXggNzViZmE5NDIz
M2MyZDk1OTk2ODk3YTEwYmUzMGQzZGEzODkwNzU1ZS4uNDkwZmQ2MmNhZjUwZGRmNmQ2MTVjOTYx
MGUzYWQ5YzUwYzYzOGE1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvSlNUb1dhc20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTVG9X
YXNtLmNwcApAQCAtNDksNyArNDksNyBAQCBpbmxpbmUgdm9pZCBib3hXYXNtUmVzdWx0KENDYWxs
SGVscGVycyYgaml0LCBXYXNtOjpUeXBlIHR5cGUsIFJlZyBzcmMsIEpTVmFsdWVSZQogICAgICAg
ICBqaXQubW92ZShzcmMuZ3ByKCksIGRzdC5wYXlsb2FkR1BSKCkpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFdhc206OkkzMjoKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNyYy5n
cHIoKSwgZHN0LnBheWxvYWRHUFIoKSk7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQo
c3JjLmdwcigpLCBkc3QucGF5bG9hZEdQUigpKTsKICAgICAgICAgaml0LmJveEludDMyKGRzdC5w
YXlsb2FkR1BSKCksIGRzdCwgRG9Ob3RIYXZlVGFnUmVnaXN0ZXJzKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBXYXNtOjpGMzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNt
VG9KUy5jcHAKaW5kZXggMDNhYmFlOTBjZmJkNjNlZjU2YzA1MDJiYmNjNjM3NWZmMjZjZGQ1NC4u
MDg1NDMzNjFjM2M3MTI4MTE5NzVhMzE1YWUwN2Y5MWI1NjU3ZmIwMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIEV4cGVj
dGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5nRmFpbHVy
ZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICsr
bWFyc2hhbGxlZEdQUnM7CiAgICAgICAgICAgICAgICAgaWYgKGFyZ1R5cGUgPT0gSTMyKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihncHJSZWcsIGdwclJlZyk7
IC8vIENsZWFyIG5vbi1pbnQzMiBhbmQgbm9uLXRhZyBiaXRzLgorICAgICAgICAgICAgICAgICAg
ICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGdwclJlZywgZ3ByUmVnKTsgLy8gQ2xlYXIgbm9uLWlu
dDMyIGFuZCBub24tdGFnIGJpdHMuCiAgICAgICAgICAgICAgICAgICAgIGppdC5ib3hJbnQzMihn
cHJSZWcsIEpTVmFsdWVSZWdzKGdwclJlZyksIERvTm90SGF2ZVRhZ1JlZ2lzdGVycyk7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGppdC5zdG9yZTY0KGdwclJlZywgY2FsbGVl
RnJhbWUud2l0aE9mZnNldChjYWxsZWVGcmFtZU9mZnNldCkpOwpAQCAtMjk0LDcgKzI5NCw3IEBA
IEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5n
RmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAKICAgICAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChq
aXQuYnJhbmNoSWZOb3ROdW1iZXIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIERvTm90SGF2ZVRh
Z1JlZ2lzdGVycykpOwogICAgICAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hJZk5v
dEludDMyKEpTVmFsdWVSZWdzKEdQUkluZm86OnJldHVyblZhbHVlR1BSKSwgRG9Ob3RIYXZlVGFn
UmVnaXN0ZXJzKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIoR1BSSW5mbzo6
cmV0dXJuVmFsdWVHUFIsIGRlc3QpOworICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29y
ZChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgZGVzdCk7CiAgICAgICAgICAgICBkb25lLmFwcGVu
ZChqaXQuanVtcCgpKTsKIAogICAgICAgICAgICAgc2xvd1BhdGgubGluaygmaml0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5j
cHAKaW5kZXggYjFkZDNhNmY1NDBlOTljOTg1M2U1MGE5YzMwNGNmODc4MGMxMWYwYS4uYzk2M2I0
Y2Y0ZDMxMDlhYjMzZWYzODUzMDUyZjk1MTNlMjMwZmI5NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKQEAgLTI2Miw3
ICsyNjIsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gV2ViQXNzZW1i
bHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2ludFNsb3coKQogICAgICAgICAgICAgaWYgKGlzU3Rh
Y2spCiAgICAgICAgICAgICAgICAgaml0LnN0b3JlMzIoc2NyYXRjaEdQUiwgY2FsbGVlRnJhbWUu
d2l0aE9mZnNldCh3YXNtQ2FsbEluZm8ucGFyYW1zW2ldLm9mZnNldEZyb21TUCgpKSk7CiAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNjcmF0
Y2hHUFIsIHdhc21DYWxsSW5mby5wYXJhbXNbaV0uZ3ByKCkpOworICAgICAgICAgICAgICAgIGpp
dC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2NyYXRjaEdQUiwgd2FzbUNhbGxJbmZvLnBhcmFtc1tpXS5n
cHIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFdhc206
OkZ1bmNyZWY6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJK
SVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXggNjRk
YWNmMjI0MjQxNzhhYWZjYTBiZDgyY2UyNWI5YzQxNWQ4MDEwZS4uZDI5NzE3OGUyMGE2OWY0NDg5
YTM5NWE2ZTY2OTEwODVjZDY3ODBkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvWWFyckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJ
VC5jcHAKQEAgLTM3MzcsOCArMzczNyw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBw
dWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAgICAg
cHVzaChYODZSZWdpc3RlcnM6OnIxNSk7CiAgICAgICAgIH0KICAgICAgICAgLy8gVGhlIEFCSSBk
b2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBhcmUgemVybyBvbiB1bnNpZ25lZCBhcmd1
bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0
cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGgsIGxlbmd0
aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChpbmRleCwgaW5kZXgpOworICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAg
ICAgIGlmIChjb21waWxlTW9kZSA9PSBJbmNsdWRlU3VicGF0dGVybnMpCiAgICAgICAgICAgICBs
b2FkUHRyKEFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplYnAsIDYgKiBzaXplb2Yodm9pZCopKSwgb3V0
cHV0KTsKQEAgLTM3NTUsOCArMzc1NSw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwgOiBw
dWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICB9CiAK
ICAgICAgICAgLy8gVGhlIEFCSSBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBhcmUg
emVybyBvbiB1bnNpZ25lZCBhcmd1bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgotICAg
ICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0ZW5k
MzJUb1B0cihsZW5ndGgsIGxlbmd0aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChpbmRl
eCwgaW5kZXgpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgpOwog
I2VsaWYgQ1BVKEFSTV9USFVNQjIpCiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7CiAg
ICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403329</attachid>
            <date>2020-07-01 16:15:21 -0700</date>
            <delta_ts>2020-07-01 16:16:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213866-20200701161520.patch</filename>
            <type>text/plain</type>
            <size>41905</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OTE5OWMxMTY1MWRkN2YyMDBmMGU3NGMxMTY1NGNjNmIwNjc0YzIzLi41OTQzZjc2NmFmODA1NTk2
MDczNmIxNGNjZWU0NzVhNDdlYzJlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAyMC0wNy0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW5hbWUgemVyb0V4dGVuZDMyVG9QdHIgdG8gemVyb0V4dGVuZDMy
VG9Xb3JkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgb2xkIG5hbWUgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIG5vdyB0aGF0IHdlIGhhdmUgY29uZmln
dXJhdGlvbnMKKyAgICAgICAgd2hlcmUgc2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoQ1BVUmVnaXN0
ZXIpLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaDoKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6emVyb0V4dGVuZDMyVG9Xb3Jk
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoTXVsMzIpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0Ojp6ZXJvRXh0ZW5kMzJUb1B0cik6IERlbGV0
ZWQuCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9QdHIpOiBEZWxldGVkLgor
ICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJNSVBTOjp6ZXJvRXh0ZW5kMzJUb1dvcmQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlck1JUFM6Onplcm9FeHRlbmQzMlRvUHRyKTogRGVsZXRlZC4KKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJYODZDb21tb246OmFkZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmFuZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246Om11bDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om9yMzIp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6eG9yMzIpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEFkZDMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Onplcm9FeHRlbmQzMlRvUHRyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9haXIvQWlyT3Bjb2RlLm9wY29kZXM6CisgICAgICAgICogYnl0
ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRl
V2l0aEd1YXJkKToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6T1NSRXhpdDo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTdHJp
bmdTbGljZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1
ZVRvSW50MzIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVUlu
dDMyVG9OdW1iZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzZXRJbnRU
eXBlZEFycmF5TG9hZFJlc3VsdCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVDcmVhdGVSZXN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUFycmF5U2xpY2UpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlQXJyYXlJbmRleE9mKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZU5ld1R5cGVkQXJyYXlXaXRoU2l6ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmVtaXRBbGxvY2F0ZUJ1dHRlcmZseSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6ZW1pdEluaXRpYWxpemVCdXR0ZXJmbHkpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Zmls
bFNwZWN1bGF0ZUludDMySW50ZXJuYWwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpyZWJveEFjY29yZGluZ1RvRm9ybWF0KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVy
OjplbWl0Qm94KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVE9w
Y29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9w
cm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV92YWwpOgorICAgICAgICAqIGppdC9KU0ludGVyZmFj
ZUpJVC5oOgorICAgICAgICAoSlNDOjpKU0ludGVyZmFjZUpJVDo6ZW1pdExvYWRJbnQzMik6Cisg
ICAgICAgICogd2FzbS9qcy9KU1RvV2FzbS5jcHA6CisgICAgICAgIChKU0M6Oldhc206OmJveFdh
c21SZXN1bHQpOgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlND
OjpXYXNtOjp3YXNtVG9KUyk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9u
LmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2lu
dFNsb3cpOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjAtMDctMDEgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0IHRvIGNvcHkgb3Zl
ciB0ZXN0YXBpLmpzIGlzIHJlZHVuZGFudCBpbiB4Y29kZWJ1aWxkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCmluZGV4IDUz
YTA5OWNlMTY0OGYxOTI3NDQyM2IxNmRiNzJlMDU4YzQ1ZTEyNDkuLjQ1YjRiM2I0Njk2ODU1MmQ3
ZGFjOTc4OGFmZjZjZjBiNDNkYjI2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCkBAIC0xODk5LDcgKzE4OTksNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICAvLyBUcnVuY2F0ZSB0byBhIDY0LWJpdCBpbnRlZ2Vy
IGluIGRhdGFUZW1wUmVnaXN0ZXIsIGNvcHkgdGhlIGxvdyAzMi1iaXQgdG8gZGVzdC4KICAgICAg
ICAgbV9hc3NlbWJsZXIuZmN2dHpzPDY0LCA2ND4oZ2V0Q2FjaGVkRGF0YVRlbXBSZWdpc3RlcklE
QW5kSW52YWxpZGF0ZSgpLCBzcmMpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihkYXRhVGVt
cFJlZ2lzdGVyLCBkZXN0KTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKGRhdGFUZW1wUmVn
aXN0ZXIsIGRlc3QpOwogICAgICAgICAvLyBDaGVjayB0aGUgbG93IDMyLWJpdHMgc2lnbiBleHRl
bmQgdG8gYmUgZXF1YWwgdG8gdGhlIGZ1bGwgdmFsdWUuCiAgICAgICAgIG1fYXNzZW1ibGVyLmNt
cDw2ND4oZGF0YVRlbXBSZWdpc3RlciwgZGF0YVRlbXBSZWdpc3RlciwgQXNzZW1ibGVyOjpTWFRX
LCAwKTsKICAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChicmFuY2hUeXBlID09IEJyYW5j
aElmVHJ1bmNhdGVTdWNjZXNzZnVsID8gRXF1YWwgOiBOb3RFcXVhbCkpOwpAQCAtMjUxNSw3ICsy
NTE1LDcgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5zeHR3KGRlc3QsIHNyYyk7CiAg
ICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJUb1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci51eHR3KGRlc3QsIHNy
Yyk7CiAgICAgfQpAQCAtMzE5NSw3ICszMTk1LDcgQEAgcHVibGljOgogICAgICAgICAvLyBTcGxh
dCBiaXQgMzEgb2YgdGhlIHJlc3VsdCB0byBiaXRzIDMxLi4wIG9mIHNjcmF0Y2gyLgogICAgICAg
ICBtX2Fzc2VtYmxlci5hc3I8MzI+KHNjcmF0Y2gyLCBkZXN0LCAzMSk7CiAgICAgICAgIC8vIEFm
dGVyIGEgbXVsMzIgdGhlIHRvcCAzMiBiaXRzIG9mIHRoZSByZWdpc3RlciBzaG91bGQgYmUgY2xl
YXIuCi0gICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKGRlc3QsIGRlc3QpOworICAgICAgICB6ZXJv
RXh0ZW5kMzJUb1dvcmQoZGVzdCwgZGVzdCk7CiAgICAgICAgIC8vIENoZWNrIHRoYXQgYml0cyAz
MS4uNjMgb2YgdGhlIG9yaWdpbmFsIHJlc3VsdCB3ZXJlIGFsbCBlcXVhbC4KICAgICAgICAgcmV0
dXJuIGJyYW5jaDMyKE5vdEVxdWFsLCBzY3JhdGNoMiwgc2NyYXRjaDEpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3
LmgKaW5kZXggNzA0MDM2YzE3NWQwMDAwOTg1ZTc4ZjViMzc5MTU3MDEwOWI2MGVhMC4uMzA4YzEx
NzdmNjJmNzBjNWZjNmRjN2ZiN2Y3ZGI5OTFkMGJkNWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTE0MjUs
NyArMTQyNSw3IEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAot
ICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKKyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCmlu
ZGV4IDJkY2Y3MmJhYzUxZjc2Y2JhOTkzNzBhM2U4N2UwNGQ2NjdlOWQwYTAuLmU5MTljZmJmMjI0
YjdjOGVhNmYwZWJkYWIwYmRjMWYyNWI5YzYxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaApAQCAtMTY5Miw3ICsxNjky
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgaWYgKHNyYyAhPSBkZXN0IHx8IG1fZml4ZWRXaWR0aCkKICAg
ICAgICAgICAgIG1vdmUoc3JjLCBkZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCA4OWIwODdh
ZGRhNjRkZWNjYjRiZGJjYWVjYWFlZjMxNWEzODFiZTIyLi4yOGZhZTJlNzJmMjU2NTdlNjEzMzA1
ZjIwMDNkZmNiZWE1ZWVjYTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCkBAIC0yMDgsNyArMjA4LDcg
QEAgcHVibGljOgogICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmICghaW1tLm1fdmFsdWUpIHsK
LSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKHNyYywgZGVzdCk7CisgICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1dvcmQoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC0zMzMsNyArMzMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgYW5kMzIoUmVnaXN0
ZXJJRCBvcDEsIFJlZ2lzdGVySUQgb3AyLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBpZiAob3AxID09IG9wMikKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9wMSwgZGVz
dCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AxLCBkZXN0KTsKICAgICAgICAg
ZWxzZSBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAgICBhbmQzMihvcDIsIGRlc3QpOwogICAg
ICAgICBlbHNlIHsKQEAgLTM1MCw3ICszNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2Fk
MzIob3AxLCBkZXN0KTsKICAgICAgICAgICAgIGFuZDMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAg
ICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBhbmQzMihv
cDEsIGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtNDk0LDcgKzQ5NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIGxvYWQzMihvcDEsIGRlc3QpOwogICAgICAgICAgICAgbXVsMzIob3AyLCBk
ZXN0KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9w
MiwgZGVzdCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsKICAg
ICAgICAgICAgIG11bDMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC02NjksNyAr
NjY5LDcgQEAgcHVibGljOgogICAgIHZvaWQgb3IzMihSZWdpc3RlcklEIG9wMSwgUmVnaXN0ZXJJ
RCBvcDIsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChvcDEgPT0gb3AyKQot
ICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIob3AxLCBkZXN0KTsKKyAgICAgICAgICAgIHpl
cm9FeHRlbmQzMlRvV29yZChvcDEsIGRlc3QpOwogICAgICAgICBlbHNlIGlmIChvcDEgPT0gZGVz
dCkKICAgICAgICAgICAgIG9yMzIob3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7CkBAIC02ODYs
NyArNjg2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAg
ICAgICAgICBvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9X
b3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBvcjMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xMDI5LDcgKzEwMjksNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2FkMzIo
b3AxLCBkZXN0KTsKICAgICAgICAgICAgIHhvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAg
ICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICB4b3IzMihvcDEs
IGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjI4NywxMiArMjI4NywxMiBAQCBwdWJsaWM6
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnN4ZF9ycihzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9ycihzcmMsIGRlc3QpOwogICAg
IH0KIAotICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoVHJ1c3RlZEltbTMyIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFRydXN0ZWRJbW0zMiBzcmMs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfaTMycihz
cmMubV92YWx1ZSwgZGVzdCk7CiAgICAgfQpAQCAtMjM3NSw3ICsyMzc1LDcgQEAgcHVibGljOgog
ICAgICAgICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJU
b1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVu
ZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQpAQCAtMjgyMiw3ICsyODIyLDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAgICAgICAgICByZXR1cm4gYnJhbmNo
QWRkMzIoY29uZCwgb3AyLCBkZXN0KTsKICAgICAgICAgfQotICAgICAgICB6ZXJvRXh0ZW5kMzJU
b1B0cihvcDIsIGRlc3QpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsK
ICAgICAgICAgcmV0dXJuIGJyYW5jaEFkZDMyKGNvbmQsIG9wMSwgZGVzdCk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJPcGNvZGUub3Bjb2RlcwppbmRleCA5
MDFjNTY0OTRiZTI0ZTRlY2RlNTYzM2U3OGJiZGNlOTk0NDVhZGZmLi43MjVjNjgwNzljNWQwMTZm
YzgwNWEwNGUwY2E0YTE1YjNiYmExYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyT3Bjb2RlLm9wY29kZXMKQEAgLTY0MiwxMiArNjQyLDEyIEBAIHg4Nl82NDogU3dh
cDY0IFVEOkc6NjQsIFVEOkc6NjQKICAgICBUbXAsIEFkZHIKIAogTW92ZTMyIFU6RzozMiwgWkQ6
RzozMgotICAgIFRtcCwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgVG1wLCBUbXAgYXMg
emVyb0V4dGVuZDMyVG9Xb3JkCiAgICAgQWRkciwgVG1wIGFzIGxvYWQzMgogICAgIEluZGV4LCBU
bXAgYXMgbG9hZDMyCiAgICAgVG1wLCBBZGRyIGFzIHN0b3JlMzIKICAgICBUbXAsIEluZGV4IGFz
IHN0b3JlMzIKLSAgICB4ODY6IEltbSwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgeDg2
OiBJbW0sIFRtcCBhcyB6ZXJvRXh0ZW5kMzJUb1dvcmQKICAgICB4ODY6IEltbSwgQWRkciBhcyBz
dG9yZTMyCiAgICAgeDg2OiBJbW0sIEluZGV4IGFzIHN0b3JlMzIKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCmluZGV4IDRhM2JiNWE4NjIwNzgxMGI3
ZjgwOWM4YjljMWY3YTEzNmUwYjU1NzguLmQyOWJmMmQ5N2ZiYjEzNTc2YjIxN2M4YzNmYWQ2YzVm
ZWQ3YWVlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAKQEAgLTkzNyw3ICs5MzcsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1
YXJkKAogCiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BS
LCBTY29wZWRBcmd1bWVudHM6Om9mZnNldE9mU2NvcGUoKSksIHNjcmF0Y2gyR1BSKTsKICAgICAg
ICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIFNjb3BlZEFy
Z3VtZW50c1RhYmxlOjpvZmZzZXRPZkFyZ3VtZW50cygpKSwgc2NyYXRjaEdQUik7Ci0gICAgICAg
IGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2NyYXRjaDNHUFIpOworICAgICAg
ICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoM0dQUik7CiAgICAg
ICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRjaEdQUiwgc2NyYXRj
aDNHUFIsIENDYWxsSGVscGVyczo6VGltZXNGb3VyKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIGZh
aWxBbmRJZ25vcmUuYXBwZW5kKGppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTY29wZU9mZnNldDo6aW52YWxpZE9m
ZnNldCkpKTsKICAgICAgICAgaml0LmxvYWRWYWx1ZShDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChz
Y3JhdGNoMkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc0VpZ2h0LCBKU0xleGlj
YWxFbnZpcm9ubWVudDo6b2Zmc2V0T2ZWYXJpYWJsZXMoKSksIHZhbHVlUmVncyk7CkBAIC05ODIs
NyArOTgyLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAg
aml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgRGlyZWN0QXJndW1lbnRz
OjpvZmZzZXRPZkxlbmd0aCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRS
ZXBhdGNoLmFwcGVuZChqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHBy
b3BlcnR5R1BSLCBzY3JhdGNoR1BSKSk7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRSZXBhdGNoLmFw
cGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBEaXJlY3RBcmd1bWVudHM6Om9mZnNldE9mTWFwcGVkQXJndW1l
bnRzKCkpKSk7Ci0gICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2Ny
YXRjaEdQUik7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJvcGVydHlHUFIsIHNj
cmF0Y2hHUFIpOwogICAgICAgICBqaXQubG9hZFZhbHVlKENDYWxsSGVscGVyczo6QmFzZUluZGV4
KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgRGlyZWN0QXJn
dW1lbnRzOjpzdG9yYWdlT2Zmc2V0KCkpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNj
ZWVkKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTExMTMsMTEgKzExMTMsMTEgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgaml0LmxvYWQzMihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaDJHUFIsIFN0cmluZ0ltcGw6OmZsYWdzT2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0
Y2gyR1BSLCBTdHJpbmdJbXBsOjpkYXRhT2Zmc2V0KCkpLCBzY3JhdGNoMkdQUik7CiAgICAgICAg
IGF1dG8gaXMxNkJpdCA9IGppdC5icmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTdHJpbmdJbXBsOjpmbGFnSXM4Qml0
KCkpKTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5R1BSLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0eUdQUiwgc2NyYXRj
aEdQUik7CiAgICAgICAgIGppdC5sb2FkOChDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChzY3JhdGNo
MkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc09uZSwgMCksIHNjcmF0Y2gyR1BS
KTsKICAgICAgICAgYXV0byBpczhCaXRMb2FkRG9uZSA9IGppdC5qdW1wKCk7CiAgICAgICAgIGlz
MTZCaXQubGluaygmaml0KTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5
R1BSLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0
eUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIGppdC5sb2FkMTYoQ0NhbGxIZWxwZXJzOjpCYXNl
SW5kZXgoc2NyYXRjaDJHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNUd28sIDAp
LCBzY3JhdGNoMkdQUik7CiAgICAgICAgIGlzOEJpdExvYWREb25lLmxpbmsoJmppdCk7CiAKQEAg
LTExNzcsNyArMTE3Nyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAg
ICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNP
YmplY3Q6OmJ1dHRlcmZseU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgICAgICBpc091
dE9mQm91bmRzID0gaml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6QWJvdmVPckVxdWFsLCBwcm9w
ZXJ0eUdQUiwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEFycmF5U3RvcmFnZTo6
dmVjdG9yTGVuZ3RoT2Zmc2V0KCkpKTsKIAotICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRv
UHRyKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CisgICAgICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICAgICAgICAgIGppdC5sb2FkVmFsdWUoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRj
aEdQUiwgc2NyYXRjaDJHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgQXJyYXlTdG9yYWdl
Ojp2ZWN0b3JPZmZzZXQoKSksIEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIpKTsKICAgICAgICAgICAg
IGlzRW1wdHkgPSBqaXQuYnJhbmNoSWZFbXB0eShzY3JhdGNoR1BSKTsKQEAgLTEyMTEsNyArMTIx
MSw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAKICAgICAgICAgICAg
IGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0
dGVyZmx5T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgIGlzT3V0T2ZCb3VuZHMg
PSBqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHByb3BlcnR5R1BSLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgQnV0dGVyZmx5OjpvZmZzZXRPZlB1Ymxp
Y0xlbmd0aCgpKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIocHJvcGVydHlH
UFIsIHNjcmF0Y2gyR1BSKTsKKyAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJv
cGVydHlHUFIsIHNjcmF0Y2gyR1BSKTsKICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gSW5kZXhl
ZERvdWJsZUxvYWQpIHsKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGF0ZS5zY3Jh
dGNoRlBSICE9IEludmFsaWRGUFJSZWcpOwogICAgICAgICAgICAgICAgIGppdC5sb2FkRG91Ymxl
KENDYWxsSGVscGVyczo6QmFzZUluZGV4KHNjcmF0Y2hHUFIsIHNjcmF0Y2gyR1BSLCBDQ2FsbEhl
bHBlcnM6OlRpbWVzRWlnaHQpLCBzdGF0ZS5zY3JhdGNoRlBSKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IDMwYWZjMjFhNWM5MTUwMzk0MTU5MTdkNzlmMDM0
Y2YzZWRhMTYwYmIuLjY4NGFiYTQ4ZDE3ZjQxOWIzMzhhMzMzMGIxN2JlMTkzMDNmMzI1MjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcApAQCAtNzM0LDcgKzczNCw3
IEBAIHZvaWQgT1NSRXhpdDo6Y29tcGlsZUV4aXQoQ0NhbGxIZWxwZXJzJiBqaXQsIFZNJiB2bSwg
Y29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZElu
SlNTdGFjazoKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgaml0LmxvYWQ2NChzY3Jh
dGNoICsgaW5kZXgsIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5k
MzJUb1B0cihHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgaml0
Lnplcm9FeHRlbmQzMlRvV29yZChHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOwogICAg
ICAgICAgICAgaml0Lm9yNjQoR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsIEdQUkluZm86OnJl
Z1QwKTsKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBBc3NlbWJseUhl
bHBlcnM6OmFkZHJlc3NGb3Iob3BlcmFuZCkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggN2FkNmE2Y2UwMzI2NjdlZmJk
MmExZWU2MmUxOWVkMmEyYzk4YTg5My4uZmM0MTFlMzYzY2EyYmYyNjg4ODY5ZTBhMWQ0NDIxYjU0
Y2NhM2JlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKQEAgLTE3MTAsNyArMTcxMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVTdHJpbmdTbGljZShOb2RlKiBub2RlKQogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3ModGVtcDJHUFIsIFN0cmluZ0ltcGw6OmRhdGFPZmZzZXQoKSksIHRlbXBHUFIp
OwogCiAgICAgLy8gTG9hZCB0aGUgY2hhcmFjdGVyIGludG8gc2NyYXRjaFJlZwotICAgIG1faml0
Lnplcm9FeHRlbmQzMlRvUHRyKHN0YXJ0SW5kZXhHUFIsIHN0YXJ0SW5kZXhHUFIpOworICAgIG1f
aml0Lnplcm9FeHRlbmQzMlRvV29yZChzdGFydEluZGV4R1BSLCBzdGFydEluZGV4R1BSKTsKICAg
ICBhdXRvIGlzMTZCaXQgPSBtX2ppdC5icmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8s
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAyR1BSLCBTdHJpbmdJbXBsOjpmbGFnc09mZnNl
dCgpKSwgVHJ1c3RlZEltbTMyKFN0cmluZ0ltcGw6OmZsYWdJczhCaXQoKSkpOwogCiAgICAgbV9q
aXQubG9hZDgoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleCh0ZW1wR1BSLCBzdGFydEluZGV4R1BS
LCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNPbmUsIDApLCB0ZW1wR1BSKTsKQEAgLTI1MTgsNyArMjUx
OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIoTm9kZSogbm9k
ZSkKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgb3AxKTsKICAgICAg
ICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9
IHJlc3VsdC5ncHIoKTsKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxR1BSLCBy
ZXN1bHRHUFIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCByZXN1
bHRHUFIpOwogICAgICAgICBzdHJpY3RJbnQzMlJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIERhdGFG
b3JtYXRJbnQzMik7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNjAzLDcgKzI2MDMsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVUb0ludDMyKE5vZGUqIG5vZGUpCiAg
ICAgICAgICAgICBjb252ZXJ0ZWQuYXBwZW5kKG1faml0Lmp1bXAoKSk7CiAKICAgICAgICAgICAg
IGlzSW50ZWdlci5saW5rKCZtX2ppdCk7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJU
b1B0cihncHIsIHJlc3VsdEdwcik7CisgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dv
cmQoZ3ByLCByZXN1bHRHcHIpOwogCiAgICAgICAgICAgICBjb252ZXJ0ZWQubGluaygmbV9qaXQp
OwogI2Vsc2UKQEAgLTI2OTAsNyArMjY5MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVVSW50MzJUb051bWJlcihOb2RlKiBub2RlKQogICAgICAgICBpZiAoZW5hYmxlSW50NTIoKSkg
ewogICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGls
ZDEoKSk7CiAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIFJldXNlLCBvcDEp
OwotICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxLmdwcigpLCByZXN1bHQu
Z3ByKCkpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKG9wMS5ncHIoKSwg
cmVzdWx0LmdwcigpKTsKICAgICAgICAgICAgIHN0cmljdEludDUyUmVzdWx0KHJlc3VsdC5ncHIo
KSwgbm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTMxMTAsNyArMzEx
MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNldEludFR5cGVkQXJyYXlMb2FkUmVzdWx0KE5v
ZGUqIG5vZGUsIEdQUlJlZyByZXN1bHRSZWcsIFR5CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBp
ZiAobm9kZS0+c2hvdWxkU3BlY3VsYXRlSW50NTIoKSkgewogICAgICAgICBBU1NFUlQoZW5hYmxl
SW50NTIoKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKICAgICAgICAgc3RyaWN0SW50NTJSZXN1bHQocmVzdWx0UmVnLCBub2RlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU1NjAsNyArNTU2MCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aERpdihOb2RlKiBub2RlKQogICAgICAgICAgICAgbm90WmVyby5s
aW5rKCZtX2ppdCk7CiAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBub3ROZWcyVG9UaGUz
MSA9CiAgICAgICAgICAgICAgICAgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFs
LCBvcDFHUFIsIFRydXN0ZWRJbW0zMigtMjE0NzQ4MzY0Ny0xKSk7Ci0gICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1B0cihvcDFHUFIsIGVheC5ncHIoKSk7CisgICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCBlYXguZ3ByKCkpOwogICAgICAgICAgICAgZG9u
ZS5hcHBlbmQobV9qaXQuanVtcCgpKTsKICAgICAgICAgCiAgICAgICAgICAgICBub3ROZWcyVG9U
aGUzMS5saW5rKCZtX2ppdCk7CkBAIC04Mjg1LDcgKzgyODUsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQ3JlYXRlUmVzdChOb2RlKiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGFycmF5UmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVy
Zmx5T2Zmc2V0KCkpLCBidXR0ZXJmbHlHUFIpOwogCiAgICAgICAgIENDYWxsSGVscGVyczo6SnVt
cCBza2lwTG9vcCA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgYXJyYXlM
ZW5ndGhHUFIsIFRydXN0ZWRJbW0zMigwKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRv
UHRyKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKKyAgICAgICAgbV9qaXQuemVy
b0V4dGVuZDMyVG9Xb3JkKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKICAgICAg
ICAgbV9qaXQuYWRkUHRyKEltbTMyKHNpemVvZihSZWdpc3RlcikgKiBub2RlLT5udW1iZXJPZkFy
Z3VtZW50c1RvU2tpcCgpKSwgYXJndW1lbnRzU3RhcnRHUFIpOwogCiAgICAgICAgIGF1dG8gbG9v
cCA9IG1faml0LmxhYmVsKCk7CkBAIC04OTU1LDggKzg5NTUsOCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQXJyYXlTbGljZShOb2RlKiBub2RlKQogICAgIEdQUlJlZyByZXN1bHRCdXR0
ZXJmbHkgPSB0ZW1wMi5ncHIoKTsKIAogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3MocmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkpLCByZXN1bHRC
dXR0ZXJmbHkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHRlbXBHUFIsIHRlbXBHUFIp
OwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodGVtcEdQUiwgdGVtcEdQUik7CisgICAgbV9qaXQu
emVyb0V4dGVuZDMyVG9Xb3JkKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKICAgICBhdXRvIGRvbmUg
PSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkFib3ZlT3JFcXVhbCwgbG9hZEluZGV4
LCB0ZW1wR1BSKTsKIAogICAgIGF1dG8gbG9vcCA9IG1faml0LmxhYmVsKCk7CkBAIC05MDEzLDgg
KzkwMTMsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJyYXlJbmRleE9mKE5vZGUq
IG5vZGUpCiAgICAgICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMo
KTsKICNlbmRpZgogCi0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGhH
UFIsIGxlbmd0aEdQUik7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRl
eEdQUiwgaW5kZXhHUFIpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxl
bmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29y
ZChpbmRleEdQUiwgaW5kZXhHUFIpOwogCiAgICAgICAgICAgICBhdXRvIGxvb3AgPSBtX2ppdC5s
YWJlbCgpOwogICAgICAgICAgICAgYXV0byBub3RGb3VuZCA9IG1faml0LmJyYW5jaDMyKENDYWxs
SGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIpOwpAQCAtOTEyMSw4ICs5MTIxLDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFycmF5SW5kZXhPZihOb2RlKiBub2RlKQog
ICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMoKTsKICNlbmRpZgog
Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsK
LSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIGluZGV4R1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCBpbmRleEdQUik7CiAKICAg
ICAgICAgYXV0byBsb29wID0gbV9qaXQubGFiZWwoKTsKICAgICAgICAgYXV0byBub3RGb3VuZCA9
IG1faml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIp
OwpAQCAtMTA0MzQsNyArMTA0MzQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3
VHlwZWRBcnJheVdpdGhTaXplKE5vZGUqIG5vZGUpCiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAj
aWYgQ1BVKEFSTTY0RSkKICAgICAvLyBzaXplR1BSIGlzIHN0aWxsIGJveGVkIGFzIGEgbnVtYmVy
IGFuZCB0aGVyZSBpcyBubyAzMi1iaXQgdmFyaWFudCBvZiB0aGUgUEFDIGluc3RydWN0aW9ucy4K
LSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAgICBt
X2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgbV9qaXQu
dGFnQXJyYXlQdHIoc2NyYXRjaEdQUiwgc3RvcmFnZUdQUik7CiAjZW5kaWYKIApAQCAtMTI0NzEs
NyArMTI0NzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0QWxsb2NhdGVCdXR0ZXJmbHko
R1BSUmVnIHN0b3JhZ2VSZXN1bHRHUFIsIEdQUlJlZyBzaXplRwogewogICAgIFJFTEVBU0VfQVNT
RVJUKFJlZ2lzdGVyU2V0KHN0b3JhZ2VSZXN1bHRHUFIsIHNpemVHUFIsIHNjcmF0Y2gxLCBzY3Jh
dGNoMiwgc2NyYXRjaDMpLm51bWJlck9mU2V0R1BScygpID09IDUpOwogICAgIEFTU0VSVCgoMSA8
PCAzKSA9PSBzaXplb2YoSlNWYWx1ZSkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHNp
emVHUFIsIHNjcmF0Y2gxKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwg
c2NyYXRjaDEpOwogICAgIG1faml0LmxzaGlmdDMyKFRydXN0ZWRJbW0zMigzKSwgc2NyYXRjaDEp
OwogICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMihzaXplb2YoSW5kZXhpbmdIZWFkZXIpKSwg
c2NyYXRjaDEsIHNjcmF0Y2gyKTsKICNpZiBBU1NFUlRfRU5BQkxFRApAQCAtMTM3ODcsMTMgKzEz
Nzg3LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KE5vZGUqIG5v
ZGUpCiAgICAgbV9qaXQuYW5kMzIobWFza0dQUiwgaW5kZXhHUFIpOwogICAgIGlmIChub2RlLT5j
aGlsZDEoKS51c2VLaW5kKCkgPT0gV2Vha1NldE9iamVjdFVzZSkgewogICAgICAgICBzdGF0aWNf
YXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5PikgPT0gc2l6
ZW9mKHZvaWQqKSwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQ
UiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BS
LCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJsZXI6Oklt
bTMyKHNpemVvZih2b2lkKikgPT0gNCA/IDIgOiAzKSwgYnVja2V0R1BSKTsKICAgICAgICAgbV9q
aXQuYWRkUHRyKGJ1ZmZlckdQUiwgYnVja2V0R1BSKTsKICAgICB9IGVsc2UgewogICAgICAgICBB
U1NFUlQobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFdlYWtNYXBPYmplY3RVc2UpOwogICAg
ICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRh
S2V5VmFsdWU+KSA9PSAxNiwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihp
bmRleEdQUiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGlu
ZGV4R1BSLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkltbTMyKDQpLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5hZGRQdHIoYnVmZmVyR1BS
LCBidWNrZXRHUFIpOwogICAgIH0KQEAgLTE0MDM2LDcgKzE0MDM2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU1pc2NTdHJpY3RFcShOb2RlKiBub2RlKQogCiB2b2lkIFNwZWN1bGF0
aXZlSklUOjplbWl0SW5pdGlhbGl6ZUJ1dHRlcmZseShHUFJSZWcgc3RvcmFnZUdQUiwgR1BSUmVn
IHNpemVHUFIsIEpTVmFsdWVSZWdzIGVtcHR5VmFsdWVSZWdzLCBHUFJSZWcgc2NyYXRjaEdQUikK
IHsKLSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgZG9uZSA9IG1faml0LmJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxl
cjo6WmVybywgc2NyYXRjaEdQUik7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AgPSBt
X2ppdC5sYWJlbCgpOwogICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQ
Uik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAppbmRleCA0YmZlOGUxMTk2MDIxNTVhZDQxNWQ4YmFjZDU5NzdlYjYyNTMxNmNiLi5mMjIy
ZDc2N2MxNDAwZWMzMmMzZmE0OGRmNDc0MjI2ZWUxMmEzZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTEwMjMsNyArMTAy
Myw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludDMySW50ZXJuYWwo
RWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5GCiAgICAgICAgICAgICAgICAgaW5mby5maWxs
SW50MzIoKm1fc3RyZWFtLCBncHIpOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IGdwcjsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGdwciwgcmVz
dWx0KTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29yZChncHIsIHJlc3VsdCk7
CiAgICAgICAgICAgICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CkBAIC01MDg3LDcgKzUwODcsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAgICAgRGF0YVZpZXdEYXRh
IGRhdGEgPSBub2RlLT5kYXRhVmlld0RhdGEoKTsKIAotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQo
aW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNpemUgPiAxKQogICAgICAgICAg
ICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNpemUgLSAxKSwgdDIpOwogICAg
ICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZGF0YVZpZXdHUFIsIEpT
QXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEpOwpAQCAtNTA5Nyw3ICs1MDk3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFWaWV3R1BSLCBKU0FycmF5QnVm
ZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAgICAgY2FnZVR5cGVkQXJyYXlT
dG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Q
dHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4
R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklUQ29tcGlsZXI6OkJhc2VJbmRl
eCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAKICAgICAgICAgaWYgKG5vZGUt
Pm9wKCkgPT0gRGF0YVZpZXdHZXRJbnQpIHsKQEAgLTUyODgsNyArNTI4OCw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGlzTGl0dGxlRW5k
aWFuT3BlcmFuZC5lbXBsYWNlKHRoaXMsIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMykpOwog
ICAgICAgICBHUFJSZWcgaXNMaXR0bGVFbmRpYW5HUFIgPSBpc0xpdHRsZUVuZGlhbk9wZXJhbmQg
PyBpc0xpdHRsZUVuZGlhbk9wZXJhbmQtPmdwcigpIDogSW52YWxpZEdQUlJlZzsKIAotICAgICAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56
ZXJvRXh0ZW5kMzJUb1dvcmQoaW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNp
emUgPiAxKQogICAgICAgICAgICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNp
emUgLSAxKSwgdDIpOwogICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoZGF0YVZpZXdHUFIsIEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEp
OwpAQCAtNTI5OCw3ICs1Mjk4LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFW
aWV3R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAg
ICAgY2FnZVR5cGVkQXJyYXlTdG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4
dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklU
Q29tcGlsZXI6OkJhc2VJbmRleCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAK
ICAgICAgICAgaWYgKGRhdGEuaXNGbG9hdGluZ1BvaW50KSB7CkBAIC01NDAwLDcgKzU0MDAsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAg
ICAgfTsKIAogICAgICAgICAgICAgICAgIGF1dG8gZW1pdEJpZ0VuZGlhbkNvZGUgPSBbJl0gewot
ICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cih2YWx1ZUdQUiwgdDMp
OworICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodmFsdWVHUFIs
IHQzKTsKICAgICAgICAgICAgICAgICAgICAgbV9qaXQuYnl0ZVN3YXAzMih0Myk7CiAgICAgICAg
ICAgICAgICAgICAgIG1faml0LnN0b3JlMzIodDMsIGJhc2VJbmRleCk7CiAgICAgICAgICAgICAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENv
bXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVy
LmNwcAppbmRleCAyNzBmZDRlYmY2NDk1NzkzYzRjM2YxMzFjMDAyMjJkMDAyNzA2MzMwLi41NzNk
OGRmMDRjODc3ZTYzZWRjOTVhNTBkYWQxOGQ1NmY2ZTBlYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiB7CiAgICAgc3dpdGNoIChmb3Jt
YXQpIHsKICAgICBjYXNlIERhdGFGb3JtYXRJbnQzMjogewotICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9QdHIodmFsdWUsIHZhbHVlKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2
YWx1ZSwgdmFsdWUpOwogICAgICAgICBqaXQub3I2NChHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3Rl
ciwgdmFsdWUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC03Myw3ICs3Myw3IEBAIHN0YXRp
YyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiAgICAgfQogCiAgICAgY2FzZSBEYXRhRm9y
bWF0Qm9vbGVhbjogewotICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIodmFsdWUsIHZhbHVl
KTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2YWx1ZSwgdmFsdWUpOwogICAgICAg
ICBqaXQub3IzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlZhbHVlRmFs
c2UpLCB2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCmluZGV4IDE5NGI3ZThlYmI1MTk5ZDM2MDRiMTFmNGRk
NDg4NzU5NjZmMDZlY2YuLjk3NzNlZDcxOTE5OGMyNmI4YTIwOTU3Zjk1MjQzOWJhZTE4ZDA4NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaApAQCAtMTQ4
MCw3ICsxNDgwLDcgQEAgcHVibGljOgogICAgICAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CiAgICAg
ICAgIAogICAgICAgICBpc0ludDMyLmxpbmsodGhpcyk7Ci0gICAgICAgIHplcm9FeHRlbmQzMlRv
UHRyKHNvdXJjZSwgdGFyZ2V0KTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKHNvdXJjZSwg
dGFyZ2V0KTsKICAgICAgICAgb3I2NChHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3RlciwgdGFyZ2V0
KTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluayh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyNjQuY3BwCmluZGV4IGZlMjFjMTYzYzZi
NWUxMGJiN2U0Y2JlM2JlNTVmOTFiNzQwMjk3MzYuLmJlODgwMTZiNmUxOTQ2NjkxYzY3NmVmZjMz
YjJiZTMxZGJmNDZhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2Fs
bEZyYW1lU2h1ZmZsZXI2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlcjY0LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIENhbGxGcmFtZVNodWZm
bGVyOjplbWl0Qm94KENhY2hlZFJlY292ZXJ5JiBjYWNoZWRSZWNvdmVyeSkKICAgICAgICAgY2Fz
ZSBEYXRhRm9ybWF0SW50MzI6CiAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAg
ICAgICBkYXRhTG9nKCIgICAqIEJveGluZyAiLCBjYWNoZWRSZWNvdmVyeS5yZWNvdmVyeSgpKTsK
LSAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKAorICAgICAgICAgICAgbV9qaXQu
emVyb0V4dGVuZDMyVG9Xb3JkKAogICAgICAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LnJlY292
ZXJ5KCkuZ3ByKCksCiAgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnkucmVjb3ZlcnkoKS5n
cHIoKSk7CiAgICAgICAgICAgICBtX2xvY2tlZFJlZ2lzdGVycy5zZXQoY2FjaGVkUmVjb3Zlcnku
cmVjb3ZlcnkoKS5ncHIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCA4ZDAzZDE1ZTIxNzQzMWZmNTNmNWI0NmQ0ZGFlZDJhZTkzNzJjODU4Li45NmNkZWFk
ODc4YWYxOGQ2MTAxMzI5MTFiOGVhNTI2YTEzNWMzMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE0MzYsNyArMTQzNiw3IEBAIHZvaWQgSklUOjplbWl0
X29wX2hhc19pbmRleGVkX3Byb3BlcnR5KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiAgICAgLy8gc2l6ZSBpcyBhbHdheXMgbGVzcyB0aGFuIDRHYikuIEFzIHN1Y2ggemVy
byBleHRlbmRpbmcgd2lsbCBoYXZlIGJlZW4gY29ycmVjdCAoYW5kIGV4dGVuZGluZyB0aGUgdmFs
dWUKICAgICAvLyB0byA2NC1iaXRzIGlzIG5lY2Vzc2FyeSBzaW5jZSBpdCdzIHVzZWQgaW4gdGhl
IGFkZHJlc3MgY2FsY3VsYXRpb24uIFdlIHplcm8gZXh0ZW5kIHJhdGhlciB0aGFuIHNpZ24KICAg
ICAvLyBleHRlbmRpbmcgc2luY2UgaXQgbWFrZXMgaXQgZWFzaWVyIHRvIHJlLXRhZyB0aGUgdmFs
dWUgaW4gdGhlIHNsb3cgY2FzZS4KLSAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUMSwgcmVnVDEp
OworICAgIHplcm9FeHRlbmQzMlRvV29yZChyZWdUMSwgcmVnVDEpOwogCiAgICAgZW1pdEp1bXBT
bG93Q2FzZUlmTm90SlNDZWxsKHJlZ1QwLCBiYXNlKTsKICAgICBlbWl0QXJyYXlQcm9maWxpbmdT
aXRlV2l0aENlbGwocmVnVDAsIHJlZ1QyLCBwcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCBlNmYyMzUxNTk3ODcxMGVlYmM1NjFh
Yzk4MDQ0MTk4ZmUxOWY3NDM3Li5jYTA4NmMxODU5MTgzMWU0ZDhkMDFlNzAxNmY0ODhiMzg2ZjA0
ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3Bw
CkBAIC0xMjE1LDcgKzEyMTUsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9w
ZXJ0eShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIC8vIHNpemUg
aXMgYWx3YXlzIGxlc3MgdGhhbiA0R2IpLiBBcyBzdWNoIHplcm8gZXh0ZW5kaW5nIHdpbGwgaGF2
ZSBiZWVuIGNvcnJlY3QgKGFuZCBleHRlbmRpbmcgdGhlIHZhbHVlCiAgICAgLy8gdG8gNjQtYml0
cyBpcyBuZWNlc3Nhcnkgc2luY2UgaXQncyB1c2VkIGluIHRoZSBhZGRyZXNzIGNhbGN1bGF0aW9u
LiBXZSB6ZXJvIGV4dGVuZCByYXRoZXIgdGhhbiBzaWduCiAgICAgLy8gZXh0ZW5kaW5nIHNpbmNl
IGl0IG1ha2VzIGl0IGVhc2llciB0byByZS10YWcgdGhlIHZhbHVlIGluIHRoZSBzbG93IGNhc2Uu
Ci0gICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICB6ZXJvRXh0ZW5kMzJU
b1dvcmQocmVnVDEsIHJlZ1QxKTsKIAogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2Vs
bChyZWdUMCwgcmVnVDIsIHByb2ZpbGUpOwogICAgIGFuZDMyKFRydXN0ZWRJbW0zMihJbmRleGlu
Z1NoYXBlTWFzayksIHJlZ1QyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggODY4YTFkMTA1OTA5ZDAxNGU1ODc2NDM3ZDMyNmEzZDI0
OWRkYTM4YS4uN2UwOTQ0MjA5MjI1NmM4ZWFmNTc4ZGE3YjRlMTk1MjRjMDFlZDljYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTEy
NCw3ICsxMjQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgICAgIG5vdEluZGV4ID0gZW1pdFBhdGNoYWJs
ZUp1bXBJZk5vdEludChyZWdUMSk7CiAgICAgICAgIGFkZFNsb3dDYXNlKG5vdEluZGV4KTsKICAg
ICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gb3BfZ2V0X2J5X3ZhbC4KLSAgICAgICAgemVyb0V4dGVu
ZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKHJlZ1Qx
LCByZWdUMSk7CiAgICAgfQogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2VsbChyZWdU
MCwgcmVnVDIsIHByb2ZpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pTSW50ZXJmYWNlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJm
YWNlSklULmgKaW5kZXggODAxNTJkYTkxNjc2NTQyZjdhOTU2Njg4MDkyNTAyZGJmOGVkMWU3Mi4u
N2NhMWI0ZTdjM2ZkMDg0ZGQyN2FjMzg1MDZhYTljNmFlZDk1ZGViMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaApAQCAtMTExLDcgKzExMSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHsKICAgICAgICAgbG9hZDY0KGFkZHJlc3NGb3IodmlydHVhbFJlZ2lz
dGVyKSwgZHN0KTsKICAgICAgICAgSnVtcCBub3RJbnQzMiA9IGJyYW5jaElmTm90SW50MzIoZHN0
KTsKLSAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIoZHN0LCBkc3QpOworICAgICAgICB6ZXJvRXh0
ZW5kMzJUb1dvcmQoZHN0LCBkc3QpOwogICAgICAgICByZXR1cm4gbm90SW50MzI7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAKaW5kZXggNzViZmE5
NDIzM2MyZDk1OTk2ODk3YTEwYmUzMGQzZGEzODkwNzU1ZS4uNDkwZmQ2MmNhZjUwZGRmNmQ2MTVj
OTYxMGUzYWQ5YzUwYzYzOGE1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNUb1dhc20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
VG9XYXNtLmNwcApAQCAtNDksNyArNDksNyBAQCBpbmxpbmUgdm9pZCBib3hXYXNtUmVzdWx0KEND
YWxsSGVscGVycyYgaml0LCBXYXNtOjpUeXBlIHR5cGUsIFJlZyBzcmMsIEpTVmFsdWVSZQogICAg
ICAgICBqaXQubW92ZShzcmMuZ3ByKCksIGRzdC5wYXlsb2FkR1BSKCkpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFdhc206OkkzMjoKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNy
Yy5ncHIoKSwgZHN0LnBheWxvYWRHUFIoKSk7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dv
cmQoc3JjLmdwcigpLCBkc3QucGF5bG9hZEdQUigpKTsKICAgICAgICAgaml0LmJveEludDMyKGRz
dC5wYXlsb2FkR1BSKCksIGRzdCwgRG9Ob3RIYXZlVGFnUmVnaXN0ZXJzKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBXYXNtOjpGMzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
YXNtVG9KUy5jcHAKaW5kZXggMDNhYmFlOTBjZmJkNjNlZjU2YzA1MDJiYmNjNjM3NWZmMjZjZGQ1
NC4uMDg1NDMzNjFjM2M3MTI4MTE5NzVhMzE1YWUwN2Y5MWI1NjU3ZmIwMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIEV4
cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5nRmFp
bHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICsrbWFyc2hhbGxlZEdQUnM7CiAgICAgICAgICAgICAgICAgaWYgKGFyZ1R5cGUgPT0gSTMyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihncHJSZWcsIGdwclJl
Zyk7IC8vIENsZWFyIG5vbi1pbnQzMiBhbmQgbm9uLXRhZyBiaXRzLgorICAgICAgICAgICAgICAg
ICAgICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGdwclJlZywgZ3ByUmVnKTsgLy8gQ2xlYXIgbm9u
LWludDMyIGFuZCBub24tdGFnIGJpdHMuCiAgICAgICAgICAgICAgICAgICAgIGppdC5ib3hJbnQz
MihncHJSZWcsIEpTVmFsdWVSZWdzKGdwclJlZyksIERvTm90SGF2ZVRhZ1JlZ2lzdGVycyk7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGppdC5zdG9yZTY0KGdwclJlZywgY2Fs
bGVlRnJhbWUud2l0aE9mZnNldChjYWxsZWVGcmFtZU9mZnNldCkpOwpAQCAtMjk0LDcgKzI5NCw3
IEBAIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5k
aW5nRmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAKICAgICAgICAgICAgIHNsb3dQYXRoLmFwcGVu
ZChqaXQuYnJhbmNoSWZOb3ROdW1iZXIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIERvTm90SGF2
ZVRhZ1JlZ2lzdGVycykpOwogICAgICAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hJ
Zk5vdEludDMyKEpTVmFsdWVSZWdzKEdQUkluZm86OnJldHVyblZhbHVlR1BSKSwgRG9Ob3RIYXZl
VGFnUmVnaXN0ZXJzKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIoR1BSSW5m
bzo6cmV0dXJuVmFsdWVHUFIsIGRlc3QpOworICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRv
V29yZChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgZGVzdCk7CiAgICAgICAgICAgICBkb25lLmFw
cGVuZChqaXQuanVtcCgpKTsKIAogICAgICAgICAgICAgc2xvd1BhdGgubGluaygmaml0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rp
b24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlv
bi5jcHAKaW5kZXggYjFkZDNhNmY1NDBlOTljOTg1M2U1MGE5YzMwNGNmODc4MGMxMWYwYS4uYzk2
M2I0Y2Y0ZDMxMDlhYjMzZWYzODUzMDUyZjk1MTNlMjMwZmI5NCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKQEAgLTI2
Miw3ICsyNjIsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gV2ViQXNz
ZW1ibHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2ludFNsb3coKQogICAgICAgICAgICAgaWYgKGlz
U3RhY2spCiAgICAgICAgICAgICAgICAgaml0LnN0b3JlMzIoc2NyYXRjaEdQUiwgY2FsbGVlRnJh
bWUud2l0aE9mZnNldCh3YXNtQ2FsbEluZm8ucGFyYW1zW2ldLm9mZnNldEZyb21TUCgpKSk7CiAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNj
cmF0Y2hHUFIsIHdhc21DYWxsSW5mby5wYXJhbXNbaV0uZ3ByKCkpOworICAgICAgICAgICAgICAg
IGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2NyYXRjaEdQUiwgd2FzbUNhbGxJbmZvLnBhcmFtc1tp
XS5ncHIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFdh
c206OkZ1bmNyZWY6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXgg
NjRkYWNmMjI0MjQxNzhhYWZjYTBiZDgyY2UyNWI5YzQxNWQ4MDEwZS4uZDI5NzE3OGUyMGE2OWY0
NDg5YTM5NWE2ZTY2OTEwODVjZDY3ODBkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFy
ckpJVC5jcHAKQEAgLTM3MzcsOCArMzczNyw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwg
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAg
ICAgcHVzaChYODZSZWdpc3RlcnM6OnIxNSk7CiAgICAgICAgIH0KICAgICAgICAgLy8gVGhlIEFC
SSBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBhcmUgemVybyBvbiB1bnNpZ25lZCBh
cmd1bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgotICAgICAgICB6ZXJvRXh0ZW5kMzJU
b1B0cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGgsIGxl
bmd0aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChpbmRleCwgaW5kZXgpOworICAgICAg
ICB6ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgpOwogI2lmIE9TKFdJTkRPV1MpCiAg
ICAgICAgIGlmIChjb21waWxlTW9kZSA9PSBJbmNsdWRlU3VicGF0dGVybnMpCiAgICAgICAgICAg
ICBsb2FkUHRyKEFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplYnAsIDYgKiBzaXplb2Yodm9pZCopKSwg
b3V0cHV0KTsKQEAgLTM3NTUsOCArMzc1NSw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwg
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICB9
CiAKICAgICAgICAgLy8gVGhlIEFCSSBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBh
cmUgemVybyBvbiB1bnNpZ25lZCBhcmd1bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgot
ICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0
ZW5kMzJUb1B0cihsZW5ndGgsIGxlbmd0aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChp
bmRleCwgaW5kZXgpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgp
OwogI2VsaWYgQ1BVKEFSTV9USFVNQjIpCiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7
CiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBjZDYyMzNkODViNzA3MGMxMDU4N2M3
NzI2YTdhZDc1NWI0MmEyZjVmLi4wYWFjZWM3MDE0ODQxMDUzYjJmODJmYWEzODUxNzUyYjQ1ZmVi
MWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKQEAgLTExOTksMyArMTE5OSwxMSBAQCAkKFBST0pFQ1RfRElSKS94bWwvWFBhdGhSZXN1bHQu
aWRsCiAkKFBST0pFQ1RfRElSKS94bWwvWFNMVFByb2Nlc3Nvci5pZGwKICQoUFJPSkVDVF9ESVIp
L3htbC94bWxhdHRycy5pbgogJChQUk9KRUNUX0RJUikveG1sL3htbG5zYXR0cnMuaW4KKy9Wb2x1
bWVzL1hjb2RlMTFFMTQ2X20xOEEzOTEwMTFfbTE5RjkzX2kxN0Y3Nl90MTdMNTYyX3cxN1Q2MDhf
YjE3UDUyODhfRmFzdFNpbV9Cb29zdF80OEdCL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gxMC4xNS5JbnRl
cm5hbC5zZGsvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uLmlkbAorL1ZvbHVtZXMvWGNvZGUxMUUxNDZfbTE4QTM5MTAxMV9t
MTlGOTNfaTE3Rjc2X3QxN0w1NjJfdzE3VDYwOF9iMTdQNTI4OF9GYXN0U2ltX0Jvb3N0XzQ4R0Iv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWDEwLjE1LkludGVybmFsLnNkay91c3IvbG9jYWwvaW5jbHVkZS9X
ZWJLaXRBZGRpdGlvbnMvQXBwbGVQYXlQYXltZW50QWRkaXRpb25zLmlkbAorL1ZvbHVtZXMvWGNv
ZGUxMUUxNDZfbTE4QTM5MTAxMV9tMTlGOTNfaTE3Rjc2X3QxN0w1NjJfdzE3VDYwOF9iMTdQNTI4
OF9GYXN0U2ltX0Jvb3N0XzQ4R0IvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9y
bXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWDEwLjE1LkludGVybmFsLnNk
ay91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMvQXBwbGVQYXlQYXltZW50TWV0aG9k
QWRkaXRpb25zLmlkbAorL1ZvbHVtZXMvWGNvZGUxMUUxNDZfbTE4QTM5MTAxMV9tMTlGOTNfaTE3
Rjc2X3QxN0w1NjJfdzE3VDYwOF9iMTdQNTI4OF9GYXN0U2ltX0Jvb3N0XzQ4R0IvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWDEwLjE1LkludGVybmFsLnNkay91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRp
dGlvbnMvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlQWRkaXRpb25zLmlkbAorL1ZvbHVtZXMv
WGNvZGUxMUUxNDZfbTE4QTM5MTAxMV9tMTlGOTNfaTE3Rjc2X3QxN0w1NjJfdzE3VDYwOF9iMTdQ
NTI4OF9GYXN0U2ltX0Jvb3N0XzQ4R0IvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWDEwLjE1LkludGVybmFs
LnNkay91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMvQXBwbGVQYXlSZXF1ZXN0QmFz
ZUFkZGl0aW9ucy5pZGwKKy9Wb2x1bWVzL1hjb2RlMTFFMTQ2X20xOEEzOTEwMTFfbTE5RjkzX2kx
N0Y3Nl90MTdMNTYyX3cxN1Q2MDhfYjE3UDUyODhfRmFzdFNpbV9Cb29zdF80OEdCL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1gxMC4xNS5JbnRlcm5hbC5zZGsvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRk
aXRpb25zL0FwcGxlUGF5U2V0dXAuaWRsCisvVm9sdW1lcy9YY29kZTExRTE0Nl9tMThBMzkxMDEx
X20xOUY5M19pMTdGNzZfdDE3TDU2Ml93MTdUNjA4X2IxN1A1Mjg4X0Zhc3RTaW1fQm9vc3RfNDhH
Qi9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYMTAuMTUuSW50ZXJuYWwuc2RrL3Vzci9sb2NhbC9pbmNsdWRl
L1dlYktpdEFkZGl0aW9ucy9BcHBsZVBheVNldHVwRmVhdHVyZS5pZGwKKy9Wb2x1bWVzL1hjb2Rl
MTFFMTQ2X20xOEEzOTEwMTFfbTE5RjkzX2kxN0Y3Nl90MTdMNTYyX3cxN1Q2MDhfYjE3UDUyODhf
RmFzdFNpbV9Cb29zdF80OEdCL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gxMC4xNS5JbnRlcm5hbC5zZGsv
dXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlw
ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggNWRmYTI4YTZiMzQ2ZWFiMTg1NTM1YTA1ZmU4Yjk0MTg1YWFhN2ExZS4uM2ZkNjZk
ZWRhMTYwMGZlM2E3N2RhZTUxODZiOTcwMDU1ODdiMjcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTEsNCArMSw4IEBACiAjIFRo
aXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgdGhlIGdlbmVyYXRlLXhjZmlsZWxpc3RzIHNjcmlwdC4K
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0FwcGxlUGF5UGF5
bWVudEFkZGl0aW9ucy5pZGwKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZEFkZGl0aW9ucy5pZGwKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZUFkZGl0aW9ucy5pZGwKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0FwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnMuaWRsCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJv
cGVydHlOYW1lcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0NTU1Byb3BlcnR5TmFtZXMuaApAQCAtOTEsNiArOTUsOCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TW9kaWZpZXIuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TW9kaWZp
ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVBheW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0FwcGxlUGF5UGF5bWVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudEFkZGl0aW9ucy5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50QWRkaXRp
b25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBw
bGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJl
c3VsdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5jcHAKQEAgLTk5LDEyICsxMDUsMTYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1l
bnRDb250YWN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVBheW1lbnRDb250YWN0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRo
b2QuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVBheW1lbnRNZXRob2RBZGRpdGlvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZEFkZGl0aW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5
bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBh
eW1lbnRNZXRob2RUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVBZGRpdGlvbnMuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZUFkZGl0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFBhc3MuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFBhc3Mu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVBheW1lbnRSZXF1ZXN0LmNwcApAQCAtMTEzLDYgKzEyMyw4IEBAICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlSZXF1ZXN0LmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVJlcXVlc3Qu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVJlcXVlc3RCYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBcHBsZVBheVJlcXVlc3RCYXNlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9ucy5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlSZXF1
ZXN0QmFzZUFkZGl0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5U2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTZXNzaW9uLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTZXNzaW9uRXJyb3IuY3BwCkBA
IC0yMjgwLDYgKzIyOTIsMTAgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Vc2VyQWdlbnRTdHlsZVNoZWV0cy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XSExTTFN0YW5kYXJkTGlicmFyeS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XSExTTFN0YW5k
YXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uLmlkbAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXAuaWRsCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1cmUuaWRsCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXR1cEZlYXR1cmVUeXBlLmlkbAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV2ViQ29yZUpTQnVp
bHRpbnMuY3BwCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403330</attachid>
            <date>2020-07-01 16:16:13 -0700</date>
            <delta_ts>2020-07-01 16:50:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213866-20200701161612.patch</filename>
            <type>text/plain</type>
            <size>34861</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OTE5OWMxMTY1MWRkN2YyMDBmMGU3NGMxMTY1NGNjNmIwNjc0YzIzLi41OTQzZjc2NmFmODA1NTk2
MDczNmIxNGNjZWU0NzVhNDdlYzJlM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAyMC0wNy0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW5hbWUgemVyb0V4dGVuZDMyVG9QdHIgdG8gemVyb0V4dGVuZDMy
VG9Xb3JkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgb2xkIG5hbWUgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIG5vdyB0aGF0IHdlIGhhdmUgY29uZmln
dXJhdGlvbnMKKyAgICAgICAgd2hlcmUgc2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoQ1BVUmVnaXN0
ZXIpLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaDoKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6emVyb0V4dGVuZDMyVG9Xb3Jk
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6YnJhbmNoTXVsMzIpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0Ojp6ZXJvRXh0ZW5kMzJUb1B0cik6IERlbGV0
ZWQuCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6emVyb0V4dGVuZDMyVG9QdHIpOiBEZWxldGVkLgor
ICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJNSVBTOjp6ZXJvRXh0ZW5kMzJUb1dvcmQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlck1JUFM6Onplcm9FeHRlbmQzMlRvUHRyKTogRGVsZXRlZC4KKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJYODZDb21tb246OmFkZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmFuZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246Om11bDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om9yMzIp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6eG9yMzIpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6emVyb0V4dGVuZDMyVG9Xb3JkKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEFkZDMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Onplcm9FeHRlbmQzMlRvUHRyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9haXIvQWlyT3Bjb2RlLm9wY29kZXM6CisgICAgICAgICogYnl0
ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRl
V2l0aEd1YXJkKToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6T1NSRXhpdDo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTdHJp
bmdTbGljZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1
ZVRvSW50MzIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVUlu
dDMyVG9OdW1iZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzZXRJbnRU
eXBlZEFycmF5TG9hZFJlc3VsdCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVDcmVhdGVSZXN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUFycmF5U2xpY2UpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlQXJyYXlJbmRleE9mKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZU5ld1R5cGVkQXJyYXlXaXRoU2l6ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmVtaXRBbGxvY2F0ZUJ1dHRlcmZseSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6ZW1pdEluaXRpYWxpemVCdXR0ZXJmbHkpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Zmls
bFNwZWN1bGF0ZUludDMySW50ZXJuYWwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpyZWJveEFjY29yZGluZ1RvRm9ybWF0KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVy
OjplbWl0Qm94KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVE9w
Y29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9w
cm9wZXJ0eSk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV92YWwpOgorICAgICAgICAqIGppdC9KU0ludGVyZmFj
ZUpJVC5oOgorICAgICAgICAoSlNDOjpKU0ludGVyZmFjZUpJVDo6ZW1pdExvYWRJbnQzMik6Cisg
ICAgICAgICogd2FzbS9qcy9KU1RvV2FzbS5jcHA6CisgICAgICAgIChKU0M6Oldhc206OmJveFdh
c21SZXN1bHQpOgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlND
OjpXYXNtOjp3YXNtVG9KUyk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9u
LmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2lu
dFNsb3cpOgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisKIDIwMjAtMDctMDEgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0IHRvIGNvcHkgb3Zl
ciB0ZXN0YXBpLmpzIGlzIHJlZHVuZGFudCBpbiB4Y29kZWJ1aWxkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCmluZGV4IDUz
YTA5OWNlMTY0OGYxOTI3NDQyM2IxNmRiNzJlMDU4YzQ1ZTEyNDkuLjQ1YjRiM2I0Njk2ODU1MmQ3
ZGFjOTc4OGFmZjZjZjBiNDNkYjI2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCkBAIC0xODk5LDcgKzE4OTksNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICAvLyBUcnVuY2F0ZSB0byBhIDY0LWJpdCBpbnRlZ2Vy
IGluIGRhdGFUZW1wUmVnaXN0ZXIsIGNvcHkgdGhlIGxvdyAzMi1iaXQgdG8gZGVzdC4KICAgICAg
ICAgbV9hc3NlbWJsZXIuZmN2dHpzPDY0LCA2ND4oZ2V0Q2FjaGVkRGF0YVRlbXBSZWdpc3RlcklE
QW5kSW52YWxpZGF0ZSgpLCBzcmMpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihkYXRhVGVt
cFJlZ2lzdGVyLCBkZXN0KTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKGRhdGFUZW1wUmVn
aXN0ZXIsIGRlc3QpOwogICAgICAgICAvLyBDaGVjayB0aGUgbG93IDMyLWJpdHMgc2lnbiBleHRl
bmQgdG8gYmUgZXF1YWwgdG8gdGhlIGZ1bGwgdmFsdWUuCiAgICAgICAgIG1fYXNzZW1ibGVyLmNt
cDw2ND4oZGF0YVRlbXBSZWdpc3RlciwgZGF0YVRlbXBSZWdpc3RlciwgQXNzZW1ibGVyOjpTWFRX
LCAwKTsKICAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChicmFuY2hUeXBlID09IEJyYW5j
aElmVHJ1bmNhdGVTdWNjZXNzZnVsID8gRXF1YWwgOiBOb3RFcXVhbCkpOwpAQCAtMjUxNSw3ICsy
NTE1LDcgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5zeHR3KGRlc3QsIHNyYyk7CiAg
ICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJUb1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci51eHR3KGRlc3QsIHNy
Yyk7CiAgICAgfQpAQCAtMzE5NSw3ICszMTk1LDcgQEAgcHVibGljOgogICAgICAgICAvLyBTcGxh
dCBiaXQgMzEgb2YgdGhlIHJlc3VsdCB0byBiaXRzIDMxLi4wIG9mIHNjcmF0Y2gyLgogICAgICAg
ICBtX2Fzc2VtYmxlci5hc3I8MzI+KHNjcmF0Y2gyLCBkZXN0LCAzMSk7CiAgICAgICAgIC8vIEFm
dGVyIGEgbXVsMzIgdGhlIHRvcCAzMiBiaXRzIG9mIHRoZSByZWdpc3RlciBzaG91bGQgYmUgY2xl
YXIuCi0gICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKGRlc3QsIGRlc3QpOworICAgICAgICB6ZXJv
RXh0ZW5kMzJUb1dvcmQoZGVzdCwgZGVzdCk7CiAgICAgICAgIC8vIENoZWNrIHRoYXQgYml0cyAz
MS4uNjMgb2YgdGhlIG9yaWdpbmFsIHJlc3VsdCB3ZXJlIGFsbCBlcXVhbC4KICAgICAgICAgcmV0
dXJuIGJyYW5jaDMyKE5vdEVxdWFsLCBzY3JhdGNoMiwgc2NyYXRjaDEpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3
LmgKaW5kZXggNzA0MDM2YzE3NWQwMDAwOTg1ZTc4ZjViMzc5MTU3MDEwOWI2MGVhMC4uMzA4YzEx
NzdmNjJmNzBjNWZjNmRjN2ZiN2Y3ZGI5OTFkMGJkNWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTE0MjUs
NyArMTQyNSw3IEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAot
ICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKKyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCmlu
ZGV4IDJkY2Y3MmJhYzUxZjc2Y2JhOTkzNzBhM2U4N2UwNGQ2NjdlOWQwYTAuLmU5MTljZmJmMjI0
YjdjOGVhNmYwZWJkYWIwYmRjMWYyNWI5YzYxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaApAQCAtMTY5Miw3ICsxNjky
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgaWYgKHNyYyAhPSBkZXN0IHx8IG1fZml4ZWRXaWR0aCkKICAg
ICAgICAgICAgIG1vdmUoc3JjLCBkZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCA4OWIwODdh
ZGRhNjRkZWNjYjRiZGJjYWVjYWFlZjMxNWEzODFiZTIyLi4yOGZhZTJlNzJmMjU2NTdlNjEzMzA1
ZjIwMDNkZmNiZWE1ZWVjYTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCkBAIC0yMDgsNyArMjA4LDcg
QEAgcHVibGljOgogICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmICghaW1tLm1fdmFsdWUpIHsK
LSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKHNyYywgZGVzdCk7CisgICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1dvcmQoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC0zMzMsNyArMzMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgYW5kMzIoUmVnaXN0
ZXJJRCBvcDEsIFJlZ2lzdGVySUQgb3AyLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBpZiAob3AxID09IG9wMikKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9wMSwgZGVz
dCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AxLCBkZXN0KTsKICAgICAgICAg
ZWxzZSBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAgICBhbmQzMihvcDIsIGRlc3QpOwogICAg
ICAgICBlbHNlIHsKQEAgLTM1MCw3ICszNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2Fk
MzIob3AxLCBkZXN0KTsKICAgICAgICAgICAgIGFuZDMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAg
ICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBhbmQzMihv
cDEsIGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtNDk0LDcgKzQ5NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIGxvYWQzMihvcDEsIGRlc3QpOwogICAgICAgICAgICAgbXVsMzIob3AyLCBk
ZXN0KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHplcm9FeHRlbmQzMlRvUHRyKG9w
MiwgZGVzdCk7CisgICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsKICAg
ICAgICAgICAgIG11bDMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC02NjksNyAr
NjY5LDcgQEAgcHVibGljOgogICAgIHZvaWQgb3IzMihSZWdpc3RlcklEIG9wMSwgUmVnaXN0ZXJJ
RCBvcDIsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChvcDEgPT0gb3AyKQot
ICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIob3AxLCBkZXN0KTsKKyAgICAgICAgICAgIHpl
cm9FeHRlbmQzMlRvV29yZChvcDEsIGRlc3QpOwogICAgICAgICBlbHNlIGlmIChvcDEgPT0gZGVz
dCkKICAgICAgICAgICAgIG9yMzIob3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7CkBAIC02ODYs
NyArNjg2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAg
ICAgICAgICBvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB6
ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAgICAgemVyb0V4dGVuZDMyVG9X
b3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBvcjMyKG9wMSwgZGVzdCk7CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xMDI5LDcgKzEwMjksNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsb2FkMzIo
b3AxLCBkZXN0KTsKICAgICAgICAgICAgIHhvcjMyKG9wMiwgZGVzdCk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihvcDIsIGRlc3QpOworICAgICAgICAg
ICAgemVyb0V4dGVuZDMyVG9Xb3JkKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICB4b3IzMihvcDEs
IGRlc3QpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjI4NywxMiArMjI4NywxMiBAQCBwdWJsaWM6
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnN4ZF9ycihzcmMsIGRlc3QpOwogICAgIH0KIAotICAg
IHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
KyAgICB2b2lkIHplcm9FeHRlbmQzMlRvV29yZChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9ycihzcmMsIGRlc3QpOwogICAg
IH0KIAotICAgIHZvaWQgemVyb0V4dGVuZDMyVG9QdHIoVHJ1c3RlZEltbTMyIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVuZDMyVG9Xb3JkKFRydXN0ZWRJbW0zMiBzcmMs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfaTMycihz
cmMubV92YWx1ZSwgZGVzdCk7CiAgICAgfQpAQCAtMjM3NSw3ICsyMzc1LDcgQEAgcHVibGljOgog
ICAgICAgICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQogCi0gICAgdm9pZCB6ZXJvRXh0ZW5kMzJU
b1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHZvaWQgemVyb0V4dGVu
ZDMyVG9Xb3JkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBtb3ZlKHNyYywgZGVzdCk7CiAgICAgfQpAQCAtMjgyMiw3ICsyODIyLDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgbG9hZDMyKG9wMSwgZGVzdCk7CiAgICAgICAgICAgICByZXR1cm4gYnJhbmNo
QWRkMzIoY29uZCwgb3AyLCBkZXN0KTsKICAgICAgICAgfQotICAgICAgICB6ZXJvRXh0ZW5kMzJU
b1B0cihvcDIsIGRlc3QpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQob3AyLCBkZXN0KTsK
ICAgICAgICAgcmV0dXJuIGJyYW5jaEFkZDMyKGNvbmQsIG9wMSwgZGVzdCk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJPcGNvZGUub3Bjb2RlcwppbmRleCA5
MDFjNTY0OTRiZTI0ZTRlY2RlNTYzM2U3OGJiZGNlOTk0NDVhZGZmLi43MjVjNjgwNzljNWQwMTZm
YzgwNWEwNGUwY2E0YTE1YjNiYmExYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyT3Bjb2RlLm9wY29kZXMKQEAgLTY0MiwxMiArNjQyLDEyIEBAIHg4Nl82NDogU3dh
cDY0IFVEOkc6NjQsIFVEOkc6NjQKICAgICBUbXAsIEFkZHIKIAogTW92ZTMyIFU6RzozMiwgWkQ6
RzozMgotICAgIFRtcCwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgVG1wLCBUbXAgYXMg
emVyb0V4dGVuZDMyVG9Xb3JkCiAgICAgQWRkciwgVG1wIGFzIGxvYWQzMgogICAgIEluZGV4LCBU
bXAgYXMgbG9hZDMyCiAgICAgVG1wLCBBZGRyIGFzIHN0b3JlMzIKICAgICBUbXAsIEluZGV4IGFz
IHN0b3JlMzIKLSAgICB4ODY6IEltbSwgVG1wIGFzIHplcm9FeHRlbmQzMlRvUHRyCisgICAgeDg2
OiBJbW0sIFRtcCBhcyB6ZXJvRXh0ZW5kMzJUb1dvcmQKICAgICB4ODY6IEltbSwgQWRkciBhcyBz
dG9yZTMyCiAgICAgeDg2OiBJbW0sIEluZGV4IGFzIHN0b3JlMzIKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCmluZGV4IDRhM2JiNWE4NjIwNzgxMGI3
ZjgwOWM4YjljMWY3YTEzNmUwYjU1NzguLmQyOWJmMmQ5N2ZiYjEzNTc2YjIxN2M4YzNmYWQ2YzVm
ZWQ3YWVlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAKQEAgLTkzNyw3ICs5MzcsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1
YXJkKAogCiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BS
LCBTY29wZWRBcmd1bWVudHM6Om9mZnNldE9mU2NvcGUoKSksIHNjcmF0Y2gyR1BSKTsKICAgICAg
ICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIFNjb3BlZEFy
Z3VtZW50c1RhYmxlOjpvZmZzZXRPZkFyZ3VtZW50cygpKSwgc2NyYXRjaEdQUik7Ci0gICAgICAg
IGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2NyYXRjaDNHUFIpOworICAgICAg
ICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoM0dQUik7CiAgICAg
ICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRjaEdQUiwgc2NyYXRj
aDNHUFIsIENDYWxsSGVscGVyczo6VGltZXNGb3VyKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIGZh
aWxBbmRJZ25vcmUuYXBwZW5kKGppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTY29wZU9mZnNldDo6aW52YWxpZE9m
ZnNldCkpKTsKICAgICAgICAgaml0LmxvYWRWYWx1ZShDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChz
Y3JhdGNoMkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc0VpZ2h0LCBKU0xleGlj
YWxFbnZpcm9ubWVudDo6b2Zmc2V0T2ZWYXJpYWJsZXMoKSksIHZhbHVlUmVncyk7CkBAIC05ODIs
NyArOTgyLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAg
aml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgRGlyZWN0QXJndW1lbnRz
OjpvZmZzZXRPZkxlbmd0aCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRS
ZXBhdGNoLmFwcGVuZChqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHBy
b3BlcnR5R1BSLCBzY3JhdGNoR1BSKSk7CiAgICAgICAgIHN0YXRlLmZhaWxBbmRSZXBhdGNoLmFw
cGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBEaXJlY3RBcmd1bWVudHM6Om9mZnNldE9mTWFwcGVkQXJndW1l
bnRzKCkpKSk7Ci0gICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihwcm9wZXJ0eUdQUiwgc2Ny
YXRjaEdQUik7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJvcGVydHlHUFIsIHNj
cmF0Y2hHUFIpOwogICAgICAgICBqaXQubG9hZFZhbHVlKENDYWxsSGVscGVyczo6QmFzZUluZGV4
KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgRGlyZWN0QXJn
dW1lbnRzOjpzdG9yYWdlT2Zmc2V0KCkpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNj
ZWVkKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTExMTMsMTEgKzExMTMsMTEgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgaml0LmxvYWQzMihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaDJHUFIsIFN0cmluZ0ltcGw6OmZsYWdzT2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0
Y2gyR1BSLCBTdHJpbmdJbXBsOjpkYXRhT2Zmc2V0KCkpLCBzY3JhdGNoMkdQUik7CiAgICAgICAg
IGF1dG8gaXMxNkJpdCA9IGppdC5icmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBzY3Jh
dGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihTdHJpbmdJbXBsOjpmbGFnSXM4Qml0
KCkpKTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5R1BSLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0eUdQUiwgc2NyYXRj
aEdQUik7CiAgICAgICAgIGppdC5sb2FkOChDQ2FsbEhlbHBlcnM6OkJhc2VJbmRleChzY3JhdGNo
MkdQUiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUaW1lc09uZSwgMCksIHNjcmF0Y2gyR1BS
KTsKICAgICAgICAgYXV0byBpczhCaXRMb2FkRG9uZSA9IGppdC5qdW1wKCk7CiAgICAgICAgIGlz
MTZCaXQubGluaygmaml0KTsKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHByb3BlcnR5
R1BSLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZChwcm9wZXJ0
eUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIGppdC5sb2FkMTYoQ0NhbGxIZWxwZXJzOjpCYXNl
SW5kZXgoc2NyYXRjaDJHUFIsIHNjcmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VGltZXNUd28sIDAp
LCBzY3JhdGNoMkdQUik7CiAgICAgICAgIGlzOEJpdExvYWREb25lLmxpbmsoJmppdCk7CiAKQEAg
LTExNzcsNyArMTE3Nyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAg
ICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNP
YmplY3Q6OmJ1dHRlcmZseU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgICAgICBpc091
dE9mQm91bmRzID0gaml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6QWJvdmVPckVxdWFsLCBwcm9w
ZXJ0eUdQUiwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEFycmF5U3RvcmFnZTo6
dmVjdG9yTGVuZ3RoT2Zmc2V0KCkpKTsKIAotICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRv
UHRyKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CisgICAgICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9Xb3JkKHByb3BlcnR5R1BSLCBzY3JhdGNoMkdQUik7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICAgICAgICAgIGppdC5sb2FkVmFsdWUoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoc2NyYXRj
aEdQUiwgc2NyYXRjaDJHUFIsIENDYWxsSGVscGVyczo6VGltZXNFaWdodCwgQXJyYXlTdG9yYWdl
Ojp2ZWN0b3JPZmZzZXQoKSksIEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIpKTsKICAgICAgICAgICAg
IGlzRW1wdHkgPSBqaXQuYnJhbmNoSWZFbXB0eShzY3JhdGNoR1BSKTsKQEAgLTEyMTEsNyArMTIx
MSw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAKICAgICAgICAgICAg
IGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0
dGVyZmx5T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgIGlzT3V0T2ZCb3VuZHMg
PSBqaXQuYnJhbmNoMzIoQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIHByb3BlcnR5R1BSLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgQnV0dGVyZmx5OjpvZmZzZXRPZlB1Ymxp
Y0xlbmd0aCgpKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIocHJvcGVydHlH
UFIsIHNjcmF0Y2gyR1BSKTsKKyAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQocHJv
cGVydHlHUFIsIHNjcmF0Y2gyR1BSKTsKICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gSW5kZXhl
ZERvdWJsZUxvYWQpIHsKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGF0ZS5zY3Jh
dGNoRlBSICE9IEludmFsaWRGUFJSZWcpOwogICAgICAgICAgICAgICAgIGppdC5sb2FkRG91Ymxl
KENDYWxsSGVscGVyczo6QmFzZUluZGV4KHNjcmF0Y2hHUFIsIHNjcmF0Y2gyR1BSLCBDQ2FsbEhl
bHBlcnM6OlRpbWVzRWlnaHQpLCBzdGF0ZS5zY3JhdGNoRlBSKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IDMwYWZjMjFhNWM5MTUwMzk0MTU5MTdkNzlmMDM0
Y2YzZWRhMTYwYmIuLjY4NGFiYTQ4ZDE3ZjQxOWIzMzhhMzMzMGIxN2JlMTkzMDNmMzI1MjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcApAQCAtNzM0LDcgKzczNCw3
IEBAIHZvaWQgT1NSRXhpdDo6Y29tcGlsZUV4aXQoQ0NhbGxIZWxwZXJzJiBqaXQsIFZNJiB2bSwg
Y29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZElu
SlNTdGFjazoKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgaml0LmxvYWQ2NChzY3Jh
dGNoICsgaW5kZXgsIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5k
MzJUb1B0cihHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgaml0
Lnplcm9FeHRlbmQzMlRvV29yZChHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDApOwogICAg
ICAgICAgICAgaml0Lm9yNjQoR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsIEdQUkluZm86OnJl
Z1QwKTsKICAgICAgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBBc3NlbWJseUhl
bHBlcnM6OmFkZHJlc3NGb3Iob3BlcmFuZCkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggN2FkNmE2Y2UwMzI2NjdlZmJk
MmExZWU2MmUxOWVkMmEyYzk4YTg5My4uZmM0MTFlMzYzY2EyYmYyNjg4ODY5ZTBhMWQ0NDIxYjU0
Y2NhM2JlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKQEAgLTE3MTAsNyArMTcxMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVTdHJpbmdTbGljZShOb2RlKiBub2RlKQogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3ModGVtcDJHUFIsIFN0cmluZ0ltcGw6OmRhdGFPZmZzZXQoKSksIHRlbXBHUFIp
OwogCiAgICAgLy8gTG9hZCB0aGUgY2hhcmFjdGVyIGludG8gc2NyYXRjaFJlZwotICAgIG1faml0
Lnplcm9FeHRlbmQzMlRvUHRyKHN0YXJ0SW5kZXhHUFIsIHN0YXJ0SW5kZXhHUFIpOworICAgIG1f
aml0Lnplcm9FeHRlbmQzMlRvV29yZChzdGFydEluZGV4R1BSLCBzdGFydEluZGV4R1BSKTsKICAg
ICBhdXRvIGlzMTZCaXQgPSBtX2ppdC5icmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8s
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAyR1BSLCBTdHJpbmdJbXBsOjpmbGFnc09mZnNl
dCgpKSwgVHJ1c3RlZEltbTMyKFN0cmluZ0ltcGw6OmZsYWdJczhCaXQoKSkpOwogCiAgICAgbV9q
aXQubG9hZDgoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleCh0ZW1wR1BSLCBzdGFydEluZGV4R1BS
LCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNPbmUsIDApLCB0ZW1wR1BSKTsKQEAgLTI1MTgsNyArMjUx
OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIoTm9kZSogbm9k
ZSkKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgb3AxKTsKICAgICAg
ICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9
IHJlc3VsdC5ncHIoKTsKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxR1BSLCBy
ZXN1bHRHUFIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCByZXN1
bHRHUFIpOwogICAgICAgICBzdHJpY3RJbnQzMlJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIERhdGFG
b3JtYXRJbnQzMik7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNjAzLDcgKzI2MDMsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVUb0ludDMyKE5vZGUqIG5vZGUpCiAg
ICAgICAgICAgICBjb252ZXJ0ZWQuYXBwZW5kKG1faml0Lmp1bXAoKSk7CiAKICAgICAgICAgICAg
IGlzSW50ZWdlci5saW5rKCZtX2ppdCk7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJU
b1B0cihncHIsIHJlc3VsdEdwcik7CisgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dv
cmQoZ3ByLCByZXN1bHRHcHIpOwogCiAgICAgICAgICAgICBjb252ZXJ0ZWQubGluaygmbV9qaXQp
OwogI2Vsc2UKQEAgLTI2OTAsNyArMjY5MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVVSW50MzJUb051bWJlcihOb2RlKiBub2RlKQogICAgICAgICBpZiAoZW5hYmxlSW50NTIoKSkg
ewogICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGls
ZDEoKSk7CiAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIFJldXNlLCBvcDEp
OwotICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIob3AxLmdwcigpLCByZXN1bHQu
Z3ByKCkpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKG9wMS5ncHIoKSwg
cmVzdWx0LmdwcigpKTsKICAgICAgICAgICAgIHN0cmljdEludDUyUmVzdWx0KHJlc3VsdC5ncHIo
KSwgbm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTMxMTAsNyArMzEx
MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNldEludFR5cGVkQXJyYXlMb2FkUmVzdWx0KE5v
ZGUqIG5vZGUsIEdQUlJlZyByZXN1bHRSZWcsIFR5CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBp
ZiAobm9kZS0+c2hvdWxkU3BlY3VsYXRlSW50NTIoKSkgewogICAgICAgICBBU1NFUlQoZW5hYmxl
SW50NTIoKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKHJlc3VsdFJlZywgcmVz
dWx0UmVnKTsKICAgICAgICAgc3RyaWN0SW50NTJSZXN1bHQocmVzdWx0UmVnLCBub2RlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU1NjAsNyArNTU2MCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aERpdihOb2RlKiBub2RlKQogICAgICAgICAgICAgbm90WmVyby5s
aW5rKCZtX2ppdCk7CiAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBub3ROZWcyVG9UaGUz
MSA9CiAgICAgICAgICAgICAgICAgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFs
LCBvcDFHUFIsIFRydXN0ZWRJbW0zMigtMjE0NzQ4MzY0Ny0xKSk7Ci0gICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1B0cihvcDFHUFIsIGVheC5ncHIoKSk7CisgICAgICAgICAgICBtX2pp
dC56ZXJvRXh0ZW5kMzJUb1dvcmQob3AxR1BSLCBlYXguZ3ByKCkpOwogICAgICAgICAgICAgZG9u
ZS5hcHBlbmQobV9qaXQuanVtcCgpKTsKICAgICAgICAgCiAgICAgICAgICAgICBub3ROZWcyVG9U
aGUzMS5saW5rKCZtX2ppdCk7CkBAIC04Mjg1LDcgKzgyODUsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQ3JlYXRlUmVzdChOb2RlKiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGFycmF5UmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVy
Zmx5T2Zmc2V0KCkpLCBidXR0ZXJmbHlHUFIpOwogCiAgICAgICAgIENDYWxsSGVscGVyczo6SnVt
cCBza2lwTG9vcCA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgYXJyYXlM
ZW5ndGhHUFIsIFRydXN0ZWRJbW0zMigwKSk7Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRv
UHRyKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKKyAgICAgICAgbV9qaXQuemVy
b0V4dGVuZDMyVG9Xb3JkKGFycmF5TGVuZ3RoR1BSLCBjdXJyZW50TGVuZ3RoR1BSKTsKICAgICAg
ICAgbV9qaXQuYWRkUHRyKEltbTMyKHNpemVvZihSZWdpc3RlcikgKiBub2RlLT5udW1iZXJPZkFy
Z3VtZW50c1RvU2tpcCgpKSwgYXJndW1lbnRzU3RhcnRHUFIpOwogCiAgICAgICAgIGF1dG8gbG9v
cCA9IG1faml0LmxhYmVsKCk7CkBAIC04OTU1LDggKzg5NTUsOCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQXJyYXlTbGljZShOb2RlKiBub2RlKQogICAgIEdQUlJlZyByZXN1bHRCdXR0
ZXJmbHkgPSB0ZW1wMi5ncHIoKTsKIAogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3MocmVzdWx0R1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkpLCByZXN1bHRC
dXR0ZXJmbHkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHRlbXBHUFIsIHRlbXBHUFIp
OwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodGVtcEdQUiwgdGVtcEdQUik7CisgICAgbV9qaXQu
emVyb0V4dGVuZDMyVG9Xb3JkKGxvYWRJbmRleCwgbG9hZEluZGV4KTsKICAgICBhdXRvIGRvbmUg
PSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkFib3ZlT3JFcXVhbCwgbG9hZEluZGV4
LCB0ZW1wR1BSKTsKIAogICAgIGF1dG8gbG9vcCA9IG1faml0LmxhYmVsKCk7CkBAIC05MDEzLDgg
KzkwMTMsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJyYXlJbmRleE9mKE5vZGUq
IG5vZGUpCiAgICAgICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMo
KTsKICNlbmRpZgogCi0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGhH
UFIsIGxlbmd0aEdQUik7Ci0gICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRl
eEdQUiwgaW5kZXhHUFIpOworICAgICAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxl
bmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29y
ZChpbmRleEdQUiwgaW5kZXhHUFIpOwogCiAgICAgICAgICAgICBhdXRvIGxvb3AgPSBtX2ppdC5s
YWJlbCgpOwogICAgICAgICAgICAgYXV0byBub3RGb3VuZCA9IG1faml0LmJyYW5jaDMyKENDYWxs
SGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIpOwpAQCAtOTEyMSw4ICs5MTIxLDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFycmF5SW5kZXhPZihOb2RlKiBub2RlKQog
ICAgICAgICBtX2ppdC5jbGVhclJlZ2lzdGVyQWxsb2NhdGlvbk9mZnNldHMoKTsKICNlbmRpZgog
Ci0gICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsK
LSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIGluZGV4R1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGxlbmd0aEdQUiwgbGVuZ3RoR1BSKTsKKyAg
ICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCBpbmRleEdQUik7CiAKICAg
ICAgICAgYXV0byBsb29wID0gbV9qaXQubGFiZWwoKTsKICAgICAgICAgYXV0byBub3RGb3VuZCA9
IG1faml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6RXF1YWwsIGluZGV4R1BSLCBsZW5ndGhHUFIp
OwpAQCAtMTA0MzQsNyArMTA0MzQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3
VHlwZWRBcnJheVdpdGhTaXplKE5vZGUqIG5vZGUpCiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAj
aWYgQ1BVKEFSTTY0RSkKICAgICAvLyBzaXplR1BSIGlzIHN0aWxsIGJveGVkIGFzIGEgbnVtYmVy
IGFuZCB0aGVyZSBpcyBubyAzMi1iaXQgdmFyaWFudCBvZiB0aGUgUEFDIGluc3RydWN0aW9ucy4K
LSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAgICBt
X2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgbV9qaXQu
dGFnQXJyYXlQdHIoc2NyYXRjaEdQUiwgc3RvcmFnZUdQUik7CiAjZW5kaWYKIApAQCAtMTI0NzEs
NyArMTI0NzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0QWxsb2NhdGVCdXR0ZXJmbHko
R1BSUmVnIHN0b3JhZ2VSZXN1bHRHUFIsIEdQUlJlZyBzaXplRwogewogICAgIFJFTEVBU0VfQVNT
RVJUKFJlZ2lzdGVyU2V0KHN0b3JhZ2VSZXN1bHRHUFIsIHNpemVHUFIsIHNjcmF0Y2gxLCBzY3Jh
dGNoMiwgc2NyYXRjaDMpLm51bWJlck9mU2V0R1BScygpID09IDUpOwogICAgIEFTU0VSVCgoMSA8
PCAzKSA9PSBzaXplb2YoSlNWYWx1ZSkpOwotICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHNp
emVHUFIsIHNjcmF0Y2gxKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwg
c2NyYXRjaDEpOwogICAgIG1faml0LmxzaGlmdDMyKFRydXN0ZWRJbW0zMigzKSwgc2NyYXRjaDEp
OwogICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMihzaXplb2YoSW5kZXhpbmdIZWFkZXIpKSwg
c2NyYXRjaDEsIHNjcmF0Y2gyKTsKICNpZiBBU1NFUlRfRU5BQkxFRApAQCAtMTM3ODcsMTMgKzEz
Nzg3LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KE5vZGUqIG5v
ZGUpCiAgICAgbV9qaXQuYW5kMzIobWFza0dQUiwgaW5kZXhHUFIpOwogICAgIGlmIChub2RlLT5j
aGlsZDEoKS51c2VLaW5kKCkgPT0gV2Vha1NldE9iamVjdFVzZSkgewogICAgICAgICBzdGF0aWNf
YXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5PikgPT0gc2l6
ZW9mKHZvaWQqKSwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQ
UiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4R1BS
LCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJsZXI6Oklt
bTMyKHNpemVvZih2b2lkKikgPT0gNCA/IDIgOiAzKSwgYnVja2V0R1BSKTsKICAgICAgICAgbV9q
aXQuYWRkUHRyKGJ1ZmZlckdQUiwgYnVja2V0R1BSKTsKICAgICB9IGVsc2UgewogICAgICAgICBB
U1NFUlQobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFdlYWtNYXBPYmplY3RVc2UpOwogICAg
ICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRh
S2V5VmFsdWU+KSA9PSAxNiwgIiIpOwotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihp
bmRleEdQUiwgYnVja2V0R1BSKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGlu
ZGV4R1BSLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkltbTMyKDQpLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5hZGRQdHIoYnVmZmVyR1BS
LCBidWNrZXRHUFIpOwogICAgIH0KQEAgLTE0MDM2LDcgKzE0MDM2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU1pc2NTdHJpY3RFcShOb2RlKiBub2RlKQogCiB2b2lkIFNwZWN1bGF0
aXZlSklUOjplbWl0SW5pdGlhbGl6ZUJ1dHRlcmZseShHUFJSZWcgc3RvcmFnZUdQUiwgR1BSUmVn
IHNpemVHUFIsIEpTVmFsdWVSZWdzIGVtcHR5VmFsdWVSZWdzLCBHUFJSZWcgc2NyYXRjaEdQUikK
IHsKLSAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzaXplR1BSLCBzY3JhdGNoR1BSKTsKKyAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgZG9uZSA9IG1faml0LmJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxl
cjo6WmVybywgc2NyYXRjaEdQUik7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AgPSBt
X2ppdC5sYWJlbCgpOwogICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQ
Uik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAppbmRleCA0YmZlOGUxMTk2MDIxNTVhZDQxNWQ4YmFjZDU5NzdlYjYyNTMxNmNiLi5mMjIy
ZDc2N2MxNDAwZWMzMmMzZmE0OGRmNDc0MjI2ZWUxMmEzZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTEwMjMsNyArMTAy
Myw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUludDMySW50ZXJuYWwo
RWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5GCiAgICAgICAgICAgICAgICAgaW5mby5maWxs
SW50MzIoKm1fc3RyZWFtLCBncHIpOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IGdwcjsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGdwciwgcmVz
dWx0KTsKKyAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvV29yZChncHIsIHJlc3VsdCk7
CiAgICAgICAgICAgICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CkBAIC01MDg3LDcgKzUwODcsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAgICAgRGF0YVZpZXdEYXRh
IGRhdGEgPSBub2RlLT5kYXRhVmlld0RhdGEoKTsKIAotICAgICAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQo
aW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNpemUgPiAxKQogICAgICAgICAg
ICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNpemUgLSAxKSwgdDIpOwogICAg
ICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZGF0YVZpZXdHUFIsIEpT
QXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEpOwpAQCAtNTA5Nyw3ICs1MDk3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFWaWV3R1BSLCBKU0FycmF5QnVm
ZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAgICAgY2FnZVR5cGVkQXJyYXlT
dG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Q
dHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGluZGV4
R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklUQ29tcGlsZXI6OkJhc2VJbmRl
eCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAKICAgICAgICAgaWYgKG5vZGUt
Pm9wKCkgPT0gRGF0YVZpZXdHZXRJbnQpIHsKQEAgLTUyODgsNyArNTI4OCw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGlzTGl0dGxlRW5k
aWFuT3BlcmFuZC5lbXBsYWNlKHRoaXMsIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMykpOwog
ICAgICAgICBHUFJSZWcgaXNMaXR0bGVFbmRpYW5HUFIgPSBpc0xpdHRsZUVuZGlhbk9wZXJhbmQg
PyBpc0xpdHRsZUVuZGlhbk9wZXJhbmQtPmdwcigpIDogSW52YWxpZEdQUlJlZzsKIAotICAgICAg
ICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihpbmRleEdQUiwgdDIpOworICAgICAgICBtX2ppdC56
ZXJvRXh0ZW5kMzJUb1dvcmQoaW5kZXhHUFIsIHQyKTsKICAgICAgICAgaWYgKGRhdGEuYnl0ZVNp
emUgPiAxKQogICAgICAgICAgICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKGRhdGEuYnl0ZVNp
emUgLSAxKSwgdDIpOwogICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoZGF0YVZpZXdHUFIsIEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZkxlbmd0aCgpKSwgdDEp
OwpAQCAtNTI5OCw3ICs1Mjk4LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGRhdGFW
aWV3R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHQyKTsKICAgICAg
ICAgY2FnZVR5cGVkQXJyYXlTdG9yYWdlKGRhdGFWaWV3R1BSLCB0Mik7CiAKLSAgICAgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoaW5kZXhHUFIsIHQxKTsKKyAgICAgICAgbV9qaXQuemVyb0V4
dGVuZDMyVG9Xb3JkKGluZGV4R1BSLCB0MSk7CiAgICAgICAgIGF1dG8gYmFzZUluZGV4ID0gSklU
Q29tcGlsZXI6OkJhc2VJbmRleCh0MiwgdDEsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc09uZSk7CiAK
ICAgICAgICAgaWYgKGRhdGEuaXNGbG9hdGluZ1BvaW50KSB7CkBAIC01NDAwLDcgKzU0MDAsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAg
ICAgfTsKIAogICAgICAgICAgICAgICAgIGF1dG8gZW1pdEJpZ0VuZGlhbkNvZGUgPSBbJl0gewot
ICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cih2YWx1ZUdQUiwgdDMp
OworICAgICAgICAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1dvcmQodmFsdWVHUFIs
IHQzKTsKICAgICAgICAgICAgICAgICAgICAgbV9qaXQuYnl0ZVN3YXAzMih0Myk7CiAgICAgICAg
ICAgICAgICAgICAgIG1faml0LnN0b3JlMzIodDMsIGJhc2VJbmRleCk7CiAgICAgICAgICAgICAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENv
bXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVy
LmNwcAppbmRleCAyNzBmZDRlYmY2NDk1NzkzYzRjM2YxMzFjMDAyMjJkMDAyNzA2MzMwLi41NzNk
OGRmMDRjODc3ZTYzZWRjOTVhNTBkYWQxOGQ1NmY2ZTBlYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiB7CiAgICAgc3dpdGNoIChmb3Jt
YXQpIHsKICAgICBjYXNlIERhdGFGb3JtYXRJbnQzMjogewotICAgICAgICBqaXQuemVyb0V4dGVu
ZDMyVG9QdHIodmFsdWUsIHZhbHVlKTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2
YWx1ZSwgdmFsdWUpOwogICAgICAgICBqaXQub3I2NChHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3Rl
ciwgdmFsdWUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC03Myw3ICs3Myw3IEBAIHN0YXRp
YyB2b2lkIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiAgICAgfQogCiAgICAgY2FzZSBEYXRhRm9y
bWF0Qm9vbGVhbjogewotICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIodmFsdWUsIHZhbHVl
KTsKKyAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvV29yZCh2YWx1ZSwgdmFsdWUpOwogICAgICAg
ICBqaXQub3IzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlZhbHVlRmFs
c2UpLCB2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCmluZGV4IDE5NGI3ZThlYmI1MTk5ZDM2MDRiMTFmNGRk
NDg4NzU5NjZmMDZlY2YuLjk3NzNlZDcxOTE5OGMyNmI4YTIwOTU3Zjk1MjQzOWJhZTE4ZDA4NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaApAQCAtMTQ4
MCw3ICsxNDgwLDcgQEAgcHVibGljOgogICAgICAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CiAgICAg
ICAgIAogICAgICAgICBpc0ludDMyLmxpbmsodGhpcyk7Ci0gICAgICAgIHplcm9FeHRlbmQzMlRv
UHRyKHNvdXJjZSwgdGFyZ2V0KTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKHNvdXJjZSwg
dGFyZ2V0KTsKICAgICAgICAgb3I2NChHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3RlciwgdGFyZ2V0
KTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluayh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXI2NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyNjQuY3BwCmluZGV4IGZlMjFjMTYzYzZi
NWUxMGJiN2U0Y2JlM2JlNTVmOTFiNzQwMjk3MzYuLmJlODgwMTZiNmUxOTQ2NjkxYzY3NmVmZjMz
YjJiZTMxZGJmNDZhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2Fs
bEZyYW1lU2h1ZmZsZXI2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlcjY0LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIENhbGxGcmFtZVNodWZm
bGVyOjplbWl0Qm94KENhY2hlZFJlY292ZXJ5JiBjYWNoZWRSZWNvdmVyeSkKICAgICAgICAgY2Fz
ZSBEYXRhRm9ybWF0SW50MzI6CiAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAg
ICAgICBkYXRhTG9nKCIgICAqIEJveGluZyAiLCBjYWNoZWRSZWNvdmVyeS5yZWNvdmVyeSgpKTsK
LSAgICAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKAorICAgICAgICAgICAgbV9qaXQu
emVyb0V4dGVuZDMyVG9Xb3JkKAogICAgICAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LnJlY292
ZXJ5KCkuZ3ByKCksCiAgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnkucmVjb3ZlcnkoKS5n
cHIoKSk7CiAgICAgICAgICAgICBtX2xvY2tlZFJlZ2lzdGVycy5zZXQoY2FjaGVkUmVjb3Zlcnku
cmVjb3ZlcnkoKS5ncHIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCA4ZDAzZDE1ZTIxNzQzMWZmNTNmNWI0NmQ0ZGFlZDJhZTkzNzJjODU4Li45NmNkZWFk
ODc4YWYxOGQ2MTAxMzI5MTFiOGVhNTI2YTEzNWMzMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE0MzYsNyArMTQzNiw3IEBAIHZvaWQgSklUOjplbWl0
X29wX2hhc19pbmRleGVkX3Byb3BlcnR5KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiAgICAgLy8gc2l6ZSBpcyBhbHdheXMgbGVzcyB0aGFuIDRHYikuIEFzIHN1Y2ggemVy
byBleHRlbmRpbmcgd2lsbCBoYXZlIGJlZW4gY29ycmVjdCAoYW5kIGV4dGVuZGluZyB0aGUgdmFs
dWUKICAgICAvLyB0byA2NC1iaXRzIGlzIG5lY2Vzc2FyeSBzaW5jZSBpdCdzIHVzZWQgaW4gdGhl
IGFkZHJlc3MgY2FsY3VsYXRpb24uIFdlIHplcm8gZXh0ZW5kIHJhdGhlciB0aGFuIHNpZ24KICAg
ICAvLyBleHRlbmRpbmcgc2luY2UgaXQgbWFrZXMgaXQgZWFzaWVyIHRvIHJlLXRhZyB0aGUgdmFs
dWUgaW4gdGhlIHNsb3cgY2FzZS4KLSAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUMSwgcmVnVDEp
OworICAgIHplcm9FeHRlbmQzMlRvV29yZChyZWdUMSwgcmVnVDEpOwogCiAgICAgZW1pdEp1bXBT
bG93Q2FzZUlmTm90SlNDZWxsKHJlZ1QwLCBiYXNlKTsKICAgICBlbWl0QXJyYXlQcm9maWxpbmdT
aXRlV2l0aENlbGwocmVnVDAsIHJlZ1QyLCBwcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCBlNmYyMzUxNTk3ODcxMGVlYmM1NjFh
Yzk4MDQ0MTk4ZmUxOWY3NDM3Li5jYTA4NmMxODU5MTgzMWU0ZDhkMDFlNzAxNmY0ODhiMzg2ZjA0
ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3Bw
CkBAIC0xMjE1LDcgKzEyMTUsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9oYXNfaW5kZXhlZF9wcm9w
ZXJ0eShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIC8vIHNpemUg
aXMgYWx3YXlzIGxlc3MgdGhhbiA0R2IpLiBBcyBzdWNoIHplcm8gZXh0ZW5kaW5nIHdpbGwgaGF2
ZSBiZWVuIGNvcnJlY3QgKGFuZCBleHRlbmRpbmcgdGhlIHZhbHVlCiAgICAgLy8gdG8gNjQtYml0
cyBpcyBuZWNlc3Nhcnkgc2luY2UgaXQncyB1c2VkIGluIHRoZSBhZGRyZXNzIGNhbGN1bGF0aW9u
LiBXZSB6ZXJvIGV4dGVuZCByYXRoZXIgdGhhbiBzaWduCiAgICAgLy8gZXh0ZW5kaW5nIHNpbmNl
IGl0IG1ha2VzIGl0IGVhc2llciB0byByZS10YWcgdGhlIHZhbHVlIGluIHRoZSBzbG93IGNhc2Uu
Ci0gICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICB6ZXJvRXh0ZW5kMzJU
b1dvcmQocmVnVDEsIHJlZ1QxKTsKIAogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2Vs
bChyZWdUMCwgcmVnVDIsIHByb2ZpbGUpOwogICAgIGFuZDMyKFRydXN0ZWRJbW0zMihJbmRleGlu
Z1NoYXBlTWFzayksIHJlZ1QyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggODY4YTFkMTA1OTA5ZDAxNGU1ODc2NDM3ZDMyNmEzZDI0
OWRkYTM4YS4uN2UwOTQ0MjA5MjI1NmM4ZWFmNTc4ZGE3YjRlMTk1MjRjMDFlZDljYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTEy
NCw3ICsxMjQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgICAgIG5vdEluZGV4ID0gZW1pdFBhdGNoYWJs
ZUp1bXBJZk5vdEludChyZWdUMSk7CiAgICAgICAgIGFkZFNsb3dDYXNlKG5vdEluZGV4KTsKICAg
ICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gb3BfZ2V0X2J5X3ZhbC4KLSAgICAgICAgemVyb0V4dGVu
ZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICAgICAgemVyb0V4dGVuZDMyVG9Xb3JkKHJlZ1Qx
LCByZWdUMSk7CiAgICAgfQogICAgIGVtaXRBcnJheVByb2ZpbGluZ1NpdGVXaXRoQ2VsbChyZWdU
MCwgcmVnVDIsIHByb2ZpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pTSW50ZXJmYWNlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJm
YWNlSklULmgKaW5kZXggODAxNTJkYTkxNjc2NTQyZjdhOTU2Njg4MDkyNTAyZGJmOGVkMWU3Mi4u
N2NhMWI0ZTdjM2ZkMDg0ZGQyN2FjMzg1MDZhYTljNmFlZDk1ZGViMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaApAQCAtMTExLDcgKzExMSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHsKICAgICAgICAgbG9hZDY0KGFkZHJlc3NGb3IodmlydHVhbFJlZ2lz
dGVyKSwgZHN0KTsKICAgICAgICAgSnVtcCBub3RJbnQzMiA9IGJyYW5jaElmTm90SW50MzIoZHN0
KTsKLSAgICAgICAgemVyb0V4dGVuZDMyVG9QdHIoZHN0LCBkc3QpOworICAgICAgICB6ZXJvRXh0
ZW5kMzJUb1dvcmQoZHN0LCBkc3QpOwogICAgICAgICByZXR1cm4gbm90SW50MzI7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1RvV2FzbS5jcHAKaW5kZXggNzViZmE5
NDIzM2MyZDk1OTk2ODk3YTEwYmUzMGQzZGEzODkwNzU1ZS4uNDkwZmQ2MmNhZjUwZGRmNmQ2MTVj
OTYxMGUzYWQ5YzUwYzYzOGE1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNUb1dhc20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
VG9XYXNtLmNwcApAQCAtNDksNyArNDksNyBAQCBpbmxpbmUgdm9pZCBib3hXYXNtUmVzdWx0KEND
YWxsSGVscGVycyYgaml0LCBXYXNtOjpUeXBlIHR5cGUsIFJlZyBzcmMsIEpTVmFsdWVSZQogICAg
ICAgICBqaXQubW92ZShzcmMuZ3ByKCksIGRzdC5wYXlsb2FkR1BSKCkpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFdhc206OkkzMjoKLSAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNy
Yy5ncHIoKSwgZHN0LnBheWxvYWRHUFIoKSk7CisgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1dv
cmQoc3JjLmdwcigpLCBkc3QucGF5bG9hZEdQUigpKTsKICAgICAgICAgaml0LmJveEludDMyKGRz
dC5wYXlsb2FkR1BSKCksIGRzdCwgRG9Ob3RIYXZlVGFnUmVnaXN0ZXJzKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBXYXNtOjpGMzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
YXNtVG9KUy5jcHAKaW5kZXggMDNhYmFlOTBjZmJkNjNlZjU2YzA1MDJiYmNjNjM3NWZmMjZjZGQ1
NC4uMDg1NDMzNjFjM2M3MTI4MTE5NzVhMzE1YWUwN2Y5MWI1NjU3ZmIwMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIEV4
cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5nRmFp
bHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICsrbWFyc2hhbGxlZEdQUnM7CiAgICAgICAgICAgICAgICAgaWYgKGFyZ1R5cGUgPT0gSTMyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGppdC56ZXJvRXh0ZW5kMzJUb1B0cihncHJSZWcsIGdwclJl
Zyk7IC8vIENsZWFyIG5vbi1pbnQzMiBhbmQgbm9uLXRhZyBiaXRzLgorICAgICAgICAgICAgICAg
ICAgICBqaXQuemVyb0V4dGVuZDMyVG9Xb3JkKGdwclJlZywgZ3ByUmVnKTsgLy8gQ2xlYXIgbm9u
LWludDMyIGFuZCBub24tdGFnIGJpdHMuCiAgICAgICAgICAgICAgICAgICAgIGppdC5ib3hJbnQz
MihncHJSZWcsIEpTVmFsdWVSZWdzKGdwclJlZyksIERvTm90SGF2ZVRhZ1JlZ2lzdGVycyk7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGppdC5zdG9yZTY0KGdwclJlZywgY2Fs
bGVlRnJhbWUud2l0aE9mZnNldChjYWxsZWVGcmFtZU9mZnNldCkpOwpAQCAtMjk0LDcgKzI5NCw3
IEBAIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5k
aW5nRmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAKICAgICAgICAgICAgIHNsb3dQYXRoLmFwcGVu
ZChqaXQuYnJhbmNoSWZOb3ROdW1iZXIoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIERvTm90SGF2
ZVRhZ1JlZ2lzdGVycykpOwogICAgICAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hJ
Zk5vdEludDMyKEpTVmFsdWVSZWdzKEdQUkluZm86OnJldHVyblZhbHVlR1BSKSwgRG9Ob3RIYXZl
VGFnUmVnaXN0ZXJzKSk7Ci0gICAgICAgICAgICBqaXQuemVyb0V4dGVuZDMyVG9QdHIoR1BSSW5m
bzo6cmV0dXJuVmFsdWVHUFIsIGRlc3QpOworICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRv
V29yZChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgZGVzdCk7CiAgICAgICAgICAgICBkb25lLmFw
cGVuZChqaXQuanVtcCgpKTsKIAogICAgICAgICAgICAgc2xvd1BhdGgubGluaygmaml0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rp
b24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlv
bi5jcHAKaW5kZXggYjFkZDNhNmY1NDBlOTljOTg1M2U1MGE5YzMwNGNmODc4MGMxMWYwYS4uYzk2
M2I0Y2Y0ZDMxMDlhYjMzZWYzODUzMDUyZjk1MTNlMjMwZmI5NCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKQEAgLTI2
Miw3ICsyNjIsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gV2ViQXNz
ZW1ibHlGdW5jdGlvbjo6anNDYWxsRW50cnlwb2ludFNsb3coKQogICAgICAgICAgICAgaWYgKGlz
U3RhY2spCiAgICAgICAgICAgICAgICAgaml0LnN0b3JlMzIoc2NyYXRjaEdQUiwgY2FsbGVlRnJh
bWUud2l0aE9mZnNldCh3YXNtQ2FsbEluZm8ucGFyYW1zW2ldLm9mZnNldEZyb21TUCgpKSk7CiAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaml0Lnplcm9FeHRlbmQzMlRvUHRyKHNj
cmF0Y2hHUFIsIHdhc21DYWxsSW5mby5wYXJhbXNbaV0uZ3ByKCkpOworICAgICAgICAgICAgICAg
IGppdC56ZXJvRXh0ZW5kMzJUb1dvcmQoc2NyYXRjaEdQUiwgd2FzbUNhbGxJbmZvLnBhcmFtc1tp
XS5ncHIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFdh
c206OkZ1bmNyZWY6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXgg
NjRkYWNmMjI0MjQxNzhhYWZjYTBiZDgyY2UyNWI5YzQxNWQ4MDEwZS4uZDI5NzE3OGUyMGE2OWY0
NDg5YTM5NWE2ZTY2OTEwODVjZDY3ODBkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFy
ckpJVC5jcHAKQEAgLTM3MzcsOCArMzczNyw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwg
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAg
ICAgcHVzaChYODZSZWdpc3RlcnM6OnIxNSk7CiAgICAgICAgIH0KICAgICAgICAgLy8gVGhlIEFC
SSBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBhcmUgemVybyBvbiB1bnNpZ25lZCBh
cmd1bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgotICAgICAgICB6ZXJvRXh0ZW5kMzJU
b1B0cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihsZW5ndGgsIGxl
bmd0aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChpbmRleCwgaW5kZXgpOworICAgICAg
ICB6ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgpOwogI2lmIE9TKFdJTkRPV1MpCiAg
ICAgICAgIGlmIChjb21waWxlTW9kZSA9PSBJbmNsdWRlU3VicGF0dGVybnMpCiAgICAgICAgICAg
ICBsb2FkUHRyKEFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplYnAsIDYgKiBzaXplb2Yodm9pZCopKSwg
b3V0cHV0KTsKQEAgLTM3NTUsOCArMzc1NSw4IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgZmluYWwg
OiBwdWJsaWMgWWFyckpJVEluZm8sIHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICB9
CiAKICAgICAgICAgLy8gVGhlIEFCSSBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgdXBwZXIgYml0cyBh
cmUgemVybyBvbiB1bnNpZ25lZCBhcmd1bWVudHMsIHNvIGNsZWFyIHRoZW0gb3Vyc2VsdmVzLgot
ICAgICAgICB6ZXJvRXh0ZW5kMzJUb1B0cihpbmRleCwgaW5kZXgpOwotICAgICAgICB6ZXJvRXh0
ZW5kMzJUb1B0cihsZW5ndGgsIGxlbmd0aCk7CisgICAgICAgIHplcm9FeHRlbmQzMlRvV29yZChp
bmRleCwgaW5kZXgpOworICAgICAgICB6ZXJvRXh0ZW5kMzJUb1dvcmQobGVuZ3RoLCBsZW5ndGgp
OwogI2VsaWYgQ1BVKEFSTV9USFVNQjIpCiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7
CiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>