<?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>213423</bug_id>
          
          <creation_ts>2020-06-19 19:14:21 -0700</creation_ts>
          <short_desc>[Apple Pay] WebPaymentCoordinatorProxy can be destroyed without dismissing its authorization presenter</short_desc>
          <delta_ts>2020-06-23 15:48:00 -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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1664681</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-19 19:14:21 -0700</bug_when>
    <thetext>[Apple Pay] hiWebPaymentCoordinatorProxy can be destroyed without dismissing its authorization presenter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664682</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-19 19:16:29 -0700</bug_when>
    <thetext>rdar://problem/60416221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664743</commentid>
    <comment_count>2</comment_count>
      <attachid>402385</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-20 10:26:44 -0700</bug_when>
    <thetext>Created attachment 402385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664749</commentid>
    <comment_count>3</comment_count>
      <attachid>402389</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-20 10:44:55 -0700</bug_when>
    <thetext>Created attachment 402389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664752</commentid>
    <comment_count>4</comment_count>
      <attachid>402392</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-20 10:55:04 -0700</bug_when>
    <thetext>Created attachment 402392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665361</commentid>
    <comment_count>5</comment_count>
      <attachid>402392</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-23 06:32:33 -0700</bug_when>
    <thetext>Comment on attachment 402392
Patch

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

&gt; Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:318
&gt; +        send(Messages::WebPaymentCoordinator::DidCancelPaymentSession(WTFMove(error)));

No need for WTFMove, DidCancelPaymentSession is probably taking a const&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665564</commentid>
    <comment_count>6</comment_count>
      <attachid>402597</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-23 15:24:46 -0700</bug_when>
    <thetext>Created attachment 402597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665572</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-23 15:47:59 -0700</bug_when>
    <thetext>Committed r263426: &lt;https://trac.webkit.org/changeset/263426&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402597.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402385</attachid>
            <date>2020-06-20 10:26:44 -0700</date>
            <delta_ts>2020-06-20 10:44:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213423-20200620102643.patch</filename>
            <type>text/plain</type>
            <size>24013</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4MTMyNDhmMWNjMGZiNjFh
NThkZGE4MTc1YTExZDY2ZmIyMDZjZDYuLjBmZWEzODFmZjVmY2JkNzQzYjZlMDM0OTVkMzU4NmY0
OTMwMzIwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDIwLTA2LTE5ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eSBjYW4gYmUgZGVzdHJveWVkIHdpdGhvdXQgZGlzbWlzc2luZyBpdHMg
YXV0aG9yaXphdGlvbiBwcmVzZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMzQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA0MTYyMjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBh
IHdlYnNpdGUgY29tcGxldGVzIGEgcGF5bWVudCBzZXNzaW9uLCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSB3b3VsZCBzZXQgaXRzIG1fc3RhdGUKKyAgICAgICAgdG8gSWRsZSBieSBjYWxsaW5n
IGRpZFJlYWNoRmluYWxTdGF0ZSwgYnV0IHdvdWxkIHdhaXQgdG8gY2FsbCBoaWRlUGF5bWVudFVJ
IHVudGlsIHRoZQorICAgICAgICBwYXltZW50IGF1dGhvcml6YXRpb24gcHJlc2VudGVyIGNhbGxz
IGl0cyBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suIFRoaXMgYWxsb3dzIHRoZQorICAgICAg
ICBwcmVzZW50ZXIgdG8gZGlzcGxheSBhIGZpbmFsIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYmVmb3Jl
IGRpc21pc3NpbmcuIEFzIGEgY2F0Y2gtYWxsLAorICAgICAgICB+V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkgd291bGQgY2FsbCBoaWRlUGF5bWVudFVJLCBidXQgb25seSBpZiBtX3N0YXRlIHdh
c24ndCBJZGxlLiBJZiBhCisgICAgICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHdhcyBk
ZXN0cm95ZWQgYWZ0ZXIgYSB3ZWJzaXRlIGNvbXBsZXRlZCBhIHBheW1lbnQgc2Vzc2lvbiBidXQK
KyAgICAgICAgYmVmb3JlIHRoZSBwcmVzZW50ZXIgY2FsbGVkIHByZXNlbnRlckRpZEZpbmlzaCwg
aGlkZVBheW1lbnRVSSB3b3VsZCBuZXZlciBiZSBjYWxsZWQuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRyZXNzZXMgdGhpcyBieSBzaW1wbGlmeWluZyB0aGUgbG9naWMgZm9yIGNvbXBsZXRpbmcg
b3IgY2FuY2VsaW5nIGEgcGF5bWVudAorICAgICAgICBzZXNzaW9uLiBJdCdzIGJhc2VkIG9uIHRo
ZSBmb2xsb3dpbmcgb2JzZXJ2YXRpb25zOgorCisgICAgICAgIDEuIFdpdGggdGhlIGV4Y2VwdGlv
biBvZiB0aGUgY2FzZSBkZXNjcmliZWQgYWJvdmUsIGV2ZXJ5IGNhbGxlciBvZiBkaWRSZWFjaEZp
bmFsU3RhdGUgd291bGQKKyAgICAgICAgICAgYWxzbyBjYWxsIGhpZGVQYXltZW50VUkgaW1tZWRp
YXRlbHkgYmVmb3JlaGFuZC4gVGhhdCBtZWFucyB0aGF0IHdlIGNhbiBtb3ZlIHRoZSBjYWxscyB0
bworICAgICAgICAgICBoaWRlUGF5bWVudFVJIGluc2lkZSBkaWRSZWFjaEZpbmFsU3RhdGUuIEZv
ciB0aGUgY29tcGxldGVQYXltZW50U2Vzc2lvbiBjYXNlLCByYXRoZXIgdGhhbgorICAgICAgICAg
ICBjYWxsIGRpZFJlYWNoRmluYWxTdGF0ZSB3aXRob3V0IGRpc21pc3NpbmcgdGhlIFVJLCB3ZSBl
bnRlciBhIG5ldyBDb21wbGV0aW5nIHN0YXRlLCB0aGVuCisgICAgICAgICAgIGNhbGwgZGlkUmVh
Y2hGaW5hbFN0YXRlIGVpdGhlciBpbiB+V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgb3IgcHJl
c2VudGVyRGlkRmluaXNoLgorCisgICAgICAgIDIuIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uIGlz
IHJlYWxseSBhIHNwZWNpYWwgY2FzZSBvZiBkaWRSZWFjaEZpbmFsU3RhdGUgdGhhdCBhbHNvIHNl
bmRzCisgICAgICAgICAgIHRoZSBEaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBtZXNzYWdlIHRvIGNh
bmNlbCBhY3RpdmUgc2Vzc2lvbnMgaW4gdGhlIHdlYiBwcm9jZXNzLiBXZSBjYW4KKyAgICAgICAg
ICAgdGVhY2ggZGlkUmVhY2hGaW5hbFN0YXRlIHRvIHNlbmQgdGhpcyBtZXNzYWdlIHdoZW4gbmVj
ZXNzYXJ5IGFuZCByZW1vdmUKKyAgICAgICAgICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24uCisK
KyAgICAgICAgMy4gUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIgc3RvcmVkIGEgImRpZCBy
ZWFjaCBmaW5hbCBzdGF0ZSIgYm9vbGVhbiBvbiBwYXltZW50CisgICAgICAgICAgIGNvbXBsZXRp
b24gYW5kIHBhc3NlZCB0aGlzIHZhbHVlIGJhY2sgdG8gdGhlIGNsaWVudCBpbiB0aGUgcHJlc2Vu
dGVyRGlkRmluaXNoIGNhbGxiYWNrLgorICAgICAgICAgICBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eSB1c2VkIHRoaXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gY2FuY2VsIGFuIGFjdGl2ZSBz
ZXNzaW9uIGJ5CisgICAgICAgICAgIGNhbGxpbmcgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24gb3Ig
Y2xlYW4gdXAgYSBjb21wbGV0ZWQgc2Vzc2lvbiBieSBjYWxsaW5nIGhpZGVQYXltZW50VUkuCisg
ICAgICAgICAgIFdpdGggdGhlIGFkZGl0aW9uIG9mIHRoZSBDb21wbGV0aW5nIHN0YXRlIGFuZCB0
aGUgbWVyZ2luZyBvZiBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBhbmQKKyAgICAgICAgICAgaGlk
ZVBheW1lbnRVSSBpbnRvIGRpZFJlYWNoRmluYWxTdGF0ZSwgd2UgY2FuIGdldCByaWQgb2YgdGhp
cyBmaW5hbCBzdGF0ZSB0cmFja2luZyBpbgorICAgICAgICAgICBQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciBhbmQgdW5jb25kaXRpb25hbGx5IGNhbGwgZGlkUmVhY2hGaW5hbFN0YXRlIGlu
IHRoZQorICAgICAgICAgICBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIHBvc3NpYmxlLiBBIG1hbnVhbCB0ZXN0IGNhc2UgaXMgZGVzY3JpYmVkIGlu
IDxyZGFyOi8vcHJvYmxlbS82MDQxNjIyMT4uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oOiBSZW1vdmVkIHRoZSBkaWRSZWFjaEZpbmFs
U3RhdGUgYXJndW1lbnQKKyAgICAgICAgZnJvbSBDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4K
KworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbik6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICAtW1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVycm9yczpdLgor
CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
Lmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlLm1tOiBSZW1vdmVkIHRoZSBfZGlkUmVhY2hGaW5hbFN0YXRlIGl2YXIuCisgICAgICAgICgt
W1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpkaWRSZWFjaEZpbmFsU3RhdGU6LiBTdG9wcGVkIHNldHRpbmcgX2RpZFJlYWNoRmluYWxT
dGF0ZS4KKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGludmFsaWRh
dGVdKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczouCisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBfZGlkQXV0
aG9yaXplUGF5bWVudDpjb21wbGV0aW9uOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRGaW5pc2hdKTogU3RvcHBlZCBwYXNzaW5nIHRoZSB2
YWx1ZSBvZgorICAgICAgICBfZGlkUmVhY2hGaW5hbFN0YXRlIHRvIFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyOjpDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4KKyAgICAgICAgKC1bV0tQ
YXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJyb3Jz
OmRpZFJlYWNoRmluYWxTdGF0ZTpdKToKKyAgICAgICAgUmVuYW1lZCB0byAtY29tcGxldGVQYXlt
ZW50U2Vzc2lvbjplcnJvcnM6LgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OnNob3dQYXltZW50VUkpOiBSZXBsYWNlZCBjYWxscyB0bworICAgICAgICBk
aWRDYW5jZWxQYXltZW50U2Vzc2lvbiB3aXRoIGRpZFJlYWNoRmluYWxTdGF0ZS4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Np
b24pOiBTZXQgbV9zdGF0ZSB0byBDb21wbGV0aW5nCisgICAgICAgIHJhdGhlciB0aGFuIGNhbGwg
ZGlkUmVhY2hGaW5hbFN0YXRlLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6YWJvcnRQYXltZW50U2Vzc2lvbik6IFJlbW92ZWQgY2FsbCB0byBoaWRlUGF5bWVu
dFVJCisgICAgICAgIHNpbmNlIGRpZFJlYWNoRmluYWxTdGF0ZSB3YXMgYWxyZWFkeSBiZWluZyBj
YWxsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5j
ZWxQYXltZW50U2Vzc2lvbik6IFJlcGxhY2VkIGNhbGwgdG8KKyAgICAgICAgZGlkQ2FuY2VsUGF5
bWVudFNlc3Npb24gd2l0aCBkaWRSZWFjaEZpbmFsU3RhdGUuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRGaW5pc2gpOiBDYWxsZWQgZGlk
UmVhY2hGaW5hbFN0YXRlCisgICAgICAgIHVuY29uZGl0aW9uYWxseSBub3cgdGhhdCB0aGUgZGlk
UmVhY2hGaW5hbFN0YXRlIGJvb2xlYW4gaGFzIGJlZW4gcmVtb3ZlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkJlZ2luIGNvbnN0KTogUmV0dXJuZWQg
ZmFsc2UgZm9yIFN0YXRlOjpDb21wbGV0aW5nLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsIGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5Db21wbGV0ZVBheW1lbnQgY29uc3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bkFib3J0IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpkaWRSZWFjaEZpbmFsU3RhdGUpOiBBZGRlZCBhbiBlYXJseSByZXR1cm4gaWYg
bV9zdGF0ZQorICAgICAgICBpcyBhbHJlYWR5IElkbGUuIFNlbnQgdGhlIERpZENhbmNlbFBheW1l
bnRTZXNzaW9uIG1lc3NhZ2UgaWYgY2FuQ2FuY2VsIGlzIHRydWUuIENhbGxlZAorICAgICAgICBw
bGF0Zm9ybUhpZGVQYXltZW50VUkgYmVmb3JlIGNsZWFyaW5nIG1fYXV0aG9yaXphdGlvblByZXNl
bnRlciBhbmQgc2V0dGluZyBtX3N0YXRlIHRvIElkbGUuCisgICAgICAgIChXZWJLaXQ6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbik6IERlbGV0ZWQu
CisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZFJlYWNo
RmluYWxTdGF0ZSk6IEFkZGVkIGEgUGF5bWVudFNlc3Npb25FcnJvciYmIGFyZy4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZENhbmNlbFBheW1lbnRTZXNz
aW9uKTogRGVsZXRlZC4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6fldlYlBheW1lbnRDb29yZGluYXRvclByb3h5KTogUmVwbGFjZWQg
YSBjb25kaXRpb25hbAorICAgICAgICBjYWxsIHRvIGhpZGVQYXltZW50VUkgd2l0aCBhbiB1bmNv
bmRpdGlvbmFsIGNhbGwgdG8gZGlkUmVhY2hGaW5hbFN0YXRlLgorCisgICAgICAgICogU2hhcmVk
L0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtSGlkZVBheW1lbnRV
SSk6IFJlbmFtZWQgZnJvbSBoaWRlUGF5bWVudFVJLgorICAgICAgICBTdG9wcGVkIGNsZWFyaW5n
IG1fYXV0aG9yaXphdGlvblByZXNlbnRlciBzaW5jZSBkaWRSZWFjaEZpbmFsU3RhdGUgbm93IGRv
ZXMgdGhhdC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Omhp
ZGVQYXltZW50VUkpOiBSZW5hbWVkIHRvIHBsYXRmb3JtSGlkZVBheW1lbnRVSS4KKworICAgICAg
ICAqIFNoYXJlZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVNo
b3dQYXltZW50VUkpOiBSZW1vdmVkIGNhbGwgdG8gaGlkZVBheW1lbnRVSQorICAgICAgICBzaW5j
ZSBkaWRSZWFjaEZpbmFsU3RhdGUgd2FzIGFscmVhZHkgYmVpbmcgY2FsbGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1IaWRlUGF5bWVudFVJ
KTogUmVuYW1lZCBmcm9tIGhpZGVQYXltZW50VUkuCisgICAgICAgIFN0b3BwZWQgY2xlYXJpbmcg
bV9hdXRob3JpemF0aW9uUHJlc2VudGVyIHNpbmNlIGRpZFJlYWNoRmluYWxTdGF0ZSBub3cgZG9l
cyB0aGF0LgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlk
ZVBheW1lbnRVSSk6IFJlbmFtZWQgdG8gcGxhdGZvcm1IaWRlUGF5bWVudFVJLgorCiAyMDIwLTA2
LTE5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IE1ha2UgaXNvbGF0ZWQgdHJlZSBlbmFibGVtZW50IHN0YXR1cyBkZXBlbmRlbnQgb24gY2xpZW50
IHByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5
bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaAppbmRleCBiNjY1MDU3ZjQ2MWRmNDFm
YmZiODEwMTNmNmE1NWQzYTA4NWU2OWNlLi5mYzc2NGExMDBlNTIxODU0YzA3Nzk2M2JkNDRjYWE4
M2YxOTAyODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oCkBAIC01NSw3ICs1NSw3IEBAIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50KFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYpID0gMDsKLSAgICAgICAgdmly
dHVhbCB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRl
ciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9vbCBkaWRSZWFjaEZpbmFsU3Rh
dGUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50
QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJikg
PSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0UGF5bWVudE1ldGhv
ZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRN
ZXRob2QmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlw
cGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3Jl
OjpQYXltZW50Q29udGFjdCYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRp
ZFNlbGVjdFNoaXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29u
c3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9k
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50
QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXggOWJhODcyMTQ2ODM5Zjc5OGFk
MDRkNWMzNTExZWIwMWNlMjZiNDlmYS4uNjY4ZjE0MzI5YWM4ZDRlMTAzNGUxMTg0ZGRkMjY0YTZh
YzIwZGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50
QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBAIC0xOTgsNyArMTk4LDcgQEAg
dm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVQYXltZW50U2Vzc2lv
bihjb25zdCBPcHRpb25hbDxXZWJDb3IKICAgICBBU1NFUlQocGxhdGZvcm1EZWxlZ2F0ZSgpKTsK
ICAgICBhdXRvIHN0YXR1cyA9IHJlc3VsdCA/IHRvUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1
cyhyZXN1bHQtPnN0YXR1cykgOiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzU3VjY2VzczsK
ICAgICBSZXRhaW5QdHI8TlNBcnJheT4gZXJyb3JzID0gcmVzdWx0ID8gdG9OU0Vycm9ycyhyZXN1
bHQtPmVycm9ycykgOiBAWyBdOwotICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXlt
ZW50U2Vzc2lvbjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKSBkaWRSZWFjaEZpbmFsU3RhdGU6
V2ViQ29yZTo6aXNGaW5hbFN0YXRlUmVzdWx0KHJlc3VsdCldOworICAgIFtwbGF0Zm9ybURlbGVn
YXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKV07
CiB9CiAKIHZvaWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlU2hpcHBp
bmdDb250YWN0U2VsZWN0aW9uKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nQ29udGFj
dFVwZGF0ZT4mIHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCmluZGV4IGM5MzVmMjc2
ZDhmMWFjMWYxYjk2MGFiZTNhODk1NmRhYTBkMWM2OTkuLjJkYzAwMDhkYmJkOGM0MmVlMzdiODcy
MjVjZmYyZjRjMGQ4NTA1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaApAQCAtNTQsNyAr
NTQsNyBAQCB1c2luZyBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRpb24gPSBCbG9ja1B0
cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZwogCiAtICh2b2lkKWNvbXBsZXRlTWVyY2hh
bnRWYWxpZGF0aW9uOihQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gKilzZXNzaW9uIGVycm9yOihO
U0Vycm9yICopZXJyb3I7CiAtICh2b2lkKWNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjoo
UEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKilwYXltZW50TWV0aG9kVXBkYXRl
OwotLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9ycyBkaWRSZWFj
aEZpbmFsU3RhdGU6KEJPT0wpZGlkUmVhY2hGaW5hbFN0YXRlOworLSAodm9pZCljb21wbGV0ZVBh
eW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6
KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9yczsKIC0gKHZvaWQpY29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgKilz
aGlwcGluZ0NvbnRhY3RVcGRhdGU7CiAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSAqKXNoaXBwaW5nTWV0
aG9kVXBkYXRlOwogLSAodm9pZClpbnZhbGlkYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5t
bQppbmRleCAzMDBmMGMyZGI3YTA2NmY4NDY4MzJmMTFlZWU4MTRjNWRlYjczMDRlLi44MmQxNTYz
YTFiYmEyZGM3YzYyZWY3ZjE4NWRlZjNlNDc2YWVkMzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxl
Z2F0ZS5tbQpAQCAtMzMsNyArMzMsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYXltZW50U2Vzc2lv
bkVycm9yLmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdh
dGUgewotICAgIEJPT0wgX2RpZFJlYWNoRmluYWxTdGF0ZTsKICAgICBSZXRhaW5QdHI8TlNBcnJh
eTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPj4gX3N1bW1hcnlJdGVtczsKICAgICBSZXRhaW5QdHI8
TlNBcnJheTxQS1NoaXBwaW5nTWV0aG9kICo+PiBfc2hpcHBpbmdNZXRob2RzOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfc2Vzc2lvbkVycm9yOwpAQCAtNjcsOSArNjYsOCBAQCAtICh2b2lkKWNv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRo
b2RVcGRhdGUgKilwYQogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVjdFBheW1lbnRNZXRob2RD
b21wbGV0aW9uLCBuaWwpKHVwZGF0ZSk7CiB9CiAKLS0gKHZvaWQpY29tcGxldGVQYXltZW50U2Vz
c2lvbjooUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cylzdGF0dXMgZXJyb3JzOihOU0FycmF5
PE5TRXJyb3IgKj4gKillcnJvcnMgZGlkUmVhY2hGaW5hbFN0YXRlOihCT09MKWRpZFJlYWNoRmlu
YWxTdGF0ZQorLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3Jp
emF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9ycwog
ewotICAgIF9kaWRSZWFjaEZpbmFsU3RhdGUgPSBkaWRSZWFjaEZpbmFsU3RhdGU7CiAgICAgYXV0
byByZXN1bHQgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50QXV0aG9yaXphdGlvblJlc3Vs
dEluc3RhbmNlKCkgaW5pdFdpdGhTdGF0dXM6c3RhdHVzIGVycm9yczplcnJvcnNdKTsKICAgICBz
dGQ6OmV4Y2hhbmdlKF9kaWRBdXRob3JpemVQYXltZW50Q29tcGxldGlvbiwgbmlsKShyZXN1bHQu
Z2V0KCkpOwogfQpAQCAtOTEsNyArODksNyBAQCAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSAqKQogLSAo
dm9pZClpbnZhbGlkYXRlCiB7CiAgICAgaWYgKF9kaWRBdXRob3JpemVQYXltZW50Q29tcGxldGlv
bikKLSAgICAgICAgW3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRob3Jp
emF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6QFtdIGRpZFJlYWNoRmluYWxTdGF0ZTpZRVNdOwor
ICAgICAgICBbc2VsZiBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOlBLUGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXNGYWlsdXJlIGVycm9yczpAWyBdXTsKIH0KIAogQGVuZApAQCAtMTE3LDcgKzExNSw3
IEBAIC0gKHZvaWQpX2RpZEF1dGhvcml6ZVBheW1lbnQ6KFBLUGF5bWVudCAqKXBheW1lbnQgY29t
cGxldGlvbjooV2ViS2l0OjpEaWRBdXRob3JpCiAKICAgICBhdXRvIHByZXNlbnRlciA9IF9wcmVz
ZW50ZXIuZ2V0KCk7CiAgICAgaWYgKCFwcmVzZW50ZXIpCi0gICAgICAgIHJldHVybiBbc2VsZiBj
b21wbGV0ZVBheW1lbnRTZXNzaW9uOlBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNGYWlsdXJl
IGVycm9yczpAWyBdIGRpZFJlYWNoRmluYWxTdGF0ZTpZRVNdOworICAgICAgICByZXR1cm4gW3Nl
bGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFp
bHVyZSBlcnJvcnM6QFsgXV07CiAKICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRp
ZEF1dGhvcml6ZVBheW1lbnQoKnByZXNlbnRlciwgV2ViQ29yZTo6UGF5bWVudChwYXltZW50KSk7
CiB9CkBAIC0xMjUsNyArMTIzLDcgQEAgLSAodm9pZClfZGlkQXV0aG9yaXplUGF5bWVudDooUEtQ
YXltZW50ICopcGF5bWVudCBjb21wbGV0aW9uOihXZWJLaXQ6OkRpZEF1dGhvcmkKIC0gKHZvaWQp
X2RpZEZpbmlzaAogewogICAgIGlmIChhdXRvIHByZXNlbnRlciA9IF9wcmVzZW50ZXIuZ2V0KCkp
Ci0gICAgICAgIHByZXNlbnRlci0+Y2xpZW50KCkucHJlc2VudGVyRGlkRmluaXNoKCpwcmVzZW50
ZXIsIHsgc3RkOjpleGNoYW5nZShfc2Vzc2lvbkVycm9yLCBuaWwpIH0sIF9kaWRSZWFjaEZpbmFs
U3RhdGUpOworICAgICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRpZEZpbmlzaCgq
cHJlc2VudGVyLCB7IHN0ZDo6ZXhjaGFuZ2UoX3Nlc3Npb25FcnJvciwgbmlsKSB9KTsKIH0KIAog
LSAodm9pZClfZGlkUmVxdWVzdE1lcmNoYW50U2Vzc2lvbjooV2ViS2l0OjpEaWRSZXF1ZXN0TWVy
Y2hhbnRTZXNzaW9uQ29tcGxldGlvbjo6QmxvY2tUeXBlKWNvbXBsZXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmNwcAppbmRleCBiOTI2YjNiMjE1Nzc1OWQxOTIyYWFlZDgwZDZjNDVjMmVmNTFiNjg3
Li43ZWQyYjMwMzA4NTkwNWQwMmRjN2QxOTA0YmM0ZjYyMGZiM2FlMjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpCiB2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpzaG93UGF5bWVudFVJKFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxT
dHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsaW5rSWNvblVSTFN0cmluZ3MsIGNvbnN0IFdl
YkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBp
ZiAoYXV0byYgY29vcmRpbmF0b3IgPSBhY3RpdmVQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpKQot
ICAgICAgICBjb29yZGluYXRvci0+ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKTsKKyAgICAgICAg
Y29vcmRpbmF0b3ItPmRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAgIGFjdGl2ZVBheW1lbnRDb29y
ZGluYXRvclByb3h5KCkgPSBtYWtlV2Vha1B0cih0aGlzKTsKIAogICAgIE1FU1NBR0VfQ0hFQ0so
Y2FuQmVnaW4oKSk7CkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6c2hvd1BheW1lbnRVSShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBkZXN0aW5hdGkK
IAogICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6QWN0aXZhdGluZyk7CiAgICAgICAg
IGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbigpOwor
ICAgICAgICAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIApAQCAtMTc5LDcgKzE3OSw3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKKyAgICBt
X3N0YXRlID0gU3RhdGU6OkNvbXBsZXRpbmc7CiB9CiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmFib3J0UGF5bWVudFNlc3Npb24oKQpAQCAtMTg4LDggKzE4OCw2IEBAIHZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmFib3J0UGF5bWVudFNlc3Npb24oKQogICAgIGlm
ICghY2FuQWJvcnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaGlkZVBheW1lbnRVSSgpOwot
CiAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiB9CiAKQEAgLTE5OCwxNCArMTk2LDYgQEAgdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuY2VsUGF5bWVudFNlc3Npb24oKQogICAg
IGlmICghY2FuQ2FuY2VsKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRpZENhbmNlbFBheW1l
bnRTZXNzaW9uKCk7Ci19Ci0KLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZENh
bmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiBlcnJvcikK
LXsKLSAgICBBU1NFUlQoY2FuQ2FuY2VsKCkpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1l
bnRDb29yZGluYXRvcjo6RGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV1RGTW92ZShlcnJvcikpKTsK
LSAgICBoaWRlUGF5bWVudFVJKCk7CiAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiB9CiAKQEAg
LTIyMywxMiArMjEzLDEwIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNl
bnRlckRpZEF1dGhvcml6ZVBheW1lbnQoUGF5bWVudEF1dGhvcml6YXRpCiAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpEaWRBdXRob3JpemVQYXltZW50KHBheW1lbnQp
KTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkRmlu
aXNoKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6UGF5bWVudFNlc3Np
b25FcnJvciYmIGVycm9yLCBib29sIGRpZFJlYWNoRmluYWxTdGF0ZSkKK3ZvaWQgV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiBlcnJvcikKIHsKLSAg
ICBpZiAoIWRpZFJlYWNoRmluYWxTdGF0ZSkKLSAgICAgICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Np
b24oV1RGTW92ZShlcnJvcikpOwotICAgIGVsc2UKLSAgICAgICAgaGlkZVBheW1lbnRVSSgpOwor
ICAgIEFTU0VSVCghY2FuQmVnaW4oKSk7CisgICAgZGlkUmVhY2hGaW5hbFN0YXRlKFdURk1vdmUo
ZXJyb3IpKTsKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVy
RGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBj
b25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRo
b2QmIHNoaXBwaW5nTWV0aG9kKQpAQCAtMjY0LDYgKzI1Miw3IEBAIGJvb2wgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmNhbkJlZ2luKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpBY3RpdmF0
aW5nOgogICAgIGNhc2UgU3RhdGU6OkFjdGl2ZToKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVk
OgorICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdN
ZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoK
ICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CkBAIC0yODIsNiArMjcxLDcg
QEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsKCkgY29uc3QKICAg
ICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogCisgICAgY2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKICAgICBjYXNlIFN0YXRlOjpJZGxlOgog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMjk2LDYgKzI4Niw3IEBAIGJvb2wgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAg
Y2FzZSBTdGF0ZTo6SWRsZToKICAgICBjYXNlIFN0YXRlOjpBY3RpdmF0aW5nOgogICAgIGNhc2Ug
U3RhdGU6OkFjdGl2ZToKKyAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgogICAgIGNhc2UgU3Rh
dGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250
YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgpAQCAt
MzE0LDE2ICszMDUsMzEgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQWJv
cnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKKyAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgogICAgIGNhc2Ug
U3RhdGU6OklkbGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiB9CiAKLXZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZFJlYWNoRmluYWxTdGF0ZSgpCit2b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpkaWRSZWFjaEZpbmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVu
dFNlc3Npb25FcnJvciYmIGVycm9yKQogeworICAgIGlmIChjYW5DYW5jZWwoKSkKKyAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpEaWRDYW5jZWxQYXltZW50U2Vz
c2lvbihXVEZNb3ZlKGVycm9yKSkpOworCisgICAgaWYgKG1fc3RhdGUgPT0gU3RhdGU6OklkbGUp
IHsKKyAgICAgICAgQVNTRVJUKCFtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIpOworICAgICAgICBB
U1NFUlQoIW1fZGVzdGluYXRpb25JRCk7CisgICAgICAgIEFTU0VSVChtX21lcmNoYW50VmFsaWRh
dGlvblN0YXRlID09IE1lcmNoYW50VmFsaWRhdGlvblN0YXRlOjpJZGxlKTsKKyAgICAgICAgQVNT
RVJUKCFhY3RpdmVQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIHBsYXRmb3JtSGlkZVBheW1lbnRVSSgpOworCisgICAgbV9hdXRob3JpemF0
aW9uUHJlc2VudGVyID0gbnVsbHB0cjsKICAgICBtX2Rlc3RpbmF0aW9uSUQgPSBXVEY6Om51bGxv
cHQ7Ci0gICAgbV9zdGF0ZSA9IFN0YXRlOjpJZGxlOwogICAgIG1fbWVyY2hhbnRWYWxpZGF0aW9u
U3RhdGUgPSBNZXJjaGFudFZhbGlkYXRpb25TdGF0ZTo6SWRsZTsKKyAgICBtX3N0YXRlID0gU3Rh
dGU6OklkbGU7CiAKICAgICBBU1NFUlQoYWN0aXZlUGF5bWVudENvb3JkaW5hdG9yUHJveHkoKSA9
PSB0aGlzKTsKICAgICBhY3RpdmVQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpID0gbnVsbHB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4IDJhOGIxN2I2NTMzYTNjYmZmOWIxNjc1MDI0MGRhNDg5
ZjQ5NmIyMDUuLjc1MmZhMDM0MjQyZmNjOGU1MzgxYTJmZjM1NDU5ZGYwZmMwMTdmMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHkuaApAQCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAg
Ly8gUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OkNsaWVudAogICAgIHZvaWQgcHJlc2Vu
dGVyRGlkQXV0aG9yaXplUGF5bWVudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNv
bnN0IFdlYkNvcmU6OlBheW1lbnQmKSBmaW5hbDsKLSAgICB2b2lkIHByZXNlbnRlckRpZEZpbmlz
aChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9u
RXJyb3ImJiwgYm9vbCBkaWRSZWFjaEZpbmFsU3RhdGUpIGZpbmFsOworICAgIHZvaWQgcHJlc2Vu
dGVyRGlkRmluaXNoKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6UGF5
bWVudFNlc3Npb25FcnJvciYmKSBmaW5hbDsKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFBh
eW1lbnRNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3Jl
OjpQYXltZW50TWV0aG9kJikgZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlw
cGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3Jl
OjpQYXltZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hp
cHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3Jl
OjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBmaW5hbDsK
QEAgLTE0MSw5ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50
KCkgY29uc3Q7CiAgICAgYm9vbCBjYW5BYm9ydCgpIGNvbnN0OwogCi0gICAgdm9pZCBkaWRDYW5j
ZWxQYXltZW50U2Vzc2lvbihXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgPSB7IH0pOwot
ICAgIHZvaWQgZGlkUmVhY2hGaW5hbFN0YXRlKCk7Ci0gICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7
CisgICAgdm9pZCBkaWRSZWFjaEZpbmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJv
ciYmID0geyB9KTsKIAogICAgIHZvaWQgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHMoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50
c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcik7CkBAIC0xNTQsNiArMTUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3Jt
Q29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6
U2hpcHBpbmdDb250YWN0VXBkYXRlPiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1l
bnRNZXRob2RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVw
ZGF0ZT4mKTsKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBP
cHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKKyAgICB2b2lk
IHBsYXRmb3JtSGlkZVBheW1lbnRVSSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFp
blB0cjxQS1BheW1lbnRSZXF1ZXN0PiBwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGNvbnN0IFVSTCYg
b3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdl
YkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Jik7CiAjZW5kaWYKQEAgLTE4Miw2
ICsxODEsOSBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFBheW1lbnRNZXRob2RTZWxlY3RlZCAt
IERpc3BhdGNoaW5nIHRoZSBwYXltZW50bWV0aG9kc2VsZWN0ZWQgZXZlbnQgYW5kIHdhaXRpbmcg
Zm9yIGEgcmVwbHkuCiAgICAgICAgIFBheW1lbnRNZXRob2RTZWxlY3RlZCwKKworICAgICAgICAv
LyBDb21wbGV0aW5nIC0gQ29tcGxldGluZyB0aGUgcGF5bWVudCBhbmQgd2FpdGluZyBmb3IgcHJl
c2VudGVyRGlkRmluaXNoIHRvIGJlIGNhbGxlZC4KKyAgICAgICAgQ29tcGxldGluZywKICAgICB9
IG1fc3RhdGUgeyBTdGF0ZTo6SWRsZSB9OwogCiAgICAgZW51bSBjbGFzcyBNZXJjaGFudFZhbGlk
YXRpb25TdGF0ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpp
bmRleCAzMjFjY2RkMjNjOGQzYjI0OTZkMDY2MTI0NjFjMzQxOGIwYzlmMDQzLi42N2VmMmUwOGVi
ODE0NzY0Y2IwNWU0NTJkNGIwMTlkNjk5NTIxNmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTc0LDkgKzc0LDcgQEAgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5KFdlYlBheW1lbnRDb29yZGluYXRv
clByb3gKIAogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6On5XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSgpCiB7Ci0gICAgaWYgKG1fc3RhdGUgIT0gU3RhdGU6OklkbGUpCi0gICAgICAgIGhp
ZGVQYXltZW50VUkoKTsKLQorICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAgIG1fY2xpZW50
LnBheW1lbnRDb29yZGluYXRvclJlbW92ZU1lc3NhZ2VSZWNlaXZlcigqdGhpcywgTWVzc2FnZXM6
OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9pb3MvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9p
b3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXggYzFhNjQ3ODBlNDM2Mjc3
OWRlYTRiZDBhNDU5NDRkNmZkOThiMWNjMi4uNDEwODQwMGQxNmZiMGMxNWFiOGViZjA4YzQyMDJk
ZmE4ZGE5NTg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvaW9z
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQpAQCAtNTgs
MTEgKzU4LDEwIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hv
d1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAgbV9hdXRob3JpemF0aW9u
UHJlc2VudGVyLT5wcmVzZW50KG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvclByZXNlbnRpbmdW
aWV3Q29udHJvbGxlcigqdGhpcyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAot
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQogewogICAg
IGlmIChtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIpCiAgICAgICAgIG1fYXV0aG9yaXphdGlvblBy
ZXNlbnRlci0+ZGlzbWlzcygpOwotICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlciA9IG51bGxw
dHI7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L21h
Yy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQppbmRleCBhNDM5
YTUxYzQxYWRlNWNmYTJmZmExMTBlMTUxYTUwMDUyYzQ5OWFmLi5kYzYzYmRmMTIwMGNkMmQ3ZTll
NTZiY2UxMzY5YmExNTBmY2UwNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFj
Lm1tCkBAIC04NSw3ICs4NSw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBs
YXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAgICAgIHBh
eW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93ID0gW05TV2luZG93IHdpbmRvd1dp
dGhDb250ZW50Vmlld0NvbnRyb2xsZXI6dmlld0NvbnRyb2xsZXJdOwogCiAgICAgICAgIHBheW1l
bnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93V2lsbENsb3NlT2JzZXJ2ZXIgPSBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1dp
bmRvd1dpbGxDbG9zZU5vdGlmaWNhdGlvbiBvYmplY3Q6cGF5bWVudENvb3JkaW5hdG9yUHJveHkt
Pm1fc2hlZXRXaW5kb3cuZ2V0KCkgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3BheW1lbnRDb29yZGlu
YXRvclByb3h5XShOU05vdGlmaWNhdGlvbiAqKSB7Ci0gICAgICAgICAgICBwYXltZW50Q29vcmRp
bmF0b3JQcm94eS0+aGlkZVBheW1lbnRVSSgpOwogICAgICAgICAgICAgcGF5bWVudENvb3JkaW5h
dG9yUHJveHktPmRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAgICAgICB9XTsKIApAQCAtOTUsNyAr
OTQsNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVNob3dQYXlt
ZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTAogICAgIH0pLmdldCgpXTsKIH0KIAotdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQogewogICAgIGlm
IChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmF0aW5nKSB7CiAgICAgICAgICsrbV9zaG93UGF5bWVu
dFVJUmVxdWVzdFNlZWQ7CkBAIC0xMTUsNyArMTE0LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCiAKICAgICBpZiAobV9hdXRob3JpemF0aW9uUHJl
c2VudGVyKQogICAgICAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXItPmRpc21pc3MoKTsKLSAg
ICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgPSBudWxscHRyOwogCiAgICAgbV9zaGVldFdpbmRv
dyA9IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402389</attachid>
            <date>2020-06-20 10:44:55 -0700</date>
            <delta_ts>2020-06-20 10:55:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213423-20200620104454.patch</filename>
            <type>text/plain</type>
            <size>23731</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4MTMyNDhmMWNjMGZiNjFh
NThkZGE4MTc1YTExZDY2ZmIyMDZjZDYuLjNlMzQ1N2E5NjYwZDk5MjYyZGI4YjE0ZDliNTlhNDI5
YTIzZjM1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDIwLTA2LTE5ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eSBjYW4gYmUgZGVzdHJveWVkIHdpdGhvdXQgZGlzbWlzc2luZyBpdHMg
YXV0aG9yaXphdGlvbiBwcmVzZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMzQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA0MTYyMjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBh
IHdlYnNpdGUgY29tcGxldGVzIGEgcGF5bWVudCBzZXNzaW9uLCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSB3b3VsZCBzZXQgaXRzIG1fc3RhdGUKKyAgICAgICAgdG8gSWRsZSBieSBjYWxsaW5n
IGRpZFJlYWNoRmluYWxTdGF0ZSwgYnV0IHdvdWxkIHdhaXQgdG8gY2FsbCBoaWRlUGF5bWVudFVJ
IHVudGlsIHRoZQorICAgICAgICBwYXltZW50IGF1dGhvcml6YXRpb24gcHJlc2VudGVyIGNhbGxz
IGl0cyBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suIFRoaXMgYWxsb3dzIHRoZQorICAgICAg
ICBwcmVzZW50ZXIgdG8gZGlzcGxheSBhIGZpbmFsIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYmVmb3Jl
IGRpc21pc3NpbmcuIEFzIGEgY2F0Y2gtYWxsLAorICAgICAgICB+V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkgd291bGQgY2FsbCBoaWRlUGF5bWVudFVJLCBidXQgb25seSBpZiBtX3N0YXRlIHdh
c24ndCBJZGxlLiBJZiBhCisgICAgICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHdhcyBk
ZXN0cm95ZWQgYWZ0ZXIgYSB3ZWJzaXRlIGNvbXBsZXRlZCBhIHBheW1lbnQgc2Vzc2lvbiBidXQK
KyAgICAgICAgYmVmb3JlIHRoZSBwcmVzZW50ZXIgY2FsbGVkIHByZXNlbnRlckRpZEZpbmlzaCwg
aGlkZVBheW1lbnRVSSB3b3VsZCBuZXZlciBiZSBjYWxsZWQuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRyZXNzZXMgdGhpcyBieSBzaW1wbGlmeWluZyB0aGUgbG9naWMgZm9yIGNvbXBsZXRpbmcg
b3IgY2FuY2VsaW5nIGEgcGF5bWVudAorICAgICAgICBzZXNzaW9uLiBJdCdzIGJhc2VkIG9uIHRo
ZSBmb2xsb3dpbmcgb2JzZXJ2YXRpb25zOgorCisgICAgICAgIDEuIFdpdGggdGhlIGV4Y2VwdGlv
biBvZiB0aGUgY2FzZSBkZXNjcmliZWQgYWJvdmUsIGV2ZXJ5IGNhbGxlciBvZiBkaWRSZWFjaEZp
bmFsU3RhdGUgd291bGQKKyAgICAgICAgICAgYWxzbyBjYWxsIGhpZGVQYXltZW50VUkgaW1tZWRp
YXRlbHkgYmVmb3JlaGFuZC4gVGhhdCBtZWFucyB0aGF0IHdlIGNhbiBtb3ZlIHRoZSBjYWxscyB0
bworICAgICAgICAgICBoaWRlUGF5bWVudFVJIGluc2lkZSBkaWRSZWFjaEZpbmFsU3RhdGUuIEZv
ciB0aGUgY29tcGxldGVQYXltZW50U2Vzc2lvbiBjYXNlLCByYXRoZXIgdGhhbgorICAgICAgICAg
ICBjYWxsIGRpZFJlYWNoRmluYWxTdGF0ZSB3aXRob3V0IGRpc21pc3NpbmcgdGhlIFVJLCB3ZSBl
bnRlciBhIG5ldyBDb21wbGV0aW5nIHN0YXRlLCB0aGVuCisgICAgICAgICAgIGNhbGwgZGlkUmVh
Y2hGaW5hbFN0YXRlIGVpdGhlciBpbiB+V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgb3IgcHJl
c2VudGVyRGlkRmluaXNoLgorCisgICAgICAgIDIuIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uIGlz
IHJlYWxseSBhIHNwZWNpYWwgY2FzZSBvZiBkaWRSZWFjaEZpbmFsU3RhdGUgdGhhdCBhbHNvIHNl
bmRzCisgICAgICAgICAgIHRoZSBEaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBtZXNzYWdlIHRvIGNh
bmNlbCBhY3RpdmUgc2Vzc2lvbnMgaW4gdGhlIHdlYiBwcm9jZXNzLiBXZSBjYW4KKyAgICAgICAg
ICAgdGVhY2ggZGlkUmVhY2hGaW5hbFN0YXRlIHRvIHNlbmQgdGhpcyBtZXNzYWdlIHdoZW4gbmVj
ZXNzYXJ5IGFuZCByZW1vdmUKKyAgICAgICAgICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24uCisK
KyAgICAgICAgMy4gUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIgc3RvcmVkIGEgImRpZCBy
ZWFjaCBmaW5hbCBzdGF0ZSIgYm9vbGVhbiBvbiBwYXltZW50CisgICAgICAgICAgIGNvbXBsZXRp
b24gYW5kIHBhc3NlZCB0aGlzIHZhbHVlIGJhY2sgdG8gdGhlIGNsaWVudCBpbiB0aGUgcHJlc2Vu
dGVyRGlkRmluaXNoIGNhbGxiYWNrLgorICAgICAgICAgICBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eSB1c2VkIHRoaXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gY2FuY2VsIGFuIGFjdGl2ZSBz
ZXNzaW9uIGJ5CisgICAgICAgICAgIGNhbGxpbmcgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24gb3Ig
Y2xlYW4gdXAgYSBjb21wbGV0ZWQgc2Vzc2lvbiBieSBjYWxsaW5nIGhpZGVQYXltZW50VUkuCisg
ICAgICAgICAgIFdpdGggdGhlIGFkZGl0aW9uIG9mIHRoZSBDb21wbGV0aW5nIHN0YXRlIGFuZCB0
aGUgbWVyZ2luZyBvZiBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBhbmQKKyAgICAgICAgICAgaGlk
ZVBheW1lbnRVSSBpbnRvIGRpZFJlYWNoRmluYWxTdGF0ZSwgd2UgY2FuIGdldCByaWQgb2YgdGhp
cyBmaW5hbCBzdGF0ZSB0cmFja2luZyBpbgorICAgICAgICAgICBQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciBhbmQgdW5jb25kaXRpb25hbGx5IGNhbGwgZGlkUmVhY2hGaW5hbFN0YXRlIGlu
IHRoZQorICAgICAgICAgICBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIHBvc3NpYmxlLiBBIG1hbnVhbCB0ZXN0IGNhc2UgaXMgZGVzY3JpYmVkIGlu
IDxyZGFyOi8vcHJvYmxlbS82MDQxNjIyMT4uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oOiBSZW1vdmVkIHRoZSBkaWRSZWFjaEZpbmFs
U3RhdGUgYXJndW1lbnQKKyAgICAgICAgZnJvbSBDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4K
KworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbik6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICAtW1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVycm9yczpdLgor
CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
Lmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlLm1tOiBSZW1vdmVkIHRoZSBfZGlkUmVhY2hGaW5hbFN0YXRlIGl2YXIuCisgICAgICAgICgt
W1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpkaWRSZWFjaEZpbmFsU3RhdGU6LiBTdG9wcGVkIHNldHRpbmcgX2RpZFJlYWNoRmluYWxT
dGF0ZS4KKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGludmFsaWRh
dGVdKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczouCisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBfZGlkQXV0
aG9yaXplUGF5bWVudDpjb21wbGV0aW9uOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRGaW5pc2hdKTogU3RvcHBlZCBwYXNzaW5nIHRoZSB2
YWx1ZSBvZgorICAgICAgICBfZGlkUmVhY2hGaW5hbFN0YXRlIHRvIFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyOjpDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4KKyAgICAgICAgKC1bV0tQ
YXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJyb3Jz
OmRpZFJlYWNoRmluYWxTdGF0ZTpdKToKKyAgICAgICAgUmVuYW1lZCB0byAtY29tcGxldGVQYXlt
ZW50U2Vzc2lvbjplcnJvcnM6LgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OnNob3dQYXltZW50VUkpOiBSZXBsYWNlZCBjYWxscyB0bworICAgICAgICBk
aWRDYW5jZWxQYXltZW50U2Vzc2lvbiB3aXRoIGRpZFJlYWNoRmluYWxTdGF0ZS4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Np
b24pOiBTZXQgbV9zdGF0ZSB0byBDb21wbGV0aW5nCisgICAgICAgIHJhdGhlciB0aGFuIGNhbGwg
ZGlkUmVhY2hGaW5hbFN0YXRlLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6YWJvcnRQYXltZW50U2Vzc2lvbik6IFJlbW92ZWQgY2FsbCB0byBoaWRlUGF5bWVu
dFVJCisgICAgICAgIHNpbmNlIGRpZFJlYWNoRmluYWxTdGF0ZSB3YXMgYWxyZWFkeSBiZWluZyBj
YWxsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5j
ZWxQYXltZW50U2Vzc2lvbik6IFJlcGxhY2VkIGNhbGwgdG8KKyAgICAgICAgZGlkQ2FuY2VsUGF5
bWVudFNlc3Npb24gd2l0aCBkaWRSZWFjaEZpbmFsU3RhdGUuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRGaW5pc2gpOiBDYWxsZWQgZGlk
UmVhY2hGaW5hbFN0YXRlCisgICAgICAgIHVuY29uZGl0aW9uYWxseSBub3cgdGhhdCB0aGUgZGlk
UmVhY2hGaW5hbFN0YXRlIGJvb2xlYW4gaGFzIGJlZW4gcmVtb3ZlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkJlZ2luIGNvbnN0KTogUmV0dXJuZWQg
ZmFsc2UgZm9yIFN0YXRlOjpDb21wbGV0aW5nLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsIGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5Db21wbGV0ZVBheW1lbnQgY29uc3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bkFib3J0IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpkaWRSZWFjaEZpbmFsU3RhdGUpOiBBZGRlZCBhbiBlYXJseSByZXR1cm4gaWYg
bV9zdGF0ZQorICAgICAgICBpcyBhbHJlYWR5IElkbGUuIFNlbnQgdGhlIERpZENhbmNlbFBheW1l
bnRTZXNzaW9uIG1lc3NhZ2UgaWYgY2FuQ2FuY2VsIGlzIHRydWUuIENhbGxlZAorICAgICAgICBw
bGF0Zm9ybUhpZGVQYXltZW50VUkgYmVmb3JlIGNsZWFyaW5nIG1fYXV0aG9yaXphdGlvblByZXNl
bnRlciBhbmQgc2V0dGluZyBtX3N0YXRlIHRvIElkbGUuCisgICAgICAgIChXZWJLaXQ6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbik6IERlbGV0ZWQu
CisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZFJlYWNo
RmluYWxTdGF0ZSk6IEFkZGVkIGEgUGF5bWVudFNlc3Npb25FcnJvciYmIGFyZy4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZENhbmNlbFBheW1lbnRTZXNz
aW9uKTogRGVsZXRlZC4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6fldlYlBheW1lbnRDb29yZGluYXRvclByb3h5KTogUmVwbGFjZWQg
Y2FsbCB0bworICAgICAgICBoaWRlUGF5bWVudFVJIHdpdGggZGlkUmVhY2hGaW5hbFN0YXRlLgor
CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBs
YXRmb3JtSGlkZVBheW1lbnRVSSk6IFJlbmFtZWQgZnJvbSBoaWRlUGF5bWVudFVJLgorICAgICAg
ICBTdG9wcGVkIGNsZWFyaW5nIG1fYXV0aG9yaXphdGlvblByZXNlbnRlciBzaW5jZSBkaWRSZWFj
aEZpbmFsU3RhdGUgbm93IGRvZXMgdGhhdC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmhpZGVQYXltZW50VUkpOiBSZW5hbWVkIHRvIHBsYXRmb3JtSGlkZVBh
eW1lbnRVSS4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpwbGF0Zm9ybVNob3dQYXltZW50VUkpOiBSZW1vdmVkIGNhbGwgdG8gaGlkZVBheW1l
bnRVSQorICAgICAgICBzaW5jZSBkaWRSZWFjaEZpbmFsU3RhdGUgd2FzIGFscmVhZHkgYmVpbmcg
Y2FsbGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1IaWRlUGF5bWVudFVJKTogUmVuYW1lZCBmcm9tIGhpZGVQYXltZW50VUkuCisgICAgICAg
IFN0b3BwZWQgY2xlYXJpbmcgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyIHNpbmNlIGRpZFJlYWNo
RmluYWxTdGF0ZSBub3cgZG9lcyB0aGF0LgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSk6IFJlbmFtZWQgdG8gcGxhdGZvcm1IaWRlUGF5
bWVudFVJLgorCiAyMDIwLTA2LTE5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IE1ha2UgaXNvbGF0ZWQgdHJlZSBlbmFibGVtZW50IHN0YXR1cyBk
ZXBlbmRlbnQgb24gY2xpZW50IHByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaAppbmRl
eCBiNjY1MDU3ZjQ2MWRmNDFmYmZiODEwMTNmNmE1NWQzYTA4NWU2OWNlLi5mYzc2NGExMDBlNTIx
ODU0YzA3Nzk2M2JkNDRjYWE4M2YxOTAyODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oCkBA
IC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZh
dWx0OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50
KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYp
ID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0
aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9v
bCBkaWRSZWFjaEZpbmFsU3RhdGUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRl
ckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1l
bnRTZXNzaW9uRXJyb3ImJikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlk
U2VsZWN0UGF5bWVudE1ldGhvZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0
IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVz
ZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVl
c3Q6OlNoaXBwaW5nTWV0aG9kJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXgg
OWJhODcyMTQ2ODM5Zjc5OGFkMDRkNWMzNTExZWIwMWNlMjZiNDlmYS4uNjY4ZjE0MzI5YWM4ZDRl
MTAzNGUxMTg0ZGRkMjY0YTZhYzIwZGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBA
IC0xOTgsNyArMTk4LDcgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBPcHRpb25hbDxXZWJDb3IKICAgICBBU1NFUlQocGxh
dGZvcm1EZWxlZ2F0ZSgpKTsKICAgICBhdXRvIHN0YXR1cyA9IHJlc3VsdCA/IHRvUEtQYXltZW50
QXV0aG9yaXphdGlvblN0YXR1cyhyZXN1bHQtPnN0YXR1cykgOiBQS1BheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzU3VjY2VzczsKICAgICBSZXRhaW5QdHI8TlNBcnJheT4gZXJyb3JzID0gcmVzdWx0
ID8gdG9OU0Vycm9ycyhyZXN1bHQtPmVycm9ycykgOiBAWyBdOwotICAgIFtwbGF0Zm9ybURlbGVn
YXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKSBk
aWRSZWFjaEZpbmFsU3RhdGU6V2ViQ29yZTo6aXNGaW5hbFN0YXRlUmVzdWx0KHJlc3VsdCldOwor
ICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJy
b3JzOmVycm9ycy5nZXQoKV07CiB9CiAKIHZvaWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXI6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNvbnN0IE9wdGlvbmFsPFdlYkNv
cmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mIHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0
ZS5oCmluZGV4IGM5MzVmMjc2ZDhmMWFjMWYxYjk2MGFiZTNhODk1NmRhYTBkMWM2OTkuLjJkYzAw
MDhkYmJkOGM0MmVlMzdiODcyMjVjZmYyZjRjMGQ4NTA1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGUuaApAQCAtNTQsNyArNTQsNyBAQCB1c2luZyBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENv
bXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZwogCiAtICh2
b2lkKWNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uOihQS1BheW1lbnRNZXJjaGFudFNlc3Npb24g
KilzZXNzaW9uIGVycm9yOihOU0Vycm9yICopZXJyb3I7CiAtICh2b2lkKWNvbXBsZXRlUGF5bWVu
dE1ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKilw
YXltZW50TWV0aG9kVXBkYXRlOwotLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1Bh
eW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAq
PiAqKWVycm9ycyBkaWRSZWFjaEZpbmFsU3RhdGU6KEJPT0wpZGlkUmVhY2hGaW5hbFN0YXRlOwor
LSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3Rh
dHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9yczsKIC0gKHZvaWQp
Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGlu
Z0NvbnRhY3RVcGRhdGUgKilzaGlwcGluZ0NvbnRhY3RVcGRhdGU7CiAtICh2b2lkKWNvbXBsZXRl
U2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVw
ZGF0ZSAqKXNoaXBwaW5nTWV0aG9kVXBkYXRlOwogLSAodm9pZClpbnZhbGlkYXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9u
RGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhv
cml6YXRpb25EZWxlZ2F0ZS5tbQppbmRleCAzMDBmMGMyZGI3YTA2NmY4NDY4MzJmMTFlZWU4MTRj
NWRlYjczMDRlLi44MmQxNTYzYTFiYmEyZGM3YzYyZWY3ZjE4NWRlZjNlNDc2YWVkMzFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRp
b25EZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQpAQCAtMzMsNyArMzMsNiBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9QYXltZW50U2Vzc2lvbkVycm9yLmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBXS1BheW1lbnRB
dXRob3JpemF0aW9uRGVsZWdhdGUgewotICAgIEJPT0wgX2RpZFJlYWNoRmluYWxTdGF0ZTsKICAg
ICBSZXRhaW5QdHI8TlNBcnJheTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPj4gX3N1bW1hcnlJdGVt
czsKICAgICBSZXRhaW5QdHI8TlNBcnJheTxQS1NoaXBwaW5nTWV0aG9kICo+PiBfc2hpcHBpbmdN
ZXRob2RzOwogICAgIFJldGFpblB0cjxOU0Vycm9yPiBfc2Vzc2lvbkVycm9yOwpAQCAtNjcsOSAr
NjYsOCBAQCAtICh2b2lkKWNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50
UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKilwYQogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNl
bGVjdFBheW1lbnRNZXRob2RDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZSk7CiB9CiAKLS0gKHZvaWQp
Y29tcGxldGVQYXltZW50U2Vzc2lvbjooUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cylzdGF0
dXMgZXJyb3JzOihOU0FycmF5PE5TRXJyb3IgKj4gKillcnJvcnMgZGlkUmVhY2hGaW5hbFN0YXRl
OihCT09MKWRpZFJlYWNoRmluYWxTdGF0ZQorLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9u
OihQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNF
cnJvciAqPiAqKWVycm9ycwogewotICAgIF9kaWRSZWFjaEZpbmFsU3RhdGUgPSBkaWRSZWFjaEZp
bmFsU3RhdGU7CiAgICAgYXV0byByZXN1bHQgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50
QXV0aG9yaXphdGlvblJlc3VsdEluc3RhbmNlKCkgaW5pdFdpdGhTdGF0dXM6c3RhdHVzIGVycm9y
czplcnJvcnNdKTsKICAgICBzdGQ6OmV4Y2hhbmdlKF9kaWRBdXRob3JpemVQYXltZW50Q29tcGxl
dGlvbiwgbmlsKShyZXN1bHQuZ2V0KCkpOwogfQpAQCAtOTEsNyArODksNyBAQCAtICh2b2lkKWNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01l
dGhvZFVwZGF0ZSAqKQogLSAodm9pZClpbnZhbGlkYXRlCiB7CiAgICAgaWYgKF9kaWRBdXRob3Jp
emVQYXltZW50Q29tcGxldGlvbikKLSAgICAgICAgW3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lv
bjpQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6QFtdIGRpZFJlYWNo
RmluYWxTdGF0ZTpZRVNdOworICAgICAgICBbc2VsZiBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOlBL
UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNGYWlsdXJlIGVycm9yczpAWyBdXTsKIH0KIAogQGVu
ZApAQCAtMTE3LDcgKzExNSw3IEBAIC0gKHZvaWQpX2RpZEF1dGhvcml6ZVBheW1lbnQ6KFBLUGF5
bWVudCAqKXBheW1lbnQgY29tcGxldGlvbjooV2ViS2l0OjpEaWRBdXRob3JpCiAKICAgICBhdXRv
IHByZXNlbnRlciA9IF9wcmVzZW50ZXIuZ2V0KCk7CiAgICAgaWYgKCFwcmVzZW50ZXIpCi0gICAg
ICAgIHJldHVybiBbc2VsZiBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOlBLUGF5bWVudEF1dGhvcml6
YXRpb25TdGF0dXNGYWlsdXJlIGVycm9yczpAWyBdIGRpZFJlYWNoRmluYWxTdGF0ZTpZRVNdOwor
ICAgICAgICByZXR1cm4gW3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRo
b3JpemF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6QFsgXV07CiAKICAgICBwcmVzZW50ZXItPmNs
aWVudCgpLnByZXNlbnRlckRpZEF1dGhvcml6ZVBheW1lbnQoKnByZXNlbnRlciwgV2ViQ29yZTo6
UGF5bWVudChwYXltZW50KSk7CiB9CkBAIC0xMjUsNyArMTIzLDcgQEAgLSAodm9pZClfZGlkQXV0
aG9yaXplUGF5bWVudDooUEtQYXltZW50ICopcGF5bWVudCBjb21wbGV0aW9uOihXZWJLaXQ6OkRp
ZEF1dGhvcmkKIC0gKHZvaWQpX2RpZEZpbmlzaAogewogICAgIGlmIChhdXRvIHByZXNlbnRlciA9
IF9wcmVzZW50ZXIuZ2V0KCkpCi0gICAgICAgIHByZXNlbnRlci0+Y2xpZW50KCkucHJlc2VudGVy
RGlkRmluaXNoKCpwcmVzZW50ZXIsIHsgc3RkOjpleGNoYW5nZShfc2Vzc2lvbkVycm9yLCBuaWwp
IH0sIF9kaWRSZWFjaEZpbmFsU3RhdGUpOworICAgICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnBy
ZXNlbnRlckRpZEZpbmlzaCgqcHJlc2VudGVyLCB7IHN0ZDo6ZXhjaGFuZ2UoX3Nlc3Npb25FcnJv
ciwgbmlsKSB9KTsKIH0KIAogLSAodm9pZClfZGlkUmVxdWVzdE1lcmNoYW50U2Vzc2lvbjooV2Vi
S2l0OjpEaWRSZXF1ZXN0TWVyY2hhbnRTZXNzaW9uQ29tcGxldGlvbjo6QmxvY2tUeXBlKWNvbXBs
ZXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAppbmRleCBiOTI2YjNiMjE1Nzc1OWQxOTIyYWFl
ZDgwZDZjNDVjMmVmNTFiNjg3Li5jODBmNTFlNjcyYzA2ODY5ZWY5OGUxM2U3M2Q3ZDc2NzRhODc4
ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBt
ZXJjaGFudElkZW50aWZpCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpzaG93UGF5
bWVudFVJKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSUQsIGNvbnN0IFN0cmlu
ZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsaW5rSWNvblVS
TFN0cmluZ3MsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBw
YXltZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKICAgICBpZiAoYXV0byYgY29vcmRpbmF0b3IgPSBhY3RpdmVQYXltZW50Q29v
cmRpbmF0b3JQcm94eSgpKQotICAgICAgICBjb29yZGluYXRvci0+ZGlkQ2FuY2VsUGF5bWVudFNl
c3Npb24oKTsKKyAgICAgICAgY29vcmRpbmF0b3ItPmRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAg
IGFjdGl2ZVBheW1lbnRDb29yZGluYXRvclByb3h5KCkgPSBtYWtlV2Vha1B0cih0aGlzKTsKIAog
ICAgIE1FU1NBR0VfQ0hFQ0soY2FuQmVnaW4oKSk7CkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6c2hvd1BheW1lbnRVSShXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciBkZXN0aW5hdGkKIAogICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6QWN0
aXZhdGluZyk7CiAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBkaWRDYW5jZWxQ
YXltZW50U2Vzc2lvbigpOworICAgICAgICAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMTc5LDcgKzE3OSw3IEBAIHZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3QgT3B0
aW9uYWw8V2ViQ29yZTo6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkaWRSZWFjaEZp
bmFsU3RhdGUoKTsKKyAgICBtX3N0YXRlID0gU3RhdGU6OkNvbXBsZXRpbmc7CiB9CiAKIHZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmFib3J0UGF5bWVudFNlc3Npb24oKQpAQCAtMTg4
LDggKzE4OCw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmFib3J0UGF5bWVu
dFNlc3Npb24oKQogICAgIGlmICghY2FuQWJvcnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
aGlkZVBheW1lbnRVSSgpOwotCiAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiB9CiAKQEAgLTE5
OCwxNCArMTk2LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuY2VsUGF5
bWVudFNlc3Npb24oKQogICAgIGlmICghY2FuQ2FuY2VsKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKCk7Ci19Ci0KLXZvaWQgV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRTZXNz
aW9uRXJyb3ImJiBlcnJvcikKLXsKLSAgICBBU1NFUlQoY2FuQ2FuY2VsKCkpOwotICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6RGlkQ2FuY2VsUGF5bWVudFNlc3Npb24o
V1RGTW92ZShlcnJvcikpKTsKLSAgICBoaWRlUGF5bWVudFVJKCk7CiAgICAgZGlkUmVhY2hGaW5h
bFN0YXRlKCk7CiB9CiAKQEAgLTIyMywxMiArMjEzLDkgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eTo6cHJlc2VudGVyRGlkQXV0aG9yaXplUGF5bWVudChQYXltZW50QXV0aG9yaXph
dGkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkRpZEF1dGhvcml6
ZVBheW1lbnQocGF5bWVudCkpOwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpwcmVzZW50ZXJEaWRGaW5pc2goUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBXZWJD
b3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IsIGJvb2wgZGlkUmVhY2hGaW5hbFN0YXRl
KQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkRmluaXNoKFBh
eW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJv
ciYmIGVycm9yKQogewotICAgIGlmICghZGlkUmVhY2hGaW5hbFN0YXRlKQotICAgICAgICBkaWRD
YW5jZWxQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGVycm9yKSk7Ci0gICAgZWxzZQotICAgICAgICBo
aWRlUGF5bWVudFVJKCk7CisgICAgZGlkUmVhY2hGaW5hbFN0YXRlKFdURk1vdmUoZXJyb3IpKTsK
IH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkU2VsZWN0
U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmIHNoaXBw
aW5nTWV0aG9kKQpAQCAtMjY0LDYgKzI1MSw3IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OmNhbkJlZ2luKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpBY3RpdmF0aW5nOgogICAg
IGNhc2UgU3RhdGU6OkFjdGl2ZToKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgorICAgIGNh
c2UgU3RhdGU6OkNvbXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxl
Y3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNl
IFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CkBAIC0yODIsNiArMjcwLDcgQEAgYm9vbCBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsKCkgY29uc3QKICAgICBjYXNlIFN0
YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAg
Y2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKICAgICBjYXNlIFN0YXRlOjpJZGxlOgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMjk2LDYgKzI4NSw3IEBAIGJvb2wgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0
ZTo6SWRsZToKICAgICBjYXNlIFN0YXRlOjpBY3RpdmF0aW5nOgogICAgIGNhc2UgU3RhdGU6OkFj
dGl2ZToKKyAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgogICAgIGNhc2UgU3RhdGU6OlNoaXBw
aW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0
ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgpAQCAtMzE0LDE2ICsz
MDQsMjUgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQWJvcnQoKSBjb25z
dAogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKKyAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgogICAgIGNhc2UgU3RhdGU6Oklk
bGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiB9CiAKLXZvaWQgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmRpZFJlYWNoRmluYWxTdGF0ZSgpCit2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpkaWRSZWFjaEZpbmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVudFNlc3Npb25F
cnJvciYmIGVycm9yKQogeworICAgIEFTU0VSVCghY2FuQmVnaW4oKSk7CisKKyAgICBpZiAoY2Fu
Q2FuY2VsKCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
RGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV1RGTW92ZShlcnJvcikpKTsKKworICAgIHBsYXRmb3Jt
SGlkZVBheW1lbnRVSSgpOworCisgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyID0gbnVsbHB0
cjsKICAgICBtX2Rlc3RpbmF0aW9uSUQgPSBXVEY6Om51bGxvcHQ7Ci0gICAgbV9zdGF0ZSA9IFN0
YXRlOjpJZGxlOwogICAgIG1fbWVyY2hhbnRWYWxpZGF0aW9uU3RhdGUgPSBNZXJjaGFudFZhbGlk
YXRpb25TdGF0ZTo6SWRsZTsKKyAgICBtX3N0YXRlID0gU3RhdGU6OklkbGU7CiAKICAgICBBU1NF
UlQoYWN0aXZlUGF5bWVudENvb3JkaW5hdG9yUHJveHkoKSA9PSB0aGlzKTsKICAgICBhY3RpdmVQ
YXltZW50Q29vcmRpbmF0b3JQcm94eSgpID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCmlu
ZGV4IDJhOGIxN2I2NTMzYTNjYmZmOWIxNjc1MDI0MGRhNDg5ZjQ5NmIyMDUuLjc1MmZhMDM0MjQy
ZmNjOGU1MzgxYTJmZjM1NDU5ZGYwZmMwMTdmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaApAQCAt
MTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gUGF5bWVudEF1dGhvcml6YXRp
b25QcmVzZW50ZXI6OkNsaWVudAogICAgIHZvaWQgcHJlc2VudGVyRGlkQXV0aG9yaXplUGF5bWVu
dChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnQm
KSBmaW5hbDsKLSAgICB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9vbCBkaWRSZWFj
aEZpbmFsU3RhdGUpIGZpbmFsOworICAgIHZvaWQgcHJlc2VudGVyRGlkRmluaXNoKFBheW1lbnRB
dXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYmKSBm
aW5hbDsKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFBheW1lbnRNZXRob2QoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJikgZmlu
YWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYpIGZp
bmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXlt
ZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBmaW5hbDsKQEAgLTE0MSw5ICsxNDEsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50KCkgY29uc3Q7CiAgICAgYm9vbCBj
YW5BYm9ydCgpIGNvbnN0OwogCi0gICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihXZWJD
b3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgPSB7IH0pOwotICAgIHZvaWQgZGlkUmVhY2hGaW5h
bFN0YXRlKCk7Ci0gICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7CisgICAgdm9pZCBkaWRSZWFjaEZp
bmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYmID0geyB9KTsKIAogICAgIHZv
aWQgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CiAgICAgdm9pZCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdU
Rjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CkBAIC0xNTQsNiAr
MTUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ0NvbnRh
Y3RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRl
PiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29u
c3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT4mKTsKICAgICB2b2lkIHBs
YXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpQYXlt
ZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKKyAgICB2b2lkIHBsYXRmb3JtSGlkZVBheW1lbnRV
SSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0
PiBwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0
IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0Jik7CiAjZW5kaWYKQEAgLTE4Miw2ICsxODEsOSBAQCBwcml2YXRlOgog
CiAgICAgICAgIC8vIFBheW1lbnRNZXRob2RTZWxlY3RlZCAtIERpc3BhdGNoaW5nIHRoZSBwYXlt
ZW50bWV0aG9kc2VsZWN0ZWQgZXZlbnQgYW5kIHdhaXRpbmcgZm9yIGEgcmVwbHkuCiAgICAgICAg
IFBheW1lbnRNZXRob2RTZWxlY3RlZCwKKworICAgICAgICAvLyBDb21wbGV0aW5nIC0gQ29tcGxl
dGluZyB0aGUgcGF5bWVudCBhbmQgd2FpdGluZyBmb3IgcHJlc2VudGVyRGlkRmluaXNoIHRvIGJl
IGNhbGxlZC4KKyAgICAgICAgQ29tcGxldGluZywKICAgICB9IG1fc3RhdGUgeyBTdGF0ZTo6SWRs
ZSB9OwogCiAgICAgZW51bSBjbGFzcyBNZXJjaGFudFZhbGlkYXRpb25TdGF0ZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2Ev
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCAzMjFjY2RkMjNjOGQzYjI0
OTZkMDY2MTI0NjFjMzQxOGIwYzlmMDQzLi40NDAyYTQ5MDkxOTY5YWNkOGE1Mjg5YzhhNzNkNTkx
OTNlOWNhNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0K
QEAgLTc0LDggKzc0LDggQEAgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5KFdlYlBheW1lbnRDb29yZGluYXRvclByb3gKIAogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6On5XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpCiB7Ci0gICAgaWYg
KG1fc3RhdGUgIT0gU3RhdGU6OklkbGUpCi0gICAgICAgIGhpZGVQYXltZW50VUkoKTsKKyAgICBp
ZiAoIWNhbkJlZ2luKCkpCisgICAgICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOwogCiAgICAgbV9j
bGllbnQucGF5bWVudENvb3JkaW5hdG9yUmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzLCBNZXNz
YWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9pb3MvV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBh
eS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXggYzFhNjQ3ODBlNDM2
Mjc3OWRlYTRiZDBhNDU5NDRkNmZkOThiMWNjMi4uNDEwODQwMGQxNmZiMGMxNWFiOGViZjA4YzQy
MDJkZmE4ZGE5NTg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
aW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQpAQCAt
NTgsMTEgKzU4LDEwIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3Jt
U2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAgbV9hdXRob3JpemF0
aW9uUHJlc2VudGVyLT5wcmVzZW50KG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvclByZXNlbnRp
bmdWaWV3Q29udHJvbGxlcigqdGhpcyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0K
IAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQogewog
ICAgIGlmIChtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIpCiAgICAgICAgIG1fYXV0aG9yaXphdGlv
blByZXNlbnRlci0+ZGlzbWlzcygpOwotICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlciA9IG51
bGxwdHI7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5
L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQppbmRleCBh
NDM5YTUxYzQxYWRlNWNmYTJmZmExMTBlMTUxYTUwMDUyYzQ5OWFmLi5kYzYzYmRmMTIwMGNkMmQ3
ZTllNTZiY2UxMzY5YmExNTBmY2UwNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
TWFjLm1tCkBAIC04NSw3ICs4NSw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6
OnBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAgICAg
IHBheW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93ID0gW05TV2luZG93IHdpbmRv
d1dpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6dmlld0NvbnRyb2xsZXJdOwogCiAgICAgICAgIHBh
eW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93V2lsbENsb3NlT2JzZXJ2ZXIgPSBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpO
U1dpbmRvd1dpbGxDbG9zZU5vdGlmaWNhdGlvbiBvYmplY3Q6cGF5bWVudENvb3JkaW5hdG9yUHJv
eHktPm1fc2hlZXRXaW5kb3cuZ2V0KCkgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3BheW1lbnRDb29y
ZGluYXRvclByb3h5XShOU05vdGlmaWNhdGlvbiAqKSB7Ci0gICAgICAgICAgICBwYXltZW50Q29v
cmRpbmF0b3JQcm94eS0+aGlkZVBheW1lbnRVSSgpOwogICAgICAgICAgICAgcGF5bWVudENvb3Jk
aW5hdG9yUHJveHktPmRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAgICAgICB9XTsKIApAQCAtOTUs
NyArOTQsNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVNob3dQ
YXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTAogICAgIH0pLmdldCgpXTsKIH0KIAot
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQogewogICAg
IGlmIChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmF0aW5nKSB7CiAgICAgICAgICsrbV9zaG93UGF5
bWVudFVJUmVxdWVzdFNlZWQ7CkBAIC0xMTUsNyArMTE0LDYgQEAgdm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCiAKICAgICBpZiAobV9hdXRob3JpemF0aW9u
UHJlc2VudGVyKQogICAgICAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXItPmRpc21pc3MoKTsK
LSAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgPSBudWxscHRyOwogCiAgICAgbV9zaGVldFdp
bmRvdyA9IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402392</attachid>
            <date>2020-06-20 10:55:04 -0700</date>
            <delta_ts>2020-06-23 15:24:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213423-20200620105503.patch</filename>
            <type>text/plain</type>
            <size>24589</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4MTMyNDhmMWNjMGZiNjFh
NThkZGE4MTc1YTExZDY2ZmIyMDZjZDYuLjNlMzQ1N2E5NjYwZDk5MjYyZGI4YjE0ZDliNTlhNDI5
YTIzZjM1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDIwLTA2LTE5ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eSBjYW4gYmUgZGVzdHJveWVkIHdpdGhvdXQgZGlzbWlzc2luZyBpdHMg
YXV0aG9yaXphdGlvbiBwcmVzZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMzQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA0MTYyMjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBh
IHdlYnNpdGUgY29tcGxldGVzIGEgcGF5bWVudCBzZXNzaW9uLCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSB3b3VsZCBzZXQgaXRzIG1fc3RhdGUKKyAgICAgICAgdG8gSWRsZSBieSBjYWxsaW5n
IGRpZFJlYWNoRmluYWxTdGF0ZSwgYnV0IHdvdWxkIHdhaXQgdG8gY2FsbCBoaWRlUGF5bWVudFVJ
IHVudGlsIHRoZQorICAgICAgICBwYXltZW50IGF1dGhvcml6YXRpb24gcHJlc2VudGVyIGNhbGxz
IGl0cyBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suIFRoaXMgYWxsb3dzIHRoZQorICAgICAg
ICBwcmVzZW50ZXIgdG8gZGlzcGxheSBhIGZpbmFsIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYmVmb3Jl
IGRpc21pc3NpbmcuIEFzIGEgY2F0Y2gtYWxsLAorICAgICAgICB+V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkgd291bGQgY2FsbCBoaWRlUGF5bWVudFVJLCBidXQgb25seSBpZiBtX3N0YXRlIHdh
c24ndCBJZGxlLiBJZiBhCisgICAgICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHdhcyBk
ZXN0cm95ZWQgYWZ0ZXIgYSB3ZWJzaXRlIGNvbXBsZXRlZCBhIHBheW1lbnQgc2Vzc2lvbiBidXQK
KyAgICAgICAgYmVmb3JlIHRoZSBwcmVzZW50ZXIgY2FsbGVkIHByZXNlbnRlckRpZEZpbmlzaCwg
aGlkZVBheW1lbnRVSSB3b3VsZCBuZXZlciBiZSBjYWxsZWQuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRyZXNzZXMgdGhpcyBieSBzaW1wbGlmeWluZyB0aGUgbG9naWMgZm9yIGNvbXBsZXRpbmcg
b3IgY2FuY2VsaW5nIGEgcGF5bWVudAorICAgICAgICBzZXNzaW9uLiBJdCdzIGJhc2VkIG9uIHRo
ZSBmb2xsb3dpbmcgb2JzZXJ2YXRpb25zOgorCisgICAgICAgIDEuIFdpdGggdGhlIGV4Y2VwdGlv
biBvZiB0aGUgY2FzZSBkZXNjcmliZWQgYWJvdmUsIGV2ZXJ5IGNhbGxlciBvZiBkaWRSZWFjaEZp
bmFsU3RhdGUgd291bGQKKyAgICAgICAgICAgYWxzbyBjYWxsIGhpZGVQYXltZW50VUkgaW1tZWRp
YXRlbHkgYmVmb3JlaGFuZC4gVGhhdCBtZWFucyB0aGF0IHdlIGNhbiBtb3ZlIHRoZSBjYWxscyB0
bworICAgICAgICAgICBoaWRlUGF5bWVudFVJIGluc2lkZSBkaWRSZWFjaEZpbmFsU3RhdGUuIEZv
ciB0aGUgY29tcGxldGVQYXltZW50U2Vzc2lvbiBjYXNlLCByYXRoZXIgdGhhbgorICAgICAgICAg
ICBjYWxsIGRpZFJlYWNoRmluYWxTdGF0ZSB3aXRob3V0IGRpc21pc3NpbmcgdGhlIFVJLCB3ZSBl
bnRlciBhIG5ldyBDb21wbGV0aW5nIHN0YXRlLCB0aGVuCisgICAgICAgICAgIGNhbGwgZGlkUmVh
Y2hGaW5hbFN0YXRlIGVpdGhlciBpbiB+V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgb3IgcHJl
c2VudGVyRGlkRmluaXNoLgorCisgICAgICAgIDIuIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uIGlz
IHJlYWxseSBhIHNwZWNpYWwgY2FzZSBvZiBkaWRSZWFjaEZpbmFsU3RhdGUgdGhhdCBhbHNvIHNl
bmRzCisgICAgICAgICAgIHRoZSBEaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBtZXNzYWdlIHRvIGNh
bmNlbCBhY3RpdmUgc2Vzc2lvbnMgaW4gdGhlIHdlYiBwcm9jZXNzLiBXZSBjYW4KKyAgICAgICAg
ICAgdGVhY2ggZGlkUmVhY2hGaW5hbFN0YXRlIHRvIHNlbmQgdGhpcyBtZXNzYWdlIHdoZW4gbmVj
ZXNzYXJ5IGFuZCByZW1vdmUKKyAgICAgICAgICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24uCisK
KyAgICAgICAgMy4gUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIgc3RvcmVkIGEgImRpZCBy
ZWFjaCBmaW5hbCBzdGF0ZSIgYm9vbGVhbiBvbiBwYXltZW50CisgICAgICAgICAgIGNvbXBsZXRp
b24gYW5kIHBhc3NlZCB0aGlzIHZhbHVlIGJhY2sgdG8gdGhlIGNsaWVudCBpbiB0aGUgcHJlc2Vu
dGVyRGlkRmluaXNoIGNhbGxiYWNrLgorICAgICAgICAgICBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eSB1c2VkIHRoaXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gY2FuY2VsIGFuIGFjdGl2ZSBz
ZXNzaW9uIGJ5CisgICAgICAgICAgIGNhbGxpbmcgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24gb3Ig
Y2xlYW4gdXAgYSBjb21wbGV0ZWQgc2Vzc2lvbiBieSBjYWxsaW5nIGhpZGVQYXltZW50VUkuCisg
ICAgICAgICAgIFdpdGggdGhlIGFkZGl0aW9uIG9mIHRoZSBDb21wbGV0aW5nIHN0YXRlIGFuZCB0
aGUgbWVyZ2luZyBvZiBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBhbmQKKyAgICAgICAgICAgaGlk
ZVBheW1lbnRVSSBpbnRvIGRpZFJlYWNoRmluYWxTdGF0ZSwgd2UgY2FuIGdldCByaWQgb2YgdGhp
cyBmaW5hbCBzdGF0ZSB0cmFja2luZyBpbgorICAgICAgICAgICBQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciBhbmQgdW5jb25kaXRpb25hbGx5IGNhbGwgZGlkUmVhY2hGaW5hbFN0YXRlIGlu
IHRoZQorICAgICAgICAgICBwcmVzZW50ZXJEaWRGaW5pc2ggY2FsbGJhY2suCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIHBvc3NpYmxlLiBBIG1hbnVhbCB0ZXN0IGNhc2UgaXMgZGVzY3JpYmVkIGlu
IDxyZGFyOi8vcHJvYmxlbS82MDQxNjIyMT4uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oOiBSZW1vdmVkIHRoZSBkaWRSZWFjaEZpbmFs
U3RhdGUgYXJndW1lbnQKKyAgICAgICAgZnJvbSBDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4K
KworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbik6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICAtW1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVycm9yczpdLgor
CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
Lmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlLm1tOiBSZW1vdmVkIHRoZSBfZGlkUmVhY2hGaW5hbFN0YXRlIGl2YXIuCisgICAgICAgICgt
W1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpdKTogUmVuYW1lZCBmcm9tCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczpkaWRSZWFjaEZpbmFsU3RhdGU6LiBTdG9wcGVkIHNldHRpbmcgX2RpZFJlYWNoRmluYWxT
dGF0ZS4KKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGludmFsaWRh
dGVdKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAgIC1jb21wbGV0ZVBheW1lbnRTZXNzaW9uOmVy
cm9yczouCisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBfZGlkQXV0
aG9yaXplUGF5bWVudDpjb21wbGV0aW9uOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRGaW5pc2hdKTogU3RvcHBlZCBwYXNzaW5nIHRoZSB2
YWx1ZSBvZgorICAgICAgICBfZGlkUmVhY2hGaW5hbFN0YXRlIHRvIFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyOjpDbGllbnQ6OnByZXNlbnRlckRpZEZpbmlzaC4KKyAgICAgICAgKC1bV0tQ
YXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJyb3Jz
OmRpZFJlYWNoRmluYWxTdGF0ZTpdKToKKyAgICAgICAgUmVuYW1lZCB0byAtY29tcGxldGVQYXlt
ZW50U2Vzc2lvbjplcnJvcnM6LgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OnNob3dQYXltZW50VUkpOiBSZXBsYWNlZCBjYWxscyB0bworICAgICAgICBk
aWRDYW5jZWxQYXltZW50U2Vzc2lvbiB3aXRoIGRpZFJlYWNoRmluYWxTdGF0ZS4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Np
b24pOiBTZXQgbV9zdGF0ZSB0byBDb21wbGV0aW5nCisgICAgICAgIHJhdGhlciB0aGFuIGNhbGwg
ZGlkUmVhY2hGaW5hbFN0YXRlLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6YWJvcnRQYXltZW50U2Vzc2lvbik6IFJlbW92ZWQgY2FsbCB0byBoaWRlUGF5bWVu
dFVJCisgICAgICAgIHNpbmNlIGRpZFJlYWNoRmluYWxTdGF0ZSB3YXMgYWxyZWFkeSBiZWluZyBj
YWxsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5j
ZWxQYXltZW50U2Vzc2lvbik6IFJlcGxhY2VkIGNhbGwgdG8KKyAgICAgICAgZGlkQ2FuY2VsUGF5
bWVudFNlc3Npb24gd2l0aCBkaWRSZWFjaEZpbmFsU3RhdGUuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRGaW5pc2gpOiBDYWxsZWQgZGlk
UmVhY2hGaW5hbFN0YXRlCisgICAgICAgIHVuY29uZGl0aW9uYWxseSBub3cgdGhhdCB0aGUgZGlk
UmVhY2hGaW5hbFN0YXRlIGJvb2xlYW4gaGFzIGJlZW4gcmVtb3ZlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkJlZ2luIGNvbnN0KTogUmV0dXJuZWQg
ZmFsc2UgZm9yIFN0YXRlOjpDb21wbGV0aW5nLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsIGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5Db21wbGV0ZVBheW1lbnQgY29uc3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bkFib3J0IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpkaWRSZWFjaEZpbmFsU3RhdGUpOiBBZGRlZCBhbiBlYXJseSByZXR1cm4gaWYg
bV9zdGF0ZQorICAgICAgICBpcyBhbHJlYWR5IElkbGUuIFNlbnQgdGhlIERpZENhbmNlbFBheW1l
bnRTZXNzaW9uIG1lc3NhZ2UgaWYgY2FuQ2FuY2VsIGlzIHRydWUuIENhbGxlZAorICAgICAgICBw
bGF0Zm9ybUhpZGVQYXltZW50VUkgYmVmb3JlIGNsZWFyaW5nIG1fYXV0aG9yaXphdGlvblByZXNl
bnRlciBhbmQgc2V0dGluZyBtX3N0YXRlIHRvIElkbGUuCisgICAgICAgIChXZWJLaXQ6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbik6IERlbGV0ZWQu
CisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZFJlYWNo
RmluYWxTdGF0ZSk6IEFkZGVkIGEgUGF5bWVudFNlc3Npb25FcnJvciYmIGFyZy4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZENhbmNlbFBheW1lbnRTZXNz
aW9uKTogRGVsZXRlZC4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6fldlYlBheW1lbnRDb29yZGluYXRvclByb3h5KTogUmVwbGFjZWQg
Y2FsbCB0bworICAgICAgICBoaWRlUGF5bWVudFVJIHdpdGggZGlkUmVhY2hGaW5hbFN0YXRlLgor
CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBs
YXRmb3JtSGlkZVBheW1lbnRVSSk6IFJlbmFtZWQgZnJvbSBoaWRlUGF5bWVudFVJLgorICAgICAg
ICBTdG9wcGVkIGNsZWFyaW5nIG1fYXV0aG9yaXphdGlvblByZXNlbnRlciBzaW5jZSBkaWRSZWFj
aEZpbmFsU3RhdGUgbm93IGRvZXMgdGhhdC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmhpZGVQYXltZW50VUkpOiBSZW5hbWVkIHRvIHBsYXRmb3JtSGlkZVBh
eW1lbnRVSS4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpwbGF0Zm9ybVNob3dQYXltZW50VUkpOiBSZW1vdmVkIGNhbGwgdG8gaGlkZVBheW1l
bnRVSQorICAgICAgICBzaW5jZSBkaWRSZWFjaEZpbmFsU3RhdGUgd2FzIGFscmVhZHkgYmVpbmcg
Y2FsbGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1IaWRlUGF5bWVudFVJKTogUmVuYW1lZCBmcm9tIGhpZGVQYXltZW50VUkuCisgICAgICAg
IFN0b3BwZWQgY2xlYXJpbmcgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyIHNpbmNlIGRpZFJlYWNo
RmluYWxTdGF0ZSBub3cgZG9lcyB0aGF0LgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSk6IFJlbmFtZWQgdG8gcGxhdGZvcm1IaWRlUGF5
bWVudFVJLgorCiAyMDIwLTA2LTE5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IE1ha2UgaXNvbGF0ZWQgdHJlZSBlbmFibGVtZW50IHN0YXR1cyBk
ZXBlbmRlbnQgb24gY2xpZW50IHByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaAppbmRl
eCBiNjY1MDU3ZjQ2MWRmNDFmYmZiODEwMTNmNmE1NWQzYTA4NWU2OWNlLi5mYzc2NGExMDBlNTIx
ODU0YzA3Nzk2M2JkNDRjYWE4M2YxOTAyODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oCkBA
IC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZh
dWx0OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50
KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYp
ID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0
aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9v
bCBkaWRSZWFjaEZpbmFsU3RhdGUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRl
ckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1l
bnRTZXNzaW9uRXJyb3ImJikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlk
U2VsZWN0UGF5bWVudE1ldGhvZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0
IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVz
ZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVl
c3Q6OlNoaXBwaW5nTWV0aG9kJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXgg
OWJhODcyMTQ2ODM5Zjc5OGFkMDRkNWMzNTExZWIwMWNlMjZiNDlmYS4uNjY4ZjE0MzI5YWM4ZDRl
MTAzNGUxMTg0ZGRkMjY0YTZhYzIwZGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBA
IC0xOTgsNyArMTk4LDcgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBPcHRpb25hbDxXZWJDb3IKICAgICBBU1NFUlQocGxh
dGZvcm1EZWxlZ2F0ZSgpKTsKICAgICBhdXRvIHN0YXR1cyA9IHJlc3VsdCA/IHRvUEtQYXltZW50
QXV0aG9yaXphdGlvblN0YXR1cyhyZXN1bHQtPnN0YXR1cykgOiBQS1BheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzU3VjY2VzczsKICAgICBSZXRhaW5QdHI8TlNBcnJheT4gZXJyb3JzID0gcmVzdWx0
ID8gdG9OU0Vycm9ycyhyZXN1bHQtPmVycm9ycykgOiBAWyBdOwotICAgIFtwbGF0Zm9ybURlbGVn
YXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKSBk
aWRSZWFjaEZpbmFsU3RhdGU6V2ViQ29yZTo6aXNGaW5hbFN0YXRlUmVzdWx0KHJlc3VsdCldOwor
ICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJy
b3JzOmVycm9ycy5nZXQoKV07CiB9CiAKIHZvaWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXI6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNvbnN0IE9wdGlvbmFsPFdlYkNv
cmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mIHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0
ZS5oCmluZGV4IGM5MzVmMjc2ZDhmMWFjMWYxYjk2MGFiZTNhODk1NmRhYTBkMWM2OTkuLjJkYzAw
MDhkYmJkOGM0MmVlMzdiODcyMjVjZmYyZjRjMGQ4NTA1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGUuaApAQCAtNTQsNyArNTQsNyBAQCB1c2luZyBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENv
bXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZwogCiAtICh2
b2lkKWNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uOihQS1BheW1lbnRNZXJjaGFudFNlc3Npb24g
KilzZXNzaW9uIGVycm9yOihOU0Vycm9yICopZXJyb3I7CiAtICh2b2lkKWNvbXBsZXRlUGF5bWVu
dE1ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKilw
YXltZW50TWV0aG9kVXBkYXRlOwotLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1Bh
eW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAq
PiAqKWVycm9ycyBkaWRSZWFjaEZpbmFsU3RhdGU6KEJPT0wpZGlkUmVhY2hGaW5hbFN0YXRlOwor
LSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3Rh
dHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9yczsKIC0gKHZvaWQp
Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGlu
Z0NvbnRhY3RVcGRhdGUgKilzaGlwcGluZ0NvbnRhY3RVcGRhdGU7CiAtICh2b2lkKWNvbXBsZXRl
U2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVw
ZGF0ZSAqKXNoaXBwaW5nTWV0aG9kVXBkYXRlOwogLSAodm9pZClpbnZhbGlkYXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9u
RGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhv
cml6YXRpb25EZWxlZ2F0ZS5tbQppbmRleCAzMDBmMGMyZGI3YTA2NmY4NDY4MzJmMTFlZWU4MTRj
NWRlYjczMDRlLi5mYzkyYzg5YjZjZTk4ZTFkYTAzM2RhMTE5ZGNiNDhmOGFlZGRmYmRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRp
b25EZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDcgKzMzLDYgQEAKICNpbXBvcnQgPFdl
YkNvcmUvUGF5bWVudFNlc3Npb25FcnJvci5oPgogCiBAaW1wbGVtZW50YXRpb24gV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIHsKLSAgICBCT09MIF9kaWRSZWFjaEZpbmFsU3RhdGU7CiAg
ICAgUmV0YWluUHRyPE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4+IF9zdW1tYXJ5SXRl
bXM7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtTaGlwcGluZ01ldGhvZCAqPj4gX3NoaXBwaW5n
TWV0aG9kczsKICAgICBSZXRhaW5QdHI8TlNFcnJvcj4gX3Nlc3Npb25FcnJvcjsKQEAgLTY3LDkg
KzY2LDggQEAgLSAodm9pZCljb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVu
dFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICopcGEKICAgICBzdGQ6OmV4Y2hhbmdlKF9kaWRT
ZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlvbiwgbmlsKSh1cGRhdGUpOwogfQogCi0tICh2b2lk
KWNvbXBsZXRlUGF5bWVudFNlc3Npb246KFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMpc3Rh
dHVzIGVycm9yczooTlNBcnJheTxOU0Vycm9yICo+ICopZXJyb3JzIGRpZFJlYWNoRmluYWxTdGF0
ZTooQk9PTClkaWRSZWFjaEZpbmFsU3RhdGUKKy0gKHZvaWQpY29tcGxldGVQYXltZW50U2Vzc2lv
bjooUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cylzdGF0dXMgZXJyb3JzOihOU0FycmF5PE5T
RXJyb3IgKj4gKillcnJvcnMKIHsKLSAgICBfZGlkUmVhY2hGaW5hbFN0YXRlID0gZGlkUmVhY2hG
aW5hbFN0YXRlOwogICAgIGF1dG8gcmVzdWx0ID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVu
dEF1dGhvcml6YXRpb25SZXN1bHRJbnN0YW5jZSgpIGluaXRXaXRoU3RhdHVzOnN0YXR1cyBlcnJv
cnM6ZXJyb3JzXSk7CiAgICAgc3RkOjpleGNoYW5nZShfZGlkQXV0aG9yaXplUGF5bWVudENvbXBs
ZXRpb24sIG5pbCkocmVzdWx0LmdldCgpKTsKIH0KQEAgLTkxLDcgKzg5LDcgQEAgLSAodm9pZClj
b21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdN
ZXRob2RVcGRhdGUgKikKIC0gKHZvaWQpaW52YWxpZGF0ZQogewogICAgIGlmIChfZGlkQXV0aG9y
aXplUGF5bWVudENvbXBsZXRpb24pCi0gICAgICAgIFtzZWxmIGNvbXBsZXRlUGF5bWVudFNlc3Np
b246UEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c0ZhaWx1cmUgZXJyb3JzOkBbXSBkaWRSZWFj
aEZpbmFsU3RhdGU6WUVTXTsKKyAgICAgICAgW3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQ
S1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6QFsgXV07CiB9CiAKIEBl
bmQKQEAgLTExNyw3ICsxMTUsNyBAQCAtICh2b2lkKV9kaWRBdXRob3JpemVQYXltZW50OihQS1Bh
eW1lbnQgKilwYXltZW50IGNvbXBsZXRpb246KFdlYktpdDo6RGlkQXV0aG9yaQogCiAgICAgYXV0
byBwcmVzZW50ZXIgPSBfcHJlc2VudGVyLmdldCgpOwogICAgIGlmICghcHJlc2VudGVyKQotICAg
ICAgICByZXR1cm4gW3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRob3Jp
emF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6QFsgXSBkaWRSZWFjaEZpbmFsU3RhdGU6WUVTXTsK
KyAgICAgICAgcmV0dXJuIFtzZWxmIGNvbXBsZXRlUGF5bWVudFNlc3Npb246UEtQYXltZW50QXV0
aG9yaXphdGlvblN0YXR1c0ZhaWx1cmUgZXJyb3JzOkBbIF1dOwogCiAgICAgcHJlc2VudGVyLT5j
bGllbnQoKS5wcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50KCpwcmVzZW50ZXIsIFdlYkNvcmU6
OlBheW1lbnQocGF5bWVudCkpOwogfQpAQCAtMTI1LDcgKzEyMyw3IEBAIC0gKHZvaWQpX2RpZEF1
dGhvcml6ZVBheW1lbnQ6KFBLUGF5bWVudCAqKXBheW1lbnQgY29tcGxldGlvbjooV2ViS2l0OjpE
aWRBdXRob3JpCiAtICh2b2lkKV9kaWRGaW5pc2gKIHsKICAgICBpZiAoYXV0byBwcmVzZW50ZXIg
PSBfcHJlc2VudGVyLmdldCgpKQotICAgICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRl
ckRpZEZpbmlzaCgqcHJlc2VudGVyLCB7IHN0ZDo6ZXhjaGFuZ2UoX3Nlc3Npb25FcnJvciwgbmls
KSB9LCBfZGlkUmVhY2hGaW5hbFN0YXRlKTsKKyAgICAgICAgcHJlc2VudGVyLT5jbGllbnQoKS5w
cmVzZW50ZXJEaWRGaW5pc2goKnByZXNlbnRlciwgeyBzdGQ6OmV4Y2hhbmdlKF9zZXNzaW9uRXJy
b3IsIG5pbCkgfSk7CiB9CiAKIC0gKHZvaWQpX2RpZFJlcXVlc3RNZXJjaGFudFNlc3Npb246KFdl
YktpdDo6RGlkUmVxdWVzdE1lcmNoYW50U2Vzc2lvbkNvbXBsZXRpb246OkJsb2NrVHlwZSljb21w
bGV0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggYjkyNmIzYjIxNTc3NTlkMTkyMmFh
ZWQ4MGQ2YzQ1YzJlZjUxYjY4Ny4uOTE0OGFhMDI4OTI4YWMyMjE1OGFlM2Q0NDZhOWI3OWZhNjJi
YjMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc3LDcgKzc3LDcgQEAgdm9pZCBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcm
IG1lcmNoYW50SWRlbnRpZmkKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnNob3dQ
YXltZW50VUkoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgZGVzdGluYXRpb25JRCwgY29uc3QgU3Ry
aW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxpbmtJY29u
VVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Qm
IHBheW1lbnRSZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewogICAgIGlmIChhdXRvJiBjb29yZGluYXRvciA9IGFjdGl2ZVBheW1lbnRD
b29yZGluYXRvclByb3h5KCkpCi0gICAgICAgIGNvb3JkaW5hdG9yLT5kaWRDYW5jZWxQYXltZW50
U2Vzc2lvbigpOworICAgICAgICBjb29yZGluYXRvci0+ZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiAg
ICAgYWN0aXZlUGF5bWVudENvb3JkaW5hdG9yUHJveHkoKSA9IG1ha2VXZWFrUHRyKHRoaXMpOwog
CiAgICAgTUVTU0FHRV9DSEVDSyhjYW5CZWdpbigpKTsKQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpzaG93UGF5bWVudFVJKFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIGRlc3RpbmF0aQogCiAgICAgICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpB
Y3RpdmF0aW5nKTsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGRpZENhbmNl
bFBheW1lbnRTZXNzaW9uKCk7CisgICAgICAgICAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBP
cHRpb25hbDxXZWJDb3JlOjoKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGRpZFJlYWNo
RmluYWxTdGF0ZSgpOworICAgIG1fc3RhdGUgPSBTdGF0ZTo6Q29tcGxldGluZzsKIH0KIAogdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6YWJvcnRQYXltZW50U2Vzc2lvbigpCkBAIC0x
ODgsOCArMTg4LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6YWJvcnRQYXlt
ZW50U2Vzc2lvbigpCiAgICAgaWYgKCFjYW5BYm9ydCgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBoaWRlUGF5bWVudFVJKCk7Ci0KICAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKIH0KIApAQCAt
MTk4LDE0ICsxOTYsNiBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5jZWxQ
YXltZW50U2Vzc2lvbigpCiAgICAgaWYgKCFjYW5DYW5jZWwoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKTsKLX0KLQotdm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNl
c3Npb25FcnJvciYmIGVycm9yKQotewotICAgIEFTU0VSVChjYW5DYW5jZWwoKSk7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpEaWRDYW5jZWxQYXltZW50U2Vzc2lv
bihXVEZNb3ZlKGVycm9yKSkpOwotICAgIGhpZGVQYXltZW50VUkoKTsKICAgICBkaWRSZWFjaEZp
bmFsU3RhdGUoKTsKIH0KIApAQCAtMjIzLDEyICsyMTMsOSBAQCB2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50KFBheW1lbnRBdXRob3Jp
emF0aQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6RGlkQXV0aG9y
aXplUGF5bWVudChwYXltZW50KSk7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OnByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdl
YkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiBlcnJvciwgYm9vbCBkaWRSZWFjaEZpbmFsU3Rh
dGUpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRGaW5pc2go
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVy
cm9yJiYgZXJyb3IpCiB7Ci0gICAgaWYgKCFkaWRSZWFjaEZpbmFsU3RhdGUpCi0gICAgICAgIGRp
ZENhbmNlbFBheW1lbnRTZXNzaW9uKFdURk1vdmUoZXJyb3IpKTsKLSAgICBlbHNlCi0gICAgICAg
IGhpZGVQYXltZW50VUkoKTsKKyAgICBkaWRSZWFjaEZpbmFsU3RhdGUoV1RGTW92ZShlcnJvcikp
OwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRTZWxl
Y3RTaGlwcGluZ01ldGhvZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdl
YkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZCYgc2hp
cHBpbmdNZXRob2QpCkBAIC0yNjQsNiArMjUxLDcgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6Y2FuQmVnaW4oKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OkFjdGl2YXRpbmc6CiAg
ICAgY2FzZSBTdGF0ZTo6QWN0aXZlOgogICAgIGNhc2UgU3RhdGU6OkF1dGhvcml6ZWQ6CisgICAg
Y2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNl
bGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNh
c2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKQEAgLTI4Miw2ICsyNzAsNyBAQCBib29s
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5DYW5jZWwoKSBjb25zdAogICAgIGNhc2Ug
U3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAg
ICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgogICAgIGNhc2UgU3RhdGU6OklkbGU6CiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0yOTYsNiArMjg1LDcgQEAgYm9vbCBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ29tcGxldGVQYXltZW50KCkgY29uc3QKICAgICBjYXNlIFN0
YXRlOjpJZGxlOgogICAgIGNhc2UgU3RhdGU6OkFjdGl2YXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6
QWN0aXZlOgorICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6U2hp
cHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxl
Y3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CkBAIC0zMTQsMTYg
KzMwNCwyNSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5BYm9ydCgpIGNv
bnN0CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgICAgICByZXR1
cm4gdHJ1ZTsKIAorICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6
SWRsZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIH0KIAotdm9pZCBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6ZGlkUmVhY2hGaW5hbFN0YXRlKCkKK3ZvaWQgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmRpZFJlYWNoRmluYWxTdGF0ZShXZWJDb3JlOjpQYXltZW50U2Vzc2lv
bkVycm9yJiYgZXJyb3IpCiB7CisgICAgQVNTRVJUKCFjYW5CZWdpbigpKTsKKworICAgIGlmIChj
YW5DYW5jZWwoKSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9y
OjpEaWRDYW5jZWxQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGVycm9yKSkpOworCisgICAgcGxhdGZv
cm1IaWRlUGF5bWVudFVJKCk7CisKKyAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgPSBudWxs
cHRyOwogICAgIG1fZGVzdGluYXRpb25JRCA9IFdURjo6bnVsbG9wdDsKLSAgICBtX3N0YXRlID0g
U3RhdGU6OklkbGU7CiAgICAgbV9tZXJjaGFudFZhbGlkYXRpb25TdGF0ZSA9IE1lcmNoYW50VmFs
aWRhdGlvblN0YXRlOjpJZGxlOworICAgIG1fc3RhdGUgPSBTdGF0ZTo6SWRsZTsKIAogICAgIEFT
U0VSVChhY3RpdmVQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpID09IHRoaXMpOwogICAgIGFjdGl2
ZVBheW1lbnRDb29yZGluYXRvclByb3h5KCkgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgK
aW5kZXggMmE4YjE3YjY1MzNhM2NiZmY5YjE2NzUwMjQwZGE0ODlmNDk2YjIwNS4uNjUxYzcxMDE5
NjdmMjUyNDE5ODdiNzcwZTA2NzI3OTQwOTdiYTIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gUGF5bWVudEF1dGhvcml6
YXRpb25QcmVzZW50ZXI6OkNsaWVudAogICAgIHZvaWQgcHJlc2VudGVyRGlkQXV0aG9yaXplUGF5
bWVudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1l
bnQmKSBmaW5hbDsKLSAgICB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9vbCBkaWRS
ZWFjaEZpbmFsU3RhdGUpIGZpbmFsOworICAgIHZvaWQgcHJlc2VudGVyRGlkRmluaXNoKFBheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYm
KSBmaW5hbDsKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFBheW1lbnRNZXRob2QoUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJikg
ZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYp
IGZpbmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBmaW5hbDsKQEAgLTE0MSw5ICsxNDEsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50KCkgY29uc3Q7CiAgICAgYm9v
bCBjYW5BYm9ydCgpIGNvbnN0OwogCi0gICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihX
ZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgPSB7IH0pOwotICAgIHZvaWQgZGlkUmVhY2hG
aW5hbFN0YXRlKCk7Ci0gICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7CisgICAgdm9pZCBkaWRSZWFj
aEZpbmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYmID0geyB9KTsKIAogICAg
IHZvaWQgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNv
bnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUs
IFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CkBAIC0xNTQs
NiArMTUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBk
YXRlPiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
Y29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT4mKTsKICAgICB2b2lk
IHBsYXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpQ
YXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKKyAgICB2b2lkIHBsYXRmb3JtSGlkZVBheW1l
bnRVSSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFpblB0cjxQS1BheW1lbnRSZXF1
ZXN0PiBwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNv
bnN0IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0Jik7CiAjZW5kaWYKQEAgLTE4Miw2ICsxODEsOSBAQCBwcml2YXRl
OgogCiAgICAgICAgIC8vIFBheW1lbnRNZXRob2RTZWxlY3RlZCAtIERpc3BhdGNoaW5nIHRoZSBw
YXltZW50bWV0aG9kc2VsZWN0ZWQgZXZlbnQgYW5kIHdhaXRpbmcgZm9yIGEgcmVwbHkuCiAgICAg
ICAgIFBheW1lbnRNZXRob2RTZWxlY3RlZCwKKworICAgICAgICAvLyBDb21wbGV0aW5nIC0gQ29t
cGxldGluZyB0aGUgcGF5bWVudCBhbmQgd2FpdGluZyBmb3IgcHJlc2VudGVyRGlkRmluaXNoIHRv
IGJlIGNhbGxlZC4KKyAgICAgICAgQ29tcGxldGluZywKICAgICB9IG1fc3RhdGUgeyBTdGF0ZTo6
SWRsZSB9OwogCiAgICAgZW51bSBjbGFzcyBNZXJjaGFudFZhbGlkYXRpb25TdGF0ZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCAzMjFjY2RkMjNjOGQz
YjI0OTZkMDY2MTI0NjFjMzQxOGIwYzlmMDQzLi40NDAyYTQ5MDkxOTY5YWNkOGE1Mjg5YzhhNzNk
NTkxOTNlOWNhNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
bW0KQEAgLTc0LDggKzc0LDggQEAgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OldlYlBheW1l
bnRDb29yZGluYXRvclByb3h5KFdlYlBheW1lbnRDb29yZGluYXRvclByb3gKIAogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6On5XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSgpCiB7Ci0gICAg
aWYgKG1fc3RhdGUgIT0gU3RhdGU6OklkbGUpCi0gICAgICAgIGhpZGVQYXltZW50VUkoKTsKKyAg
ICBpZiAoIWNhbkJlZ2luKCkpCisgICAgICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOwogCiAgICAg
bV9jbGllbnQucGF5bWVudENvb3JkaW5hdG9yUmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzLCBN
ZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9pb3MvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBs
ZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXggYzFhNjQ3ODBl
NDM2Mjc3OWRlYTRiZDBhNDU5NDRkNmZkOThiMWNjMi4uNDEwODQwMGQxNmZiMGMxNWFiOGViZjA4
YzQyMDJkZmE4ZGE5NTg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQ
YXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUlPUy5tbQpA
QCAtNTgsMTEgKzU4LDEwIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRm
b3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAgbV9hdXRob3Jp
emF0aW9uUHJlc2VudGVyLT5wcmVzZW50KG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvclByZXNl
bnRpbmdWaWV3Q29udHJvbGxlcigqdGhpcyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
IH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQog
ewogICAgIGlmIChtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIpCiAgICAgICAgIG1fYXV0aG9yaXph
dGlvblByZXNlbnRlci0+ZGlzbWlzcygpOwotICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlciA9
IG51bGxwdHI7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxl
UGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQppbmRl
eCBhNDM5YTUxYzQxYWRlNWNmYTJmZmExMTBlMTUxYTUwMDUyYzQ5OWFmLi5kYzYzYmRmMTIwMGNk
MmQ3ZTllNTZiY2UxMzY5YmExNTBmY2UwNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5TWFjLm1tCkBAIC04NSw3ICs4NSw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OnBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMCiAgICAg
ICAgIHBheW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93ID0gW05TV2luZG93IHdp
bmRvd1dpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6dmlld0NvbnRyb2xsZXJdOwogCiAgICAgICAg
IHBheW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2luZG93V2lsbENsb3NlT2JzZXJ2ZXIg
PSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFt
ZTpOU1dpbmRvd1dpbGxDbG9zZU5vdGlmaWNhdGlvbiBvYmplY3Q6cGF5bWVudENvb3JkaW5hdG9y
UHJveHktPm1fc2hlZXRXaW5kb3cuZ2V0KCkgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3BheW1lbnRD
b29yZGluYXRvclByb3h5XShOU05vdGlmaWNhdGlvbiAqKSB7Ci0gICAgICAgICAgICBwYXltZW50
Q29vcmRpbmF0b3JQcm94eS0+aGlkZVBheW1lbnRVSSgpOwogICAgICAgICAgICAgcGF5bWVudENv
b3JkaW5hdG9yUHJveHktPmRpZFJlYWNoRmluYWxTdGF0ZSgpOwogICAgICAgICB9XTsKIApAQCAt
OTUsNyArOTQsNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVNo
b3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTAogICAgIH0pLmdldCgpXTsKIH0K
IAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCit2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUhpZGVQYXltZW50VUkoKQogewog
ICAgIGlmIChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmF0aW5nKSB7CiAgICAgICAgICsrbV9zaG93
UGF5bWVudFVJUmVxdWVzdFNlZWQ7CkBAIC0xMTUsNyArMTE0LDYgQEAgdm9pZCBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCiAKICAgICBpZiAobV9hdXRob3JpemF0
aW9uUHJlc2VudGVyKQogICAgICAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXItPmRpc21pc3Mo
KTsKLSAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgPSBudWxscHRyOwogCiAgICAgbV9zaGVl
dFdpbmRvdyA9IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402597</attachid>
            <date>2020-06-23 15:24:46 -0700</date>
            <delta_ts>2020-06-23 15:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213423-20200623152446.patch</filename>
            <type>text/plain</type>
            <size>24553</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmYTYxN2JiOTFmNzRjOWM1
NTdlYjIxYWM5MzYzNzA2NzcyYzY0M2MuLmFkNDI4MDM2NzdjZjViMjhlYjkwY2ZhMTM5Y2FkMTkx
NjlhMjcxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDIwLTA2LTE5ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eSBjYW4gYmUgZGVzdHJveWVkIHdpdGhvdXQgZGlzbWlzc2luZyBpdHMg
YXV0aG9yaXphdGlvbiBwcmVzZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMzQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA0MTYyMjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBXaGVuIGEg
d2Vic2l0ZSBjb21wbGV0ZXMgYSBwYXltZW50IHNlc3Npb24sIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5IHdvdWxkIHNldCBpdHMgbV9zdGF0ZQorICAgICAgICB0byBJZGxlIGJ5IGNhbGxpbmcg
ZGlkUmVhY2hGaW5hbFN0YXRlLCBidXQgd291bGQgd2FpdCB0byBjYWxsIGhpZGVQYXltZW50VUkg
dW50aWwgdGhlCisgICAgICAgIHBheW1lbnQgYXV0aG9yaXphdGlvbiBwcmVzZW50ZXIgY2FsbHMg
aXRzIHByZXNlbnRlckRpZEZpbmlzaCBjYWxsYmFjay4gVGhpcyBhbGxvd3MgdGhlCisgICAgICAg
IHByZXNlbnRlciB0byBkaXNwbGF5IGEgZmluYWwgbWVzc2FnZSB0byB0aGUgdXNlciBiZWZvcmUg
ZGlzbWlzc2luZy4gQXMgYSBjYXRjaC1hbGwsCisgICAgICAgIH5XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSB3b3VsZCBjYWxsIGhpZGVQYXltZW50VUksIGJ1dCBvbmx5IGlmIG1fc3RhdGUgd2Fz
bid0IElkbGUuIElmIGEKKyAgICAgICAgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgd2FzIGRl
c3Ryb3llZCBhZnRlciBhIHdlYnNpdGUgY29tcGxldGVkIGEgcGF5bWVudCBzZXNzaW9uIGJ1dAor
ICAgICAgICBiZWZvcmUgdGhlIHByZXNlbnRlciBjYWxsZWQgcHJlc2VudGVyRGlkRmluaXNoLCBo
aWRlUGF5bWVudFVJIHdvdWxkIG5ldmVyIGJlIGNhbGxlZC4KKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHJlc3NlcyB0aGlzIGJ5IHNpbXBsaWZ5aW5nIHRoZSBsb2dpYyBmb3IgY29tcGxldGluZyBv
ciBjYW5jZWxpbmcgYSBwYXltZW50CisgICAgICAgIHNlc3Npb24uIEl0J3MgYmFzZWQgb24gdGhl
IGZvbGxvd2luZyBvYnNlcnZhdGlvbnM6CisKKyAgICAgICAgMS4gV2l0aCB0aGUgZXhjZXB0aW9u
IG9mIHRoZSBjYXNlIGRlc2NyaWJlZCBhYm92ZSwgZXZlcnkgY2FsbGVyIG9mIGRpZFJlYWNoRmlu
YWxTdGF0ZSB3b3VsZAorICAgICAgICAgICBhbHNvIGNhbGwgaGlkZVBheW1lbnRVSSBpbW1lZGlh
dGVseSBiZWZvcmVoYW5kLiBUaGF0IG1lYW5zIHRoYXQgd2UgY2FuIG1vdmUgdGhlIGNhbGxzIHRv
CisgICAgICAgICAgIGhpZGVQYXltZW50VUkgaW5zaWRlIGRpZFJlYWNoRmluYWxTdGF0ZS4gRm9y
IHRoZSBjb21wbGV0ZVBheW1lbnRTZXNzaW9uIGNhc2UsIHJhdGhlciB0aGFuCisgICAgICAgICAg
IGNhbGwgZGlkUmVhY2hGaW5hbFN0YXRlIHdpdGhvdXQgZGlzbWlzc2luZyB0aGUgVUksIHdlIGVu
dGVyIGEgbmV3IENvbXBsZXRpbmcgc3RhdGUsIHRoZW4KKyAgICAgICAgICAgY2FsbCBkaWRSZWFj
aEZpbmFsU3RhdGUgZWl0aGVyIGluIH5XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSBvciBwcmVz
ZW50ZXJEaWRGaW5pc2guCisKKyAgICAgICAgMi4gZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24gaXMg
cmVhbGx5IGEgc3BlY2lhbCBjYXNlIG9mIGRpZFJlYWNoRmluYWxTdGF0ZSB0aGF0IGFsc28gc2Vu
ZHMKKyAgICAgICAgICAgdGhlIERpZENhbmNlbFBheW1lbnRTZXNzaW9uIG1lc3NhZ2UgdG8gY2Fu
Y2VsIGFjdGl2ZSBzZXNzaW9ucyBpbiB0aGUgd2ViIHByb2Nlc3MuIFdlIGNhbgorICAgICAgICAg
ICB0ZWFjaCBkaWRSZWFjaEZpbmFsU3RhdGUgdG8gc2VuZCB0aGlzIG1lc3NhZ2Ugd2hlbiBuZWNl
c3NhcnkgYW5kIHJlbW92ZQorICAgICAgICAgICBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbi4KKwor
ICAgICAgICAzLiBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciBzdG9yZWQgYSAiZGlkIHJl
YWNoIGZpbmFsIHN0YXRlIiBib29sZWFuIG9uIHBheW1lbnQKKyAgICAgICAgICAgY29tcGxldGlv
biBhbmQgcGFzc2VkIHRoaXMgdmFsdWUgYmFjayB0byB0aGUgY2xpZW50IGluIHRoZSBwcmVzZW50
ZXJEaWRGaW5pc2ggY2FsbGJhY2suCisgICAgICAgICAgIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5IHVzZWQgdGhpcyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBjYW5jZWwgYW4gYWN0aXZlIHNl
c3Npb24gYnkKKyAgICAgICAgICAgY2FsbGluZyBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbiBvciBj
bGVhbiB1cCBhIGNvbXBsZXRlZCBzZXNzaW9uIGJ5IGNhbGxpbmcgaGlkZVBheW1lbnRVSS4KKyAg
ICAgICAgICAgV2l0aCB0aGUgYWRkaXRpb24gb2YgdGhlIENvbXBsZXRpbmcgc3RhdGUgYW5kIHRo
ZSBtZXJnaW5nIG9mIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uIGFuZAorICAgICAgICAgICBoaWRl
UGF5bWVudFVJIGludG8gZGlkUmVhY2hGaW5hbFN0YXRlLCB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGlz
IGZpbmFsIHN0YXRlIHRyYWNraW5nIGluCisgICAgICAgICAgIFBheW1lbnRBdXRob3JpemF0aW9u
UHJlc2VudGVyIGFuZCB1bmNvbmRpdGlvbmFsbHkgY2FsbCBkaWRSZWFjaEZpbmFsU3RhdGUgaW4g
dGhlCisgICAgICAgICAgIHByZXNlbnRlckRpZEZpbmlzaCBjYWxsYmFjay4KKworICAgICAgICBO
byBuZXcgdGVzdHMgcG9zc2libGUuIEEgbWFudWFsIHRlc3QgY2FzZSBpcyBkZXNjcmliZWQgaW4g
PHJkYXI6Ly9wcm9ibGVtLzYwNDE2MjIxPi4KKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1Bh
eW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmg6IFJlbW92ZWQgdGhlIGRpZFJlYWNoRmluYWxT
dGF0ZSBhcmd1bWVudAorICAgICAgICBmcm9tIENsaWVudDo6cHJlc2VudGVyRGlkRmluaXNoLgor
CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIu
bW06CisgICAgICAgIChXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21w
bGV0ZVBheW1lbnRTZXNzaW9uKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAgIC1bV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJyb3JzOl0uCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUu
aDoKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdh
dGUubW06IFJlbW92ZWQgdGhlIF9kaWRSZWFjaEZpbmFsU3RhdGUgaXZhci4KKyAgICAgICAgKC1b
V0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJy
b3JzOl0pOiBSZW5hbWVkIGZyb20KKyAgICAgICAgLWNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJy
b3JzOmRpZFJlYWNoRmluYWxTdGF0ZTouIFN0b3BwZWQgc2V0dGluZyBfZGlkUmVhY2hGaW5hbFN0
YXRlLgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgaW52YWxpZGF0
ZV0pOiBDaGFuZ2VkIHRvIGNhbGwKKyAgICAgICAgLWNvbXBsZXRlUGF5bWVudFNlc3Npb246ZXJy
b3JzOi4KKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRBdXRo
b3JpemVQYXltZW50OmNvbXBsZXRpb246XSk6IERpdHRvLgorICAgICAgICAoLVtXS1BheW1lbnRB
dXRob3JpemF0aW9uRGVsZWdhdGUgX2RpZEZpbmlzaF0pOiBTdG9wcGVkIHBhc3NpbmcgdGhlIHZh
bHVlIG9mCisgICAgICAgIF9kaWRSZWFjaEZpbmFsU3RhdGUgdG8gUGF5bWVudEF1dGhvcml6YXRp
b25QcmVzZW50ZXI6OkNsaWVudDo6cHJlc2VudGVyRGlkRmluaXNoLgorICAgICAgICAoLVtXS1Bh
eW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgY29tcGxldGVQYXltZW50U2Vzc2lvbjplcnJvcnM6
ZGlkUmVhY2hGaW5hbFN0YXRlOl0pOgorICAgICAgICBSZW5hbWVkIHRvIC1jb21wbGV0ZVBheW1l
bnRTZXNzaW9uOmVycm9yczouCisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eTo6c2hvd1BheW1lbnRVSSk6IFJlcGxhY2VkIGNhbGxzIHRvCisgICAgICAgIGRp
ZENhbmNlbFBheW1lbnRTZXNzaW9uIHdpdGggZGlkUmVhY2hGaW5hbFN0YXRlLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50U2Vzc2lv
bik6IFNldCBtX3N0YXRlIHRvIENvbXBsZXRpbmcKKyAgICAgICAgcmF0aGVyIHRoYW4gY2FsbCBk
aWRSZWFjaEZpbmFsU3RhdGUuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjphYm9ydFBheW1lbnRTZXNzaW9uKTogUmVtb3ZlZCBjYWxsIHRvIGhpZGVQYXltZW50
VUkKKyAgICAgICAgc2luY2UgZGlkUmVhY2hGaW5hbFN0YXRlIHdhcyBhbHJlYWR5IGJlaW5nIGNh
bGxlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbmNl
bFBheW1lbnRTZXNzaW9uKTogUmVwbGFjZWQgY2FsbCB0bworICAgICAgICBkaWRDYW5jZWxQYXlt
ZW50U2Vzc2lvbiB3aXRoIGRpZFJlYWNoRmluYWxTdGF0ZS4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZEZpbmlzaCk6IENhbGxlZCBkaWRS
ZWFjaEZpbmFsU3RhdGUKKyAgICAgICAgdW5jb25kaXRpb25hbGx5IG5vdyB0aGF0IHRoZSBkaWRS
ZWFjaEZpbmFsU3RhdGUgYm9vbGVhbiBoYXMgYmVlbiByZW1vdmVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQmVnaW4gY29uc3QpOiBSZXR1cm5lZCBm
YWxzZSBmb3IgU3RhdGU6OkNvbXBsZXRpbmcuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpjYW5DYW5jZWwgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNvbXBsZXRlUGF5bWVudCBjb25zdCk6
IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2Fu
QWJvcnQgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmRpZFJlYWNoRmluYWxTdGF0ZSk6IEFkZGVkIGFuIGVhcmx5IHJldHVybiBpZiBt
X3N0YXRlCisgICAgICAgIGlzIGFscmVhZHkgSWRsZS4gU2VudCB0aGUgRGlkQ2FuY2VsUGF5bWVu
dFNlc3Npb24gbWVzc2FnZSBpZiBjYW5DYW5jZWwgaXMgdHJ1ZS4gQ2FsbGVkCisgICAgICAgIHBs
YXRmb3JtSGlkZVBheW1lbnRVSSBiZWZvcmUgY2xlYXJpbmcgbV9hdXRob3JpemF0aW9uUHJlc2Vu
dGVyIGFuZCBzZXR0aW5nIG1fc3RhdGUgdG8gSWRsZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKTogRGVsZXRlZC4K
KworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6ZGlkUmVhY2hG
aW5hbFN0YXRlKTogQWRkZWQgYSBQYXltZW50U2Vzc2lvbkVycm9yJiYgYXJnLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Np
b24pOiBEZWxldGVkLgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Ojp+V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkpOiBSZXBsYWNlZCBj
YWxsIHRvCisgICAgICAgIGhpZGVQYXltZW50VUkgd2l0aCBkaWRSZWFjaEZpbmFsU3RhdGUuCisK
KyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1IaWRlUGF5bWVudFVJKTogUmVuYW1lZCBmcm9tIGhpZGVQYXltZW50VUkuCisgICAgICAg
IFN0b3BwZWQgY2xlYXJpbmcgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyIHNpbmNlIGRpZFJlYWNo
RmluYWxTdGF0ZSBub3cgZG9lcyB0aGF0LgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSk6IFJlbmFtZWQgdG8gcGxhdGZvcm1IaWRlUGF5
bWVudFVJLgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRVSSk6IFJlbW92ZWQgY2FsbCB0byBoaWRlUGF5bWVu
dFVJCisgICAgICAgIHNpbmNlIGRpZFJlYWNoRmluYWxTdGF0ZSB3YXMgYWxyZWFkeSBiZWluZyBj
YWxsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUhpZGVQYXltZW50VUkpOiBSZW5hbWVkIGZyb20gaGlkZVBheW1lbnRVSS4KKyAgICAgICAg
U3RvcHBlZCBjbGVhcmluZyBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgc2luY2UgZGlkUmVhY2hG
aW5hbFN0YXRlIG5vdyBkb2VzIHRoYXQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpoaWRlUGF5bWVudFVJKTogUmVuYW1lZCB0byBwbGF0Zm9ybUhpZGVQYXlt
ZW50VUkuCisKIDIwMjAtMDYtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgYSBsb3Qgb2YgdW5uZWNlc3NhcnkgY2FsbHMgdG8gUmVmOjpjb3B5UmVm
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhv
cml6YXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaAppbmRleCBiNjY1MDU3ZjQ2MWRmNDFmYmZiODEwMTNm
NmE1NWQzYTA4NWU2OWNlLi5mYzc2NGExMDBlNTIxODU0YzA3Nzk2M2JkNDRjYWE4M2YxOTAyODMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwcmVzZW50ZXJEaWRBdXRob3JpemVQYXltZW50KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2Vu
dGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lk
IHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNv
cmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiwgYm9vbCBkaWRSZWFjaEZpbmFsU3RhdGUpID0gMDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZEZpbmlzaChQYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJikgPSAwOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0UGF5bWVudE1ldGhvZChQYXltZW50
QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRh
Y3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50
Q29udGFjdCYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNo
aXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29y
ZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kJikgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXggOWJhODcyMTQ2ODM5Zjc5OGFkMDRkNWMzNTEx
ZWIwMWNlMjZiNDlmYS4uNjY4ZjE0MzI5YWM4ZDRlMTAzNGUxMTg0ZGRkMjY0YTZhYzIwZGM2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBQYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBP
cHRpb25hbDxXZWJDb3IKICAgICBBU1NFUlQocGxhdGZvcm1EZWxlZ2F0ZSgpKTsKICAgICBhdXRv
IHN0YXR1cyA9IHJlc3VsdCA/IHRvUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyhyZXN1bHQt
PnN0YXR1cykgOiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzU3VjY2VzczsKICAgICBSZXRh
aW5QdHI8TlNBcnJheT4gZXJyb3JzID0gcmVzdWx0ID8gdG9OU0Vycm9ycyhyZXN1bHQtPmVycm9y
cykgOiBAWyBdOwotICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lv
bjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKSBkaWRSZWFjaEZpbmFsU3RhdGU6V2ViQ29yZTo6
aXNGaW5hbFN0YXRlUmVzdWx0KHJlc3VsdCldOworICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29t
cGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJyb3JzOmVycm9ycy5nZXQoKV07CiB9CiAKIHZv
aWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0
U2VsZWN0aW9uKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZT4m
IHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXlt
ZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29h
L1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCmluZGV4IGM5MzVmMjc2ZDhmMWFjMWYx
Yjk2MGFiZTNhODk1NmRhYTBkMWM2OTkuLjJkYzAwMDhkYmJkOGM0MmVlMzdiODcyMjVjZmYyZjRj
MGQ4NTA1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXlt
ZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaApAQCAtNTQsNyArNTQsNyBAQCB1
c2luZyBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBL
UGF5bWVudFJlcXVlc3RTaGlwcGluZwogCiAtICh2b2lkKWNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0
aW9uOihQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gKilzZXNzaW9uIGVycm9yOihOU0Vycm9yICop
ZXJyb3I7CiAtICh2b2lkKWNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50
UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKilwYXltZW50TWV0aG9kVXBkYXRlOwotLSAodm9p
ZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0
YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9ycyBkaWRSZWFjaEZpbmFsU3Rh
dGU6KEJPT0wpZGlkUmVhY2hGaW5hbFN0YXRlOworLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNz
aW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8
TlNFcnJvciAqPiAqKWVycm9yczsKIC0gKHZvaWQpY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxl
Y3Rpb246KFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgKilzaGlwcGluZ0Nv
bnRhY3RVcGRhdGU7CiAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBL
UGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSAqKXNoaXBwaW5nTWV0aG9kVXBkYXRl
OwogLSAodm9pZClpbnZhbGlkYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQppbmRleCAz
MDBmMGMyZGI3YTA2NmY4NDY4MzJmMTFlZWU4MTRjNWRlYjczMDRlLi5mYzkyYzg5YjZjZTk4ZTFk
YTAzM2RhMTE5ZGNiNDhmOGFlZGRmYmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudFNlc3Npb25FcnJvci5o
PgogCiBAaW1wbGVtZW50YXRpb24gV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIHsKLSAg
ICBCT09MIF9kaWRSZWFjaEZpbmFsU3RhdGU7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtQYXlt
ZW50U3VtbWFyeUl0ZW0gKj4+IF9zdW1tYXJ5SXRlbXM7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8
UEtTaGlwcGluZ01ldGhvZCAqPj4gX3NoaXBwaW5nTWV0aG9kczsKICAgICBSZXRhaW5QdHI8TlNF
cnJvcj4gX3Nlc3Npb25FcnJvcjsKQEAgLTY3LDkgKzY2LDggQEAgLSAodm9pZCljb21wbGV0ZVBh
eW1lbnRNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRl
ICopcGEKICAgICBzdGQ6OmV4Y2hhbmdlKF9kaWRTZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlv
biwgbmlsKSh1cGRhdGUpOwogfQogCi0tICh2b2lkKWNvbXBsZXRlUGF5bWVudFNlc3Npb246KFBL
UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMpc3RhdHVzIGVycm9yczooTlNBcnJheTxOU0Vycm9y
ICo+ICopZXJyb3JzIGRpZFJlYWNoRmluYWxTdGF0ZTooQk9PTClkaWRSZWFjaEZpbmFsU3RhdGUK
Ky0gKHZvaWQpY29tcGxldGVQYXltZW50U2Vzc2lvbjooUEtQYXltZW50QXV0aG9yaXphdGlvblN0
YXR1cylzdGF0dXMgZXJyb3JzOihOU0FycmF5PE5TRXJyb3IgKj4gKillcnJvcnMKIHsKLSAgICBf
ZGlkUmVhY2hGaW5hbFN0YXRlID0gZGlkUmVhY2hGaW5hbFN0YXRlOwogICAgIGF1dG8gcmVzdWx0
ID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHRJbnN0YW5j
ZSgpIGluaXRXaXRoU3RhdHVzOnN0YXR1cyBlcnJvcnM6ZXJyb3JzXSk7CiAgICAgc3RkOjpleGNo
YW5nZShfZGlkQXV0aG9yaXplUGF5bWVudENvbXBsZXRpb24sIG5pbCkocmVzdWx0LmdldCgpKTsK
IH0KQEAgLTkxLDcgKzg5LDcgQEAgLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uOihQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKikKIC0gKHZvaWQpaW52
YWxpZGF0ZQogewogICAgIGlmIChfZGlkQXV0aG9yaXplUGF5bWVudENvbXBsZXRpb24pCi0gICAg
ICAgIFtzZWxmIGNvbXBsZXRlUGF5bWVudFNlc3Npb246UEtQYXltZW50QXV0aG9yaXphdGlvblN0
YXR1c0ZhaWx1cmUgZXJyb3JzOkBbXSBkaWRSZWFjaEZpbmFsU3RhdGU6WUVTXTsKKyAgICAgICAg
W3NlbGYgY29tcGxldGVQYXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
RmFpbHVyZSBlcnJvcnM6QFsgXV07CiB9CiAKIEBlbmQKQEAgLTExNyw3ICsxMTUsNyBAQCAtICh2
b2lkKV9kaWRBdXRob3JpemVQYXltZW50OihQS1BheW1lbnQgKilwYXltZW50IGNvbXBsZXRpb246
KFdlYktpdDo6RGlkQXV0aG9yaQogCiAgICAgYXV0byBwcmVzZW50ZXIgPSBfcHJlc2VudGVyLmdl
dCgpOwogICAgIGlmICghcHJlc2VudGVyKQotICAgICAgICByZXR1cm4gW3NlbGYgY29tcGxldGVQ
YXltZW50U2Vzc2lvbjpQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFpbHVyZSBlcnJvcnM6
QFsgXSBkaWRSZWFjaEZpbmFsU3RhdGU6WUVTXTsKKyAgICAgICAgcmV0dXJuIFtzZWxmIGNvbXBs
ZXRlUGF5bWVudFNlc3Npb246UEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c0ZhaWx1cmUgZXJy
b3JzOkBbIF1dOwogCiAgICAgcHJlc2VudGVyLT5jbGllbnQoKS5wcmVzZW50ZXJEaWRBdXRob3Jp
emVQYXltZW50KCpwcmVzZW50ZXIsIFdlYkNvcmU6OlBheW1lbnQocGF5bWVudCkpOwogfQpAQCAt
MTI1LDcgKzEyMyw3IEBAIC0gKHZvaWQpX2RpZEF1dGhvcml6ZVBheW1lbnQ6KFBLUGF5bWVudCAq
KXBheW1lbnQgY29tcGxldGlvbjooV2ViS2l0OjpEaWRBdXRob3JpCiAtICh2b2lkKV9kaWRGaW5p
c2gKIHsKICAgICBpZiAoYXV0byBwcmVzZW50ZXIgPSBfcHJlc2VudGVyLmdldCgpKQotICAgICAg
ICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRpZEZpbmlzaCgqcHJlc2VudGVyLCB7IHN0
ZDo6ZXhjaGFuZ2UoX3Nlc3Npb25FcnJvciwgbmlsKSB9LCBfZGlkUmVhY2hGaW5hbFN0YXRlKTsK
KyAgICAgICAgcHJlc2VudGVyLT5jbGllbnQoKS5wcmVzZW50ZXJEaWRGaW5pc2goKnByZXNlbnRl
ciwgeyBzdGQ6OmV4Y2hhbmdlKF9zZXNzaW9uRXJyb3IsIG5pbCkgfSk7CiB9CiAKIC0gKHZvaWQp
X2RpZFJlcXVlc3RNZXJjaGFudFNlc3Npb246KFdlYktpdDo6RGlkUmVxdWVzdE1lcmNoYW50U2Vz
c2lvbkNvbXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5j
cHAKaW5kZXggYjkyNmIzYjIxNTc3NTlkMTkyMmFhZWQ4MGQ2YzQ1YzJlZjUxYjY4Ny4uYzU4OTBl
MGEyZmZjMTkwYmE5Nzk2NmJhZTFiYmU4ODYwOTc1MTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTc3LDcgKzc3LDcgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmkKIHZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnNob3dQYXltZW50VUkoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIgZGVzdGluYXRpb25JRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywg
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGxpbmtJY29uVVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6
QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRv
JiBjb29yZGluYXRvciA9IGFjdGl2ZVBheW1lbnRDb29yZGluYXRvclByb3h5KCkpCi0gICAgICAg
IGNvb3JkaW5hdG9yLT5kaWRDYW5jZWxQYXltZW50U2Vzc2lvbigpOworICAgICAgICBjb29yZGlu
YXRvci0+ZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiAgICAgYWN0aXZlUGF5bWVudENvb3JkaW5hdG9y
UHJveHkoKSA9IG1ha2VXZWFrUHRyKHRoaXMpOwogCiAgICAgTUVTU0FHRV9DSEVDSyhjYW5CZWdp
bigpKTsKQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpzaG93UGF5bWVudFVJKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIGRlc3RpbmF0aQogCiAgICAg
ICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmF0aW5nKTsKICAgICAgICAgaWYgKCFy
ZXN1bHQpIHsKLSAgICAgICAgICAgIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKCk7CisgICAgICAg
ICAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
Y29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBPcHRpb25hbDxXZWJDb3JlOjoKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOworICAgIG1fc3RhdGUg
PSBTdGF0ZTo6Q29tcGxldGluZzsKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6YWJvcnRQYXltZW50U2Vzc2lvbigpCkBAIC0xODgsOCArMTg4LDYgQEAgdm9pZCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eTo6YWJvcnRQYXltZW50U2Vzc2lvbigpCiAgICAgaWYgKCFjYW5B
Ym9ydCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBoaWRlUGF5bWVudFVJKCk7Ci0KICAgICBk
aWRSZWFjaEZpbmFsU3RhdGUoKTsKIH0KIApAQCAtMTk4LDE0ICsxOTYsNiBAQCB2b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5jZWxQYXltZW50U2Vzc2lvbigpCiAgICAgaWYgKCFj
YW5DYW5jZWwoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGlkQ2FuY2VsUGF5bWVudFNlc3Np
b24oKTsKLX0KLQotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6ZGlkQ2FuY2VsUGF5
bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQotewotICAg
IEFTU0VSVChjYW5DYW5jZWwoKSk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yOjpEaWRDYW5jZWxQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGVycm9yKSkpOwotICAgIGhp
ZGVQYXltZW50VUkoKTsKICAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKIH0KIApAQCAtMjIzLDEy
ICsyMTMsOSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRB
dXRob3JpemVQYXltZW50KFBheW1lbnRBdXRob3JpemF0aQogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBheW1lbnRDb29yZGluYXRvcjo6RGlkQXV0aG9yaXplUGF5bWVudChwYXltZW50KSk7CiB9CiAK
LXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZEZpbmlzaChQYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3Im
JiBlcnJvciwgYm9vbCBkaWRSZWFjaEZpbmFsU3RhdGUpCit2b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpwcmVzZW50ZXJEaWRGaW5pc2goUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXImLCBXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IpCiB7Ci0gICAgaWYgKCFk
aWRSZWFjaEZpbmFsU3RhdGUpCi0gICAgICAgIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFdURk1v
dmUoZXJyb3IpKTsKLSAgICBlbHNlCi0gICAgICAgIGhpZGVQYXltZW50VUkoKTsKKyAgICBkaWRS
ZWFjaEZpbmFsU3RhdGUoV1RGTW92ZShlcnJvcikpOwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ01ldGhvZChQYXltZW50QXV0
aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1l
bnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZCYgc2hpcHBpbmdNZXRob2QpCkBAIC0yNjQsNiArMjUx
LDcgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQmVnaW4oKSBjb25zdAog
ICAgIGNhc2UgU3RhdGU6OkFjdGl2YXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6QWN0aXZlOgogICAg
IGNhc2UgU3RhdGU6OkF1dGhvcml6ZWQ6CisgICAgY2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKICAg
ICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNo
aXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxl
Y3RlZDoKQEAgLTI4Miw2ICsyNzAsNyBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpjYW5DYW5jZWwoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3Rl
ZDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgog
ICAgIGNhc2UgU3RhdGU6OklkbGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0y
OTYsNiArMjg1LDcgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ29tcGxl
dGVQYXltZW50KCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpJZGxlOgogICAgIGNhc2UgU3RhdGU6
OkFjdGl2YXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6QWN0aXZlOgorICAgIGNhc2UgU3RhdGU6OkNv
bXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBj
YXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXlt
ZW50TWV0aG9kU2VsZWN0ZWQ6CkBAIC0zMTQsMTYgKzMwNCwyNSBAQCBib29sIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpjYW5BYm9ydCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVu
dE1ldGhvZFNlbGVjdGVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIGNhc2UgU3RhdGU6
OkNvbXBsZXRpbmc6CiAgICAgY2FzZSBTdGF0ZTo6SWRsZToKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6ZGlkUmVhY2hG
aW5hbFN0YXRlKCkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmRpZFJlYWNoRmlu
YWxTdGF0ZShXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IpCiB7CisgICAgQVNT
RVJUKCFjYW5CZWdpbigpKTsKKworICAgIGlmIChjYW5DYW5jZWwoKSkKKyAgICAgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpEaWRDYW5jZWxQYXltZW50U2Vzc2lvbihl
cnJvcikpOworCisgICAgcGxhdGZvcm1IaWRlUGF5bWVudFVJKCk7CisKKyAgICBtX2F1dGhvcml6
YXRpb25QcmVzZW50ZXIgPSBudWxscHRyOwogICAgIG1fZGVzdGluYXRpb25JRCA9IFdURjo6bnVs
bG9wdDsKLSAgICBtX3N0YXRlID0gU3RhdGU6OklkbGU7CiAgICAgbV9tZXJjaGFudFZhbGlkYXRp
b25TdGF0ZSA9IE1lcmNoYW50VmFsaWRhdGlvblN0YXRlOjpJZGxlOworICAgIG1fc3RhdGUgPSBT
dGF0ZTo6SWRsZTsKIAogICAgIEFTU0VSVChhY3RpdmVQYXltZW50Q29vcmRpbmF0b3JQcm94eSgp
ID09IHRoaXMpOwogICAgIGFjdGl2ZVBheW1lbnRDb29yZGluYXRvclByb3h5KCkgPSBudWxscHRy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5LmgKaW5kZXggMmE4YjE3YjY1MzNhM2NiZmY5YjE2NzUwMjQwZGE0
ODlmNDk2YjIwNS4uNjUxYzcxMDE5NjdmMjUyNDE5ODdiNzcwZTA2NzI3OTQwOTdiYTIxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgCiAg
ICAgLy8gUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OkNsaWVudAogICAgIHZvaWQgcHJl
c2VudGVyRGlkQXV0aG9yaXplUGF5bWVudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYs
IGNvbnN0IFdlYkNvcmU6OlBheW1lbnQmKSBmaW5hbDsKLSAgICB2b2lkIHByZXNlbnRlckRpZEZp
bmlzaChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIFdlYkNvcmU6OlBheW1lbnRTZXNz
aW9uRXJyb3ImJiwgYm9vbCBkaWRSZWFjaEZpbmFsU3RhdGUpIGZpbmFsOworICAgIHZvaWQgcHJl
c2VudGVyRGlkRmluaXNoKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgV2ViQ29yZTo6
UGF5bWVudFNlc3Npb25FcnJvciYmKSBmaW5hbDsKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVj
dFBheW1lbnRNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpQYXltZW50TWV0aG9kJikgZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RT
aGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpQYXltZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0
U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBmaW5h
bDsKQEAgLTE0MSw5ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuQ29tcGxldGVQYXlt
ZW50KCkgY29uc3Q7CiAgICAgYm9vbCBjYW5BYm9ydCgpIGNvbnN0OwogCi0gICAgdm9pZCBkaWRD
YW5jZWxQYXltZW50U2Vzc2lvbihXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgPSB7IH0p
OwotICAgIHZvaWQgZGlkUmVhY2hGaW5hbFN0YXRlKCk7Ci0gICAgdm9pZCBoaWRlUGF5bWVudFVJ
KCk7CisgICAgdm9pZCBkaWRSZWFjaEZpbmFsU3RhdGUoV2ViQ29yZTo6UGF5bWVudFNlc3Npb25F
cnJvciYmID0geyB9KTsKIAogICAgIHZvaWQgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHMoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNhbk1ha2VQYXlt
ZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcik7CkBAIC0xNTQsNiArMTUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRm
b3JtQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29y
ZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBh
eW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhv
ZFVwZGF0ZT4mKTsKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lvbihjb25z
dCBPcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKKyAgICB2
b2lkIHBsYXRmb3JtSGlkZVBheW1lbnRVSSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJl
dGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiBwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGNvbnN0IFVS
TCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0
IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Jik7CiAjZW5kaWYKQEAgLTE4
Miw2ICsxODEsOSBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFBheW1lbnRNZXRob2RTZWxlY3Rl
ZCAtIERpc3BhdGNoaW5nIHRoZSBwYXltZW50bWV0aG9kc2VsZWN0ZWQgZXZlbnQgYW5kIHdhaXRp
bmcgZm9yIGEgcmVwbHkuCiAgICAgICAgIFBheW1lbnRNZXRob2RTZWxlY3RlZCwKKworICAgICAg
ICAvLyBDb21wbGV0aW5nIC0gQ29tcGxldGluZyB0aGUgcGF5bWVudCBhbmQgd2FpdGluZyBmb3Ig
cHJlc2VudGVyRGlkRmluaXNoIHRvIGJlIGNhbGxlZC4KKyAgICAgICAgQ29tcGxldGluZywKICAg
ICB9IG1fc3RhdGUgeyBTdGF0ZTo6SWRsZSB9OwogCiAgICAgZW51bSBjbGFzcyBNZXJjaGFudFZh
bGlkYXRpb25TdGF0ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBh
eS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bQppbmRleCAzMjFjY2RkMjNjOGQzYjI0OTZkMDY2MTI0NjFjMzQxOGIwYzlmMDQzLi40NDAyYTQ5
MDkxOTY5YWNkOGE1Mjg5YzhhNzNkNTkxOTNlOWNhNjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTc0LDggKzc0LDggQEAgV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5KFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3gKIAogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6On5XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eSgpCiB7Ci0gICAgaWYgKG1fc3RhdGUgIT0gU3RhdGU6OklkbGUpCi0gICAgICAg
IGhpZGVQYXltZW50VUkoKTsKKyAgICBpZiAoIWNhbkJlZ2luKCkpCisgICAgICAgIGRpZFJlYWNo
RmluYWxTdGF0ZSgpOwogCiAgICAgbV9jbGllbnQucGF5bWVudENvb3JkaW5hdG9yUmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKCp0aGlzLCBNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9pb3MvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlJ
T1MubW0KaW5kZXggYzFhNjQ3ODBlNDM2Mjc3OWRlYTRiZDBhNDU5NDRkNmZkOThiMWNjMi4uNDEw
ODQwMGQxNmZiMGMxNWFiOGViZjA4YzQyMDJkZmE4ZGE5NTg1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvaW9zL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2lvcy9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUlPUy5tbQpAQCAtNTgsMTEgKzU4LDEwIEBAIHZvaWQgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0
aW5nVVJMCiAgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5wcmVzZW50KG1fY2xpZW50LnBh
eW1lbnRDb29yZGluYXRvclByZXNlbnRpbmdWaWV3Q29udHJvbGxlcigqdGhpcyksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6aGlkZVBheW1lbnRVSSgpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUhpZGVQYXltZW50VUkoKQogewogICAgIGlmIChtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIp
CiAgICAgICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlci0+ZGlzbWlzcygpOwotICAgIG1fYXV0
aG9yaXphdGlvblByZXNlbnRlciA9IG51bGxwdHI7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1hYy5tbQppbmRleCBhNDM5YTUxYzQxYWRlNWNmYTJmZmExMTBlMTUxYTUwMDUy
YzQ5OWFmLi5kYzYzYmRmMTIwMGNkMmQ3ZTllNTZiY2UxMzY5YmExNTBmY2UwNjFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvbWFjL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tCkBAIC04NSw3ICs4NSw2IEBAIHZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBVUkwm
IG9yaWdpbmF0aW5nVVJMCiAgICAgICAgIHBheW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0
V2luZG93ID0gW05TV2luZG93IHdpbmRvd1dpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6dmlld0Nv
bnRyb2xsZXJdOwogCiAgICAgICAgIHBheW1lbnRDb29yZGluYXRvclByb3h5LT5tX3NoZWV0V2lu
ZG93V2lsbENsb3NlT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1dpbmRvd1dpbGxDbG9zZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6cGF5bWVudENvb3JkaW5hdG9yUHJveHktPm1fc2hlZXRXaW5kb3cuZ2V0KCkgcXVldWU6bmls
IHVzaW5nQmxvY2s6W3BheW1lbnRDb29yZGluYXRvclByb3h5XShOU05vdGlmaWNhdGlvbiAqKSB7
Ci0gICAgICAgICAgICBwYXltZW50Q29vcmRpbmF0b3JQcm94eS0+aGlkZVBheW1lbnRVSSgpOwog
ICAgICAgICAgICAgcGF5bWVudENvb3JkaW5hdG9yUHJveHktPmRpZFJlYWNoRmluYWxTdGF0ZSgp
OwogICAgICAgICB9XTsKIApAQCAtOTUsNyArOTQsNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpwbGF0Zm9ybVNob3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VS
TAogICAgIH0pLmdldCgpXTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
aGlkZVBheW1lbnRVSSgpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9y
bUhpZGVQYXltZW50VUkoKQogewogICAgIGlmIChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmF0aW5n
KSB7CiAgICAgICAgICsrbV9zaG93UGF5bWVudFVJUmVxdWVzdFNlZWQ7CkBAIC0xMTUsNyArMTE0
LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6aGlkZVBheW1lbnRVSSgpCiAK
ICAgICBpZiAobV9hdXRob3JpemF0aW9uUHJlc2VudGVyKQogICAgICAgICBtX2F1dGhvcml6YXRp
b25QcmVzZW50ZXItPmRpc21pc3MoKTsKLSAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXIgPSBu
dWxscHRyOwogCiAgICAgbV9zaGVldFdpbmRvdyA9IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>