<?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>230543</bug_id>
          
          <creation_ts>2021-09-21 03:05:12 -0700</creation_ts>
          <short_desc>Make sure to clear transferred channel handlers when RTCDataChannel gets stopped</short_desc>
          <delta_ts>2021-09-28 03:06:18 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1795495</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-21 03:05:12 -0700</bug_when>
    <thetext>Make sure to clear transferred channel handlers when RTCDataChannel gets stopped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795532</commentid>
    <comment_count>1</comment_count>
      <attachid>438813</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-21 07:19:14 -0700</bug_when>
    <thetext>Created attachment 438813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795553</commentid>
    <comment_count>2</comment_count>
      <attachid>438821</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-21 08:07:42 -0700</bug_when>
    <thetext>Created attachment 438821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797813</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-28 03:06:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/83614628&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438813</attachid>
            <date>2021-09-21 07:19:14 -0700</date>
            <delta_ts>2021-09-21 08:28:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230543-20210921161913.patch</filename>
            <type>text/plain</type>
            <size>30417</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMzMzk4MjRmM2VjYzA3
NGNhMmFhZDk0MjY5MDgxMWY0ZmUzNTFkNC4uNDg1YTE4ZGEzNjVmZjFmYmE2OGNlMTVjNTRhZWFi
YWY5Y2UyMDU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gY2xl
YXIgdHJhbnNmZXJyZWQgY2hhbm5lbCBoYW5kbGVycyB3aGVuIFJUQ0RhdGFDaGFubmVsIGdldHMg
c3RvcHBlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMwNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBzdXJlIHRvIGV4cGxpY2l0bHkgY2FsbCBzdG9wIGZvciBldmVyeSBSVENEYXRhQ2hhbm5l
bEhhbmRsZXIgYXMgc29vbiBhcyB0aGUgY29ycmVzcG9uZGluZyBSVENEYXRhQ2hhbm5lbCBpcyBz
dG9wcGVkLgorICAgICAgICBUaGlzIGVuc3VyZXMgdG8gY2xlYW4gc3RydWN0dXJlcyBpbiB2YXJp
b3VzIHBsYWNlcy4KKyAgICAgICAgQWRkIGFuIGludGVybmFscyBBUEkgdG8gYmUgYWJsZSB0byB0
ZXN0IHRoZSBjaGFuZ2VzLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0LgorCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyOjpzdG9wKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlci5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNlOjpzdG9wKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjp+TGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlcjo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svUlRDRGF0
YUNoYW5uZWxIYW5kbGVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5l
bEhhbmRsZXJNb2NrOjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFu
bmVsSGFuZGxlck1vY2suaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNoYW5uZWxIYW5kbGVyQ291bnQpOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgor
CiAyMDIxLTA5LTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIHN1cmUgUlRDUnRwU2VuZGVyLnNldFBhcmFtZXRlcnMgcmV0dXJucyBhbiBleGNlcHRp
b24gd2l0aCBhIHZhbGlkIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2JjZjc5Mzg5YWZkZjEwMWIzNmEwMzg4
ZmFiYTdiZDBlNDVhNjE1Yy4uN2VkYzkwYjEzYTU4ODBiZTE4MDRjZGQwMThkNDk0ZGE5ZGVjZjE4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMS0wOS0yMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGNsZWFyIHRyYW5zZmVy
cmVkIGNoYW5uZWwgaGFuZGxlcnMgd2hlbiBSVENEYXRhQ2hhbm5lbCBnZXRzIHN0b3BwZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDU0MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBpcGUgc3RvcCBt
ZXNzYWdlIGZyb20gaGFuZGxlciB0byBuZXR3b3JrIHByb2Nlc3MgdG8gc291cmNlLgorICAgICAg
ICBDbGVhciBzb3VyY2VzIGFuZCBoYW5kbGVycyBhcyBuZWVkZWQuCisgICAgICAgIEFkZCBhIGxv
Y2sgdG8gbWFrZSBzb3VyY2UgbV9zb3VyY2VzIGlzIGNvcnJlY3RseSBhY2Nlc3NlZC4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclBy
b3h5OjpzdG9wKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5u
ZWxSZW1vdGVNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6On5SVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJl
bW90ZU1hbmFnZXI6OmNsZWFyU291cmNlcyk6CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFu
bmVsUmVtb3RlTWFuYWdlcjo6c2V0Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJUQ0Rh
dGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6Y29ubmVjdFRvUmVtb3RlU291cmNlKToKKyAgICAgICAg
KFdlYktpdDo6UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpzb3VyY2VGcm9tSWRlbnRpZmll
cik6CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6dGFrZVNv
dXJjZUZyb21JZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6UlRDRGF0YUNoYW5uZWxSZW1v
dGVNYW5hZ2VyOjpzZW5kRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVt
b3RlTWFuYWdlcjo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90
ZU1hbmFnZXI6OnN0b3ApOgorICAgICAgICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1h
bmFnZXI6OlJlbW90ZUhhbmRsZXJDb25uZWN0aW9uOjpzdG9wKToKKyAgICAgICAgKFdlYktpdDo6
UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbjo6Y291
bnRIYW5kbGVyc0ZvclRlc3RpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIubWVzc2FnZXMuaW46CisK
IDIwMjEtMDktMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEVuc3VyZSB0aGF0IGNhcHR1cmUgYXR0cmlidXRpb24gd29ya3MgZXZlbiBmb3IgVVJMUyB3aXRo
b3V0IGhvc3RuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAyYjJkNzlmNzNmMTcyYzA1OTFiZDVlOWE5OGRj
ZTI4MTg0ZTdlMDAyLi45ZGZlODRlZDI0Njk3MGExYTNhMGZkMWY0ZWU0YjE5Njk4NDIwNmIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFu
bmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFD
aGFubmVsLmNwcApAQCAtMjYwLDcgKzI2MCwxMCBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzdG9w
KCkKIAogICAgIGNsb3NlKCk7CiAgICAgbV9zdG9wcGVkID0gdHJ1ZTsKLSAgICBtX2hhbmRsZXIg
PSBudWxscHRyOworICAgIGlmIChtX2hhbmRsZXIpIHsKKyAgICAgICAgbV9oYW5kbGVyLT5zdG9w
KCk7CisgICAgICAgIG1faGFuZGxlciA9IG51bGxwdHI7CisgICAgfQogfQogCiB2b2lkIFJUQ0Rh
dGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bFJlbW90ZUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuY3BwCmluZGV4IGFmZWY0MzI4YzZhYzIwYjZhNDYy
MWZkZThjNGZkZWU2MmI5NjdhYTMuLjc2YzliOGQ2NDBjZTM4YWEwZTUwNmQzZWFjNjhiYTA0ZTE5
NGE4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlci5jcHAKQEAgLTEyMyw2ICsx
MjMsMTEgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXI6OmNsb3NlKCkKICAgICBt
X2Nvbm5lY3Rpb24tPmNsb3NlKG1fcmVtb3RlSWRlbnRpZmllcik7CiB9CiAKK3ZvaWQgUlRDRGF0
YUNoYW5uZWxSZW1vdGVIYW5kbGVyOjpzdG9wKCkKK3sKKyAgICBtX2Nvbm5lY3Rpb24tPnN0b3Ao
bV9sb2NhbElkZW50aWZpZXIsIG1fcmVtb3RlSWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyLmgKaW5kZXggZjU4MjdkZjkzNzk0OTNkMjgxMjcwMTc3Y2NmYmNhMDU1MTUz
MjMxZi4uY2MwYTZmYjc1M2JiOTQwYzczNDIzODMxMGVmMGE2N2ZhNzI3NTdlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90
ZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Rh
dGFDaGFubmVsUmVtb3RlSGFuZGxlci5oCkBAIC02NCw2ICs2NCw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBzZW5kU3RyaW5nRGF0YShjb25zdCBDU3RyaW5nJikgZmluYWw7CiAgICAgYm9vbCBzZW5k
UmF3RGF0YShjb25zdCB1aW50OF90Kiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIGNsb3NlKCkg
ZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAKICAgICBSVENEYXRhQ2hhbm5lbElkZW50
aWZpZXIgbV9yZW1vdGVJZGVudGlmaWVyOwogICAgIFJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBt
X2xvY2FsSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UuaAppbmRleCAxNDQ2
YTU4OTU0YmFlOTUxYTRhM2YzOGU1ZjdhNWY5NWI1MGVjYzA2Li4wNzI5YWE0OTY0ZDE2NjNiYmZk
OWNiOGNhMWQxMjMzY2FmM2M0YzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZS5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlbmRTdHJpbmdEYXRhKGNvbnN0IENT
dHJpbmcmIHRleHQpIHsgbV9oYW5kbGVyLT5zZW5kU3RyaW5nRGF0YSh0ZXh0KTsgfQogICAgIHZv
aWQgc2VuZFJhd0RhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUpIHsgbV9oYW5k
bGVyLT5zZW5kUmF3RGF0YShkYXRhLCBzaXplKTsgfQogICAgIHZvaWQgY2xvc2UoKSB7IG1faGFu
ZGxlci0+Y2xvc2UoKTsgfQorICAgIHZvaWQgc3RvcCgpIHsgbV9oYW5kbGVyLT5zdG9wKCk7IH0K
IAogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJj
ZShSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIsIFVuaXF1ZVJlZjxSVENEYXRhQ2hhbm5lbEhhbmRs
ZXI+JiYsIFJlZjxSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZUNvbm5lY3Rpb24+JiYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5jcHAKaW5kZXgg
ZGMzMDU1NjA3NThlMmQ5N2M5ZGFiZjQwOTA2MTE4ZDdiZTExNTUwNy4uNTdkZmZjMTRlYTE1ZGM2
NTBiZmU4NWIzOWU1MDljNzM0MGUwMmM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwCkBAIC02Miw4ICs2MiwxOCBAQCBMaWJXZWJSVENE
YXRhQ2hhbm5lbEhhbmRsZXI6OkxpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcihydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicgogfQogCiBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6On5MaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXIoKQoreworI2lmIEFTU0VSVF9FTkFCTEVECisgICAgTG9ja2Vy
IGxvY2tlciB7IG1fY2xpZW50TG9jayB9OworICAgIEFTU0VSVCghbV9jbGllbnQpOworI2VuZGlm
Cit9CisKK3ZvaWQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpzdG9wKCkKIHsKICAgICBt
X2NoYW5uZWwtPlVucmVnaXN0ZXJPYnNlcnZlcigpOworICAgIExvY2tlciBsb2NrZXIgeyBtX2Ns
aWVudExvY2sgfTsKKyAgICBtX2NsaWVudCA9IG51bGxwdHI7CiB9CiAKIFJUQ0RhdGFDaGFubmVs
SW5pdCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OmRhdGFDaGFubmVsSW5pdCgpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCmluZGV4
IDcwMWVmYzA4YjFjOTNlNTNiMDNmOTgwY2IwNGIwNTBhYzUzZjEyY2IuLjk5NjRiOTM1ZjQ2ZmI2
YjgxZmE0ZWFiZDdmNTc1YTUzYzExYjcwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCkBAIC02Nyw2ICs2Nyw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBzZW5kU3RyaW5nRGF0YShjb25zdCBDU3RyaW5nJikgZmluYWw7CiAgICAgYm9vbCBzZW5k
UmF3RGF0YShjb25zdCB1aW50OF90Kiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIGNsb3NlKCkg
ZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAKICAgICAvLyB3ZWJydGM6OkRhdGFDaGFu
bmVsT2JzZXJ2ZXIgQVBJCiAgICAgdm9pZCBPblN0YXRlQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IGVhMGEwODAyYzU3ZmM2OWM1MTNkOGY0NjI0ZDlmNWZhMWI2MmY4NzQuLjk5ODFh
MTdkODlmMzBlN2I4ZjQxODgxNmNlY2Y1NTAwMDc0ZDkxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CkBAIC03MDgsNyArNzA4LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJv
bGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXIoKSBmaW5hbDsKICAgICBTdG9yYWdlQ29ubmVjdGlv
biogc3RvcmFnZUNvbm5lY3Rpb24oKSBmaW5hbDsKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIoKSBmaW5hbDsKLSAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVy
Q29ubmVjdGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigp
IGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxSVENEYXRhQ2hhbm5lbFJlbW90ZUhh
bmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0
aW9uKCkgZmluYWw7CiAKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBSVENOZXR3b3JrTWFuYWdl
ciogcnRjTmV0d29ya01hbmFnZXIoKSB7IHJldHVybiBtX3J0Y05ldHdvcmtNYW5hZ2VyLmdldCgp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENE
YXRhQ2hhbm5lbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ0RhdGFDaGFubmVsSGFuZGxlci5oCmluZGV4IDZhM2FhODdkODkzMWM0YjgwY2EwZGVhNzM4
MDZiNTcwYzg2NzhlNTguLjM4NTZjYzRlMTQwMjc4NTk4NTE4NWMxNDI2Y2U2NTE3MmMwYTNhNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0RhdGFD
aGFubmVsSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ0RhdGFDaGFubmVsSGFuZGxlci5oCkBAIC0xMTAsNiArMTEwLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBzZW5kU3RyaW5nRGF0YShjb25zdCBDU3RyaW5nJikgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBzZW5kUmF3RGF0YShjb25zdCB1aW50OF90Kiwgc2l6ZV90KSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNsb3NlKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgPSAwOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oCmluZGV4IGE0NjkyMTM1OTYzZDZlNmI2NTI1YTM0OTlh
Mzg5NGE0Y2Q3MTg0MTYuLjc3MzJkNGZjY2RkYjliMGJiZGY0YjA1MDY0OTFmYjFhOWU5ZTEzNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0RhdGFD
aGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uLmgK
QEAgLTQwLDYgKzQwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0VG9Tb3Vy
Y2UoUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciwgUlRDRGF0YUNoYW5uZWxJZGVudGlm
aWVyKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNlbmREYXRhKFJUQ0RhdGFDaGFubmVsSWRlbnRp
ZmllciwgYm9vbCBpc1JhdywgY29uc3QgdW5zaWduZWQgY2hhciosIHNpemVfdCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjbG9zZShSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcChSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgbG9jYWxJZGVudGlmaWVy
LCBSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgcmVtb3RlSWRlbnRpZmllcikgPSAwOworCisgICAg
dmlydHVhbCB2b2lkIGNvdW50SGFuZGxlcnNGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc2l6ZV90KT4mJikgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRsZXJN
b2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDRGF0YUNoYW5uZWxIYW5k
bGVyTW9jay5jcHAKaW5kZXggOTNiZDk2MmQ0ZGVhZDQwMzllNWQwMTU0N2I1NTgyMDhkOWVlZWE3
Ny4uOTM4MGEzNTIyZTEyZDEzOTY5M2I4MDlhMmU5ZTZiYTE3ZGQ4MGFlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRsZXJNb2NrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxl
ck1vY2suY3BwCkBAIC02Niw2ICs2NiwxMCBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsSGFuZGxlck1v
Y2s6OmNsb3NlKCkKICAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJF
dmVudCh0aGlzLCBXVEZNb3ZlKG5vdGlmaWVyKSkpKTsKIH0KIAordm9pZCBSVENEYXRhQ2hhbm5l
bEhhbmRsZXJNb2NrOjpzdG9wKCkKK3sKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jay5oCmluZGV4IGUwNzBiZGIxM2U4
NzI1ODdjNTNlMDRmNDk2MTdmZWQ1NTlhMGE4OWIuLjdmMmEwYTMwNTU3MTU3MGY0YjNlMmIzZmIx
YmRmMjQwYTc0MmQ4Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jay5oCkBAIC00Myw2ICs0Myw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBzZW5kU3RyaW5nRGF0YShjb25zdCBDU3RyaW5nJikgZmluYWw7CiAgICAg
Ym9vbCBzZW5kUmF3RGF0YShjb25zdCB1aW50OF90Kiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lk
IGNsb3NlKCkgZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAKICAgICBSVENEYXRhQ2hh
bm5lbEhhbmRsZXJDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggM2ZmYThlNjE4YmMyNTliNjczNDI2YTRhNjdjM2NhNTI1
NTU2M2I1MS4uZjE5NjE3Y2JiNTc3OTgyYWU0YzkwNjk5N2JlOWVjMGJhNjUzY2QxMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTY0Nyw2ICsxNjQ3LDIyIEBAIHZvaWQg
SW50ZXJuYWxzOjpzZXRVc2VEVExTMTAoYm9vbCB1c2VEVExTMTApCiAjZW5kaWYKIH0KIAordm9p
ZCBJbnRlcm5hbHM6OmNoYW5uZWxIYW5kbGVyQ291bnQoRE9NUHJvbWlzZURlZmVycmVkPElETFVu
c2lnbmVkTG9uZ0xvbmc+JiYgcHJvbWlzZSkKK3sKKyAgICBhdXRvKiBkb2N1bWVudCA9IGNvbnRl
eHREb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoSW52YWxpZFN0YXRlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8g
Y29ubmVjdGlvbiA9IGRvY3VtZW50LT5jcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJD
b25uZWN0aW9uKCk7CisgICAgaWYgKCFjb25uZWN0aW9uKSB7CisgICAgICAgIHByb21pc2UucmVq
ZWN0KEludmFsaWRTdGF0ZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjb25u
ZWN0aW9uLT5jb3VudEhhbmRsZXJzRm9yVGVzdGluZyhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKGF1dG8gcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHJlc3Vs
dCk7CisgICAgfSk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3OWQzNWMxMmMyNzcwODJhMzljMjE2MmMzMzA4
NWJiZmM0MzU4YmZhLi44MGEyYmQ5ZTJkNTZhMGQ3OTMyYzg3YjRlYmRhY2Y0ZTg3NWE1NmNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTY0MCw2ICs2NDAsNyBAQCBwdWJsaWM6
CiAgICAgdWludDY0X3Qgc2ZyYW1lS2V5SWQoY29uc3QgUlRDUnRwU0ZyYW1lVHJhbnNmb3JtJik7
CiAgICAgdm9pZCBzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wpOwogICAgIHZvaWQgc2V0
VXNlRFRMUzEwKGJvb2wpOworICAgIHZvaWQgY2hhbm5lbEhhbmRsZXJDb3VudChET01Qcm9taXNl
RGVmZXJyZWQ8SURMVW5zaWduZWRMb25nTG9uZz4mJik7CiAjZW5kaWYKIAogICAgIFN0cmluZyBn
ZXRJbWFnZVNvdXJjZVVSTChFbGVtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKaW5kZXggYjU4MDQxZmNhMTk3ZGIyZjcxY2JmMTQ1ZDI1NjdjZDAzMTkyODUxNy4uNzQyMzc5
NzM1MDNjOTQyZjgxZjdlM2M3NDBmNTYwM2M3OWM0ODI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbApAQCAtNzc1LDYgKzc3NSw3IEBAIGVudW0gQXV0b3BsYXlQb2xpY3kgewog
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgY2xlYXJQZWVyQ29ubmVjdGlvbkZh
Y3RvcnkoKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldEVuYWJsZVdl
YlJUQ0VuY3J5cHRpb24oYm9vbGVhbiBlbmFibGVkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JU
Q10gdW5kZWZpbmVkIHNldFVzZURUTFMxMChib29sZWFuIHVzZSk7CisgICAgW0NvbmRpdGlvbmFs
PVdFQl9SVENdIFByb21pc2U8dW5zaWduZWQgbG9uZyBsb25nPiBjaGFubmVsSGFuZGxlckNvdW50
KCk7CiAKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBzaW11bGF0ZVN5c3RlbVNs
ZWVwKCk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2ltdWxhdGVTeXN0ZW1X
YWtlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9S
VENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggZWJkMGJkYzk0YzUzZjM0NWRkODQ3ZmJiODkwYTVlMTA0YWQxYzQ1ZS4uM2ZjOGM4MTFjYWVh
NGYyYTk3ZWY1OWU0NDBmZDcyNDJhZWY4N2RjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVs
UmVtb3RlTWFuYWdlclByb3h5LmNwcApAQCAtNjgsNiArNjgsMTIgQEAgdm9pZCBSVENEYXRhQ2hh
bm5lbFJlbW90ZU1hbmFnZXJQcm94eTo6Y2xvc2UoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVu
dGlmaWVyIGkKICAgICAgICAgSVBDOjpDb25uZWN0aW9uOjpzZW5kKGNvbm5lY3Rpb25JRCwgTWVz
c2FnZXM6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6Q2xvc2UgeyBpZGVudGlmaWVyIH0s
IDApOwogfQogCit2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5OjpzdG9wKFdl
YkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIGlmIChh
dXRvIGNvbm5lY3Rpb25JRCA9IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmdldChpZGVudGlmaWVy
LnByb2Nlc3NJZGVudGlmaWVyKSkKKyAgICAgICAgSVBDOjpDb25uZWN0aW9uOjpzZW5kKGNvbm5l
Y3Rpb25JRCwgTWVzc2FnZXM6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6U3RvcCB7IGlk
ZW50aWZpZXIgfSwgMCk7Cit9CisKIHZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJv
eHk6OmNoYW5nZVJlYWR5U3RhdGUoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGUpCiB7CiAgICAgaWYg
KGF1dG8gY29ubmVjdGlvbklEID0gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuZ2V0KGlkZW50aWZp
ZXIucHJvY2Vzc0lkZW50aWZpZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdl
clByb3h5LmgKaW5kZXggM2Y1NzE2MzRhYTY1NGFiNjY5Njk0YjE3YjhkOGRhMTlmODVlN2NhOS4u
YjFjYTgzZTQ3YmI2ZDlhNTkwZGM0OGY1ZjVlOGNlNTA0ZDY2YzMwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5h
Z2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9SVENE
YXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5oCkBAIC01Miw2ICs1Miw3IEBAIHByaXZhdGU6
CiAgICAgLy8gVG8gc291cmNlCiAgICAgdm9pZCBzZW5kRGF0YShXZWJDb3JlOjpSVENEYXRhQ2hh
bm5lbElkZW50aWZpZXIsIGJvb2wgaXNSYXcsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwog
ICAgIHZvaWQgY2xvc2UoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKTsKKyAgICB2
b2lkIHN0b3AoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKTsKIAogICAgIC8vIFRv
IGhhbmRsZXIKICAgICB2b2lkIGNoYW5nZVJlYWR5U3RhdGUoV2ViQ29yZTo6UlRDRGF0YUNoYW5u
ZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFN0YXRlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3Rl
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ODYwNGY3ZjY1ODVmMDY2Y2FkYWE3ODUyNDMzNGFhZGFmMDNiYTlmOS4uZDMxNTYzNTVkNDk4YjMy
NDgxZGI5ZGFkNjY5YWY4NTE0MjdhMDRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNo
YW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDYgKzI2LDcgQEAgbWVz
c2FnZXMgLT4gUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgLy8gVG8gc291cmNlCiAgICAgU2VuZERhdGEoc3RydWN0IFdlYkNvcmU6OlJUQ0RhdGFD
aGFubmVsSWRlbnRpZmllciBzb3VyY2UsIGJvb2wgaXNSYXcsIElQQzo6RGF0YVJlZmVyZW5jZSB0
ZXh0KTsKICAgICBDbG9zZShzdHJ1Y3QgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVy
IHNvdXJjZSk7CisgICAgU3RvcChzdHJ1Y3QgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlm
aWVyIHNvdXJjZSk7CiAKICAgICAvLyBUbyBoYW5kbGVyCiAgICAgQ2hhbmdlUmVhZHlTdGF0ZShz
dHJ1Y3QgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIGhhbmRsZXIsIGVudW06dWlu
dDhfdCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90
ZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1JU
Q0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5jcHAKaW5kZXggMmE1NGI2MTA4NmNiY2E1M2M0OTUw
ZWIzODQ0MGE2ZTc1ZmZjYTE3Zi4uODViODE0MjU2NjczOTUxMmExODNhZmEwYjE5Njg4NTJjNDhm
ZmNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5jcHAKQEAg
LTQ5LDYgKzQ5LDE5IEBAIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6UlRDRGF0YUNoYW5u
ZWxSZW1vdGVNYW5hZ2VyKCkKICAgICBzZXRDb25uZWN0aW9uKCZXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkpOwogfQog
CitSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6On5SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFn
ZXIoKQoreworICAgIGNsZWFyU291cmNlcygpOworfQorCit2b2lkIFJUQ0RhdGFDaGFubmVsUmVt
b3RlTWFuYWdlcjo6Y2xlYXJTb3VyY2VzKCkKK3sKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9zb3Vy
Y2VzTG9jayB9OworICAgIGF1dG8gc291cmNlcyA9IFdURk1vdmUobV9zb3VyY2VzKTsKKyAgICBm
b3IgKGF1dG8mIHNvdXJjZSA6IHNvdXJjZXMudmFsdWVzKCkpCisgICAgICAgIHNvdXJjZS0+c3Rv
cCgpOworfQorCiB2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c2V0Q29ubmVjdGlv
bihJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pCiB7CiAgICAgaWYgKG1fY29ubmVjdGlvbiA9
PSBjb25uZWN0aW9uKQpAQCAtNTcsNiArNzAsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3Rl
TWFuYWdlcjo6c2V0Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pCiAgICAg
aWYgKG1fY29ubmVjdGlvbikKICAgICAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmVXb3JrUXVldWVN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKTsKIAorICAgIGNsZWFyU291cmNlcygpOwogICAgIG1fY29ubmVj
dGlvbiA9IGNvbm5lY3Rpb247CiAKICAgICBpZiAobV9jb25uZWN0aW9uKQpAQCAtNzMsNiArODcs
NyBAQCBib29sIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6Y29ubmVjdFRvUmVtb3RlU291
cmNlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSQogICAgIGlmICghaGFuZGxlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgTG9ja2VyIGxvY2tlciB7IG1fc291cmNlc0xvY2sgfTsKICAg
ICBhdXRvIGl0ZXJhdG9yID0gbV9zb3VyY2VzLmFkZChyZW1vdGVJZGVudGlmaWVyLmNoYW5uZWxJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZTo6Y3JlYXRlKHJl
bW90ZUlkZW50aWZpZXIsIG1ha2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1ZVB0cihXVEZNb3Zl
KGhhbmRsZXIpKSwgcmVtb3RlU291cmNlQ29ubmVjdGlvbigpKSk7CiAgICAgcmV0dXJuIGl0ZXJh
dG9yLmlzTmV3RW50cnk7CiB9CkBAIC0xMDgsMTggKzEyMywyOSBAQCB2b2lkIFJUQ0RhdGFDaGFu
bmVsUmVtb3RlTWFuYWdlcjo6cG9zdFRhc2tUb0hhbmRsZXIoV2ViQ29yZTo6UlRDRGF0YUNoYW5u
ZWxJZGVudAogICAgIH0pOwogfQogCi1XZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJj
ZSogUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpzb3VyY2VGcm9tSWRlbnRpZmllcihXZWJD
b3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllcikKK1JlZlB0cjxX
ZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZT4gUlRDRGF0YUNoYW5uZWxSZW1vdGVN
YW5hZ2VyOjpzb3VyY2VGcm9tSWRlbnRpZmllcihXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50
aWZpZXIgc291cmNlSWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoV2ViQ29yZTo6UHJvY2Vzczo6
aWRlbnRpZmllcigpID09IHNvdXJjZUlkZW50aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIpOwogICAg
IGlmIChXZWJDb3JlOjpQcm9jZXNzOjppZGVudGlmaWVyKCkgIT0gc291cmNlSWRlbnRpZmllci5w
cm9jZXNzSWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBMb2NrZXIg
bG9ja2VyIHsgbV9zb3VyY2VzTG9jayB9OwogICAgIHJldHVybiBtX3NvdXJjZXMuZ2V0KHNvdXJj
ZUlkZW50aWZpZXIuY2hhbm5lbElkZW50aWZpZXIpOwogfQogCitSZWZQdHI8V2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxSZW1vdGVTb3VyY2U+IFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6dGFr
ZVNvdXJjZUZyb21JZGVudGlmaWVyKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBz
b3VyY2VJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChXZWJDb3JlOjpQcm9jZXNzOjppZGVudGlm
aWVyKCkgPT0gc291cmNlSWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcik7CisgICAgaWYgKFdl
YkNvcmU6OlByb2Nlc3M6OmlkZW50aWZpZXIoKSAhPSBzb3VyY2VJZGVudGlmaWVyLnByb2Nlc3NJ
ZGVudGlmaWVyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIExvY2tlciBsb2NrZXIg
eyBtX3NvdXJjZXNMb2NrIH07CisgICAgcmV0dXJuIG1fc291cmNlcy50YWtlKHNvdXJjZUlkZW50
aWZpZXIuY2hhbm5lbElkZW50aWZpZXIpOworfQorCiB2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3Rl
TWFuYWdlcjo6c2VuZERhdGEoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJj
ZUlkZW50aWZpZXIsIGJvb2wgaXNSYXcsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkK
IHsKLSAgICBpZiAoYXV0byogc291cmNlID0gc291cmNlRnJvbUlkZW50aWZpZXIoc291cmNlSWRl
bnRpZmllcikpIHsKKyAgICBpZiAoYXV0byBzb3VyY2UgPSBzb3VyY2VGcm9tSWRlbnRpZmllcihz
b3VyY2VJZGVudGlmaWVyKSkgewogICAgICAgICBpZiAoaXNSYXcpCiAgICAgICAgICAgICBzb3Vy
Y2UtPnNlbmRSYXdEYXRhKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CiAgICAgICAgIGVsc2UK
QEAgLTEyOSwxMCArMTU1LDE2IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpz
ZW5kRGF0YShXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgc291CiAKIHZvaWQgUlRD
RGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpjbG9zZShXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElk
ZW50aWZpZXIgc291cmNlSWRlbnRpZmllcikKIHsKLSAgICBpZiAoYXV0byogc291cmNlID0gc291
cmNlRnJvbUlkZW50aWZpZXIoc291cmNlSWRlbnRpZmllcikpCisgICAgaWYgKGF1dG8gc291cmNl
ID0gc291cmNlRnJvbUlkZW50aWZpZXIoc291cmNlSWRlbnRpZmllcikpCiAgICAgICAgIHNvdXJj
ZS0+Y2xvc2UoKTsKIH0KIAordm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnN0b3Ao
V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIpCit7Cisg
ICAgaWYgKGF1dG8gc291cmNlID0gdGFrZVNvdXJjZUZyb21JZGVudGlmaWVyKHNvdXJjZUlkZW50
aWZpZXIpKQorICAgICAgICBzb3VyY2UtPnN0b3AoKTsKK30KKwogdm9pZCBSVENEYXRhQ2hhbm5l
bFJlbW90ZU1hbmFnZXI6OmNoYW5nZVJlYWR5U3RhdGUoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJ
ZGVudGlmaWVyIGhhbmRsZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFN0YXRl
IHN0YXRlKQogewogICAgIHBvc3RUYXNrVG9IYW5kbGVyKGhhbmRsZXJJZGVudGlmaWVyLCBbc3Rh
dGVdKGF1dG8mIGhhbmRsZXIpIHsKQEAgLTIwOSw2ICsyNDEsMjMgQEAgdm9pZCBSVENEYXRhQ2hh
bm5lbFJlbW90ZU1hbmFnZXI6OlJlbW90ZUhhbmRsZXJDb25uZWN0aW9uOjpjbG9zZShXZWJDb3Jl
OjpSVENEYXQKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJUQ0RhdGFDaGFubmVs
UmVtb3RlTWFuYWdlclByb3h5OjpDbG9zZSB7IGlkZW50aWZpZXIgfSwgMCk7CiB9CiAKK3ZvaWQg
UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbjo6c3Rv
cChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgbG9jYWxJZGVudGlmaWVyLCBXZWJD
b3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgcmVtb3RlSWRlbnRpZmllcikKK3sKKyAgICBt
X3F1ZXVlLT5kaXNwYXRjaChbbG9jYWxJZGVudGlmaWVyXSgpIG11dGFibGUgeworICAgICAgICBS
VENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5tX2hhbmRsZXJzLnJl
bW92ZShsb2NhbElkZW50aWZpZXIuY2hhbm5lbElkZW50aWZpZXIpOworICAgIH0pOworICAgIG1f
Y29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJv
eHk6OlN0b3AgeyByZW1vdGVJZGVudGlmaWVyIH0sIDApOworfQorCit2b2lkIFJUQ0RhdGFDaGFu
bmVsUmVtb3RlTWFuYWdlcjo6UmVtb3RlSGFuZGxlckNvbm5lY3Rpb246OmNvdW50SGFuZGxlcnNG
b3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc2l6ZV90KT4mJiBjYWxsYmFjaykKK3sK
KyAgICBtX3F1ZXVlLT5kaXNwYXRjaChbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBt
dXRhYmxlIHsKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2NhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayksIHNpemUgPSAgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VyKCkubV9oYW5kbGVycy5zaXplKCldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBjYWxsYmFj
ayhzaXplKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKIFJlZjxSVENEYXRhQ2hhbm5lbFJl
bW90ZU1hbmFnZXI6OlJlbW90ZVNvdXJjZUNvbm5lY3Rpb24+IFJUQ0RhdGFDaGFubmVsUmVtb3Rl
TWFuYWdlcjo6UmVtb3RlU291cmNlQ29ubmVjdGlvbjo6Y3JlYXRlKCkKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBSZW1vdGVTb3VyY2VDb25uZWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXIuaAppbmRleCBiMDhjMGI2MWY2MTljMmU3NzcwMTQzZGU4ZDc1
ZDY4NDQ0NzYwMjlhLi4yZjRjMmJhNjYwYThkNTZlMGExOWUyYjQ2NTZhMDgyN2FhOTIzZjBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0
YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5oCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2VDb25uZWN0aW9uLmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtMzksNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlciBmaW5hbCA6IHB1YmxpYyBJUEM6OkNvbm5l
Y3Rpb246OldvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJU
Q0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlciYgc2hhcmVkTWFuYWdlcigpOworICAgIH5SVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXIoKTsKIAogICAgIFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVt
b3RlSGFuZGxlckNvbm5lY3Rpb24mIHJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCk7CiAgICAgdm9p
ZCBzZXRDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiopOwpAQCAtNTMsNiArNTUsNyBAQCBwcml2
YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAgICAgdm9pZCBzZW5kRGF0YShXZWJDb3JlOjpSVENEYXRh
Q2hhbm5lbElkZW50aWZpZXIsIGJvb2wgaXNSYXcsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYp
OwogICAgIHZvaWQgY2xvc2UoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKTsKKyAg
ICB2b2lkIHN0b3AoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKTsKIAogICAgIC8v
IFRvIGhhbmRsZXIKICAgICB2b2lkIGNoYW5nZVJlYWR5U3RhdGUoV2ViQ29yZTo6UlRDRGF0YUNo
YW5uZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFN0YXRlKTsKQEAgLTYyLDcg
KzY1LDkgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291
cmNlQ29ubmVjdGlvbiYgcmVtb3RlU291cmNlQ29ubmVjdGlvbigpOwogICAgIHZvaWQgcG9zdFRh
c2tUb0hhbmRsZXIoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyLCBGdW5jdGlvbjx2
b2lkKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlciYpPiYmKTsKLSAgICBXZWJD
b3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZSogc291cmNlRnJvbUlkZW50aWZpZXIoV2Vi
Q29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxSZW1vdGVTb3VyY2U+IHNvdXJjZUZyb21JZGVudGlmaWVyKFdlYkNvcmU6OlJU
Q0RhdGFDaGFubmVsSWRlbnRpZmllcik7CisgICAgUmVmUHRyPFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsUmVtb3RlU291cmNlPiB0YWtlU291cmNlRnJvbUlkZW50aWZpZXIoV2ViQ29yZTo6UlRDRGF0
YUNoYW5uZWxJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNsZWFyU291cmNlcygpOwogCiAgICAgY2xh
c3MgUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24gOiBwdWJsaWMgV2ViQ29yZTo6UlRDRGF0YUNoYW5u
ZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbiB7CiAgICAgcHVibGljOgpAQCAtNzEsNiArNzYsOCBA
QCBwcml2YXRlOgogICAgICAgICB2b2lkIGNvbm5lY3RUb1NvdXJjZShXZWJDb3JlOjpSVENEYXRh
Q2hhbm5lbFJlbW90ZUhhbmRsZXImLCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciwgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpSVENE
YXRhQ2hhbm5lbElkZW50aWZpZXIpIGZpbmFsOwogICAgICAgICB2b2lkIHNlbmREYXRhKFdlYkNv
cmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciwgYm9vbCBpc1JhdywgY29uc3QgdW5zaWduZWQg
Y2hhciosIHNpemVfdCkgZmluYWw7CiAgICAgICAgIHZvaWQgY2xvc2UoV2ViQ29yZTo6UlRDRGF0
YUNoYW5uZWxJZGVudGlmaWVyKSBmaW5hbDsKKyAgICAgICAgdm9pZCBzdG9wKFdlYkNvcmU6OlJU
Q0RhdGFDaGFubmVsSWRlbnRpZmllciBsb2NhbElkZW50aWZpZXIsIFdlYkNvcmU6OlJUQ0RhdGFD
aGFubmVsSWRlbnRpZmllciByZW1vdGVJZGVudGlmaWVyKSBmaW5hbDsKKyAgICAgICAgdm9pZCBj
b3VudEhhbmRsZXJzRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHNpemVfdCk+JiYp
IGZpbmFsOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgUmVtb3RlSGFuZGxlckNv
bm5lY3Rpb24oUmVmPFdvcmtRdWV1ZT4mJik7CkBAIC0xMDQsNyArMTExLDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRyPFJl
bW90ZUhhbmRsZXJDb25uZWN0aW9uPiBtX3JlbW90ZUhhbmRsZXJDb25uZWN0aW9uOwogICAgIFJl
ZlB0cjxSZW1vdGVTb3VyY2VDb25uZWN0aW9uPiBtX3JlbW90ZVNvdXJjZUNvbm5lY3Rpb247Ci0g
ICAgSGFzaE1hcDxXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbExvY2FsSWRlbnRpZmllciwgUmVmPFdl
YkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNlPj4gbV9zb3VyY2VzOworICAgIExvY2sg
bV9zb3VyY2VzTG9jazsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsTG9jYWxJ
ZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2U+PiBtX3Nv
dXJjZXMgIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zb3VyY2VzTG9jayk7CiAgICAgSGFzaE1hcDxX
ZWJDb3JlOjpSVENEYXRhQ2hhbm5lbExvY2FsSWRlbnRpZmllciwgUmVtb3RlSGFuZGxlcj4gbV9o
YW5kbGVyczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVN
YW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDBkOTIwMjdiYjVjNTY3ZTMwZWNmMzhkN2Q5OGI4M2Y5
MTNiN2IzZDguLmRhZWJmM2I4NTI2Mjg0MWRhNjk4OWMxOWJjN2UzNWZiOTAyMDYxZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hh
bm5lbFJlbW90ZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5tZXNzYWdlcy5p
bgpAQCAtMjYsNiArMjYsNyBAQCBtZXNzYWdlcyAtPiBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFn
ZXIgTm90UmVmQ291bnRlZCB7CiAgICAgLy8gVG8gc291cmNlCiAgICAgU2VuZERhdGEoc3RydWN0
IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBzb3VyY2UsIGJvb2wgaXNSYXcsIElQ
Qzo6RGF0YVJlZmVyZW5jZSB0ZXh0KTsKICAgICBDbG9zZShzdHJ1Y3QgV2ViQ29yZTo6UlRDRGF0
YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJjZSk7CisgICAgU3RvcChzdHJ1Y3QgV2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJjZSk7CiAKICAgICAvLyBUbyBoYW5kbGVyCiAgICAg
Q2hhbmdlUmVhZHlTdGF0ZShzdHJ1Y3QgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVy
IGhhbmRsZXIsIGVudW06dWludDhfdCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRl
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAz
NGE5NDJjNTVjM2NjMzI0OGQ2M2M4MGMyMGVmOTAxNTBhOWY2YWQwLi42MTdkODVkZTQyZWZhNTdh
MDQ2ZTJiMzE0ZDAxNjM3NjYyMGQxODMzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDktMjEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBjbGVhciB0
cmFuc2ZlcnJlZCBjaGFubmVsIGhhbmRsZXJzIHdoZW4gUlRDRGF0YUNoYW5uZWwgZ2V0cyBzdG9w
cGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA1
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dlYlJUQy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorCiAyMDIxLTA5LTIwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBhayBTREtdIE1vdmUgdG9vbGNoYWlucyB0byBVc2Vy
RmxhdHBhayBhbmQgaW1wcm92ZSBTREsgdXBncmFkZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dlYlJUQy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1dlYlJUQy5tbQppbmRleCAyZjkwYzViMzA2Nzc2YjhmYjk5YmM0ZmMzODk5ODdh
NTY3Njg2OTkzLi5jODVhMTQzNGQ1ZjA4NGEyNzg5N2Q5MzA0MDdkYTBjYjY2MzliNDg4IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XZWJSVEMubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViUlRDLm1tCkBAIC02NSw3ICs2NSw4
IEBAIFRFU1QoV2ViS2l0MiwgUlRDRGF0YUNoYW5uZWxQb3N0TWVzc2FnZSkKICAgICAiPHNjcmlw
dD4iCiAgICAgImxldCByZWdpc3RyYXRpb247IgogICAgICJhc3luYyBmdW5jdGlvbiByZWdpc3Rl
cigpIHsiCi0gICAgIiAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5yZWdpc3RlcignL3N3LmpzJyk7IgorICAgICIgICAgY29uc3Qgc2NvcGUgPSAncmVzb3Vy
Y2VzLyc7IgorICAgICIgICAgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIucmVnaXN0ZXIoJy9zdy5qcycsIHtzY29wZX0pOyIKICAgICAiICAgIGlmIChyZWdpc3Ry
YXRpb24uYWN0aXZlKSB7IgogICAgICIgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRs
ZXJzLndlYnJ0Yy5wb3N0TWVzc2FnZSgnUkVBRFknKTsiCiAgICAgIiAgICAgICAgcmV0dXJuOyIK
QEAgLTc3LDYgKzc4LDkgQEAgVEVTVChXZWJLaXQyLCBSVENEYXRhQ2hhbm5lbFBvc3RNZXNzYWdl
KQogICAgICIgICAgfSk7IgogICAgICJ9IgogICAgICJyZWdpc3RlcigpOyIKKyAgICAiZnVuY3Rp
b24gdW5yZWdpc3RlcigpIHsiCisgICAgIiAgICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOyIK
KyAgICAifSIKICAgICAiIgogICAgICJsZXQgY2hhbm5lbDEsIGNoYW5uZWwyOyIKICAgICAibGV0
IHBjMSwgcGMyOyIKQEAgLTExMyw2ICsxMTcsMTkgQEAgVEVTVChXZWJLaXQyLCBSVENEYXRhQ2hh
bm5lbFBvc3RNZXNzYWdlKQogICAgICJmdW5jdGlvbiB0cmFuc2ZlckRhdGFDaGFubmVsKCkgeyIK
ICAgICAiICAgZG9UcmFuc2ZlckRhdGFDaGFubmVsVGVzdCgpOyIKICAgICAifSIKKyAgICAiYXN5
bmMgZnVuY3Rpb24gdGVzdENoYW5uZWxIYW5kZXJzKGV4cGVjdGVkVmFsdWUsIHNob3VsZFdhaXQp
IHsiCisgICAgIiAgIGlmICghd2luZG93LmludGVybmFscykgeyIKKyAgICAiICAgICAgICB3aW5k
b3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy53ZWJydGMucG9zdE1lc3NhZ2UoJ05vIEludGVybmFs
cycpOyIKKyAgICAiICAgICAgICByZXR1cm47IgorICAgICIgICB9IgorICAgICIgICBsZXQgY291
bnRlciA9IHNob3VsZFdhaXQgPyAwIDogNDk7IgorICAgICIgICB3aGlsZSAoYXdhaXQgaW50ZXJu
YWxzLmNoYW5uZWxIYW5kbGVyQ291bnQoKSAhPSBleHBlY3RlZFZhbHVlICYmICsrY291bnRlciA8
IDUwKSIKKyAgICAiICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0
KHJlc29sdmUsIDUwKSk7IgorICAgICIgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy53
ZWJydGMucG9zdE1lc3NhZ2UoY291bnRlciA8IDUwID8gJ09LJyA6ICgnS08gZm9yICcgKyBleHBl
Y3RlZFZhbHVlKSk7IgorICAgICJ9IgorICAgICJmdW5jdGlvbiBleHBlY3RDaGFubmVsSGFuZGVy
cyhleHBlY3RlZFZhbHVlLCBzaG91bGRXYWl0KSB7IgorICAgICIgICB0ZXN0Q2hhbm5lbEhhbmRl
cnMoZXhwZWN0ZWRWYWx1ZSwgc2hvdWxkV2FpdCk7IgorICAgICJ9IgogICAgICI8L3NjcmlwdD4i
OwogCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGpzID0gInNlbGYub25tZXNzYWdlID0gKGV2ZW50
KSA9PiB7ICIKQEAgLTEzNyw2ICsxNTQsMTAgQEAgVEVTVChXZWJLaXQyLCBSVENEYXRhQ2hhbm5l
bFBvc3RNZXNzYWdlKQogICAgIH1dOwogCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKworICAgIGF1dG8gY29u
dGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVj
dGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZp
Z3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0
KCk7CisKICAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1dlYlJUQ01lc3NhZ2VI
YW5kbGVyIGFsbG9jXSBpbml0XSk7CiAgICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29u
dHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFt
ZTpAIndlYnJ0YyJdOwogCkBAIC0xNzYsNiArMTk3LDIxIEBAIFRFU1QoV2ViS2l0MiwgUlRDRGF0
YUNoYW5uZWxQb3N0TWVzc2FnZSkKICAgICBpc1JlYWR5ID0gZmFsc2U7CiAgICAgW3dlYlZpZXcy
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0cmFuc2ZlckRhdGFDaGFubmVsKCkiXTsK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzUmVhZHkpOworCisgICAgW21lc3NhZ2VI
YW5kbGVyIHNldE1lc3NhZ2VIYW5kbGVyOltdKFdLU2NyaXB0TWVzc2FnZSAqbWVzc2FnZSkgewor
ICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJPSyIsIFttZXNzYWdlIGJvZHldKTsKKyAgICAgICAg
aXNSZWFkeSA9IHRydWU7CisgICAgfV07CisgICAgaXNSZWFkeSA9IGZhbHNlOworICAgIC8vIFdl
YlZpZXcxIHByb2Nlc3Mgc2hvdWxkIGhhdmUgYSByZW1vdGUgY2hhbm5lbCBoYW5kbGVyIGZvciB0
aGUgc2VydmljZSB3b3JrZXIgY2hhbm5lbCB0cmFuc2ZlcnJlZCBmcm9tIHdlYlZpZXcyIHRvIHNl
cnZpY2Ugd29ya2VyLgorICAgIFt3ZWJWaWV3MSBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAiZXhwZWN0Q2hhbm5lbEhhbmRlcnMoMSwgZmFsc2UpIl07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZpc1JlYWR5KTsKKworICAgIFt3ZWJWaWV3MiBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAidW5yZWdpc3RlcigpIl07CisKKyAgICBpc1JlYWR5ID0gZmFsc2U7CisgICAg
W3dlYlZpZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJleHBlY3RDaGFubmVsSGFu
ZGVycygwLCB0cnVlKSJdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNSZWFkeSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="commit-queue"
          id="462318"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438821</attachid>
            <date>2021-09-21 08:07:42 -0700</date>
            <delta_ts>2021-09-21 10:01:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230543-20210921170740.patch</filename>
            <type>text/plain</type>
            <size>30532</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWEyYTk1NTUwOTE5OTEy
MTk3NDgyZDQ4YzBkZGNkZDFlZTgyNGI0OS4uOTRhZmYzM2U0YzE4MGIxYjA0MjYzY2YyZTJiMDU4
YzE1ZDI3MTQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gY2xl
YXIgdHJhbnNmZXJyZWQgY2hhbm5lbCBoYW5kbGVycyB3aGVuIFJUQ0RhdGFDaGFubmVsIGdldHMg
c3RvcHBlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMwNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBzdXJlIHRvIGV4cGxpY2l0bHkgY2FsbCBzdG9wIGZvciBldmVyeSBSVENEYXRhQ2hhbm5l
bEhhbmRsZXIgYXMgc29vbiBhcyB0aGUgY29ycmVzcG9uZGluZyBSVENEYXRhQ2hhbm5lbCBpcyBz
dG9wcGVkLgorICAgICAgICBUaGlzIGVuc3VyZXMgdG8gY2xlYW4gc3RydWN0dXJlcyBpbiB2YXJp
b3VzIHBsYWNlcy4KKyAgICAgICAgQWRkIGFuIGludGVybmFscyBBUEkgdG8gYmUgYWJsZSB0byB0
ZXN0IHRoZSBjaGFuZ2VzLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0LgorCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyOjpzdG9wKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlci5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNlOjpzdG9wKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjp+TGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlcjo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svUlRDRGF0
YUNoYW5uZWxIYW5kbGVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5l
bEhhbmRsZXJNb2NrOjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFu
bmVsSGFuZGxlck1vY2suaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNoYW5uZWxIYW5kbGVyQ291bnQpOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgor
CiAyMDIxLTA5LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIG1hcmtlcnMgYW5kIGhpZ2hsaWdodHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggYWI4OThmZDc0MWZhZDBmZDg3MjEwZDE0ZDYzN2ZlYTQ3MmY5MGUwMC4uMWY1ZDY5MDVj
ZjgxMjQxZmFiODkwZTJjN2IyMzI3MTk5MWNlODA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBA
QAorMjAyMS0wOS0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWFrZSBzdXJlIHRvIGNsZWFyIHRyYW5zZmVycmVkIGNoYW5uZWwgaGFuZGxlcnMgd2hlbiBS
VENEYXRhQ2hhbm5lbCBnZXRzIHN0b3BwZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBpcGUgc3RvcCBtZXNzYWdlIGZyb20gaGFuZGxlciB0byBuZXR3
b3JrIHByb2Nlc3MgdG8gc291cmNlLgorICAgICAgICBDbGVhciBzb3VyY2VzIGFuZCBoYW5kbGVy
cyBhcyBuZWVkZWQuCisgICAgICAgIEFkZCBhIGxvY2sgdG8gbWFrZSBzb3VyY2UgbV9zb3VyY2Vz
IGlzIGNvcnJlY3RseSBhY2Nlc3NlZC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5OjpzdG9wKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9S
VENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXI6On5SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIpOgorICAg
ICAgICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OmNsZWFyU291cmNlcyk6
CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c2V0Q29ubmVj
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6Y29u
bmVjdFRvUmVtb3RlU291cmNlKToKKyAgICAgICAgKFdlYktpdDo6UlRDRGF0YUNoYW5uZWxSZW1v
dGVNYW5hZ2VyOjpzb3VyY2VGcm9tSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OlJUQ0Rh
dGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6dGFrZVNvdXJjZUZyb21JZGVudGlmaWVyKToKKyAgICAg
ICAgKFdlYktpdDo6UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpzZW5kRGF0YSk6CisgICAg
ICAgIChXZWJLaXQ6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6Y2xvc2UpOgorICAgICAg
ICAoV2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnN0b3ApOgorICAgICAgICAo
V2ViS2l0OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OlJlbW90ZUhhbmRsZXJDb25uZWN0
aW9uOjpzdG9wKToKKyAgICAgICAgKFdlYktpdDo6UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2Vy
OjpSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbjo6Y291bnRIYW5kbGVyc0ZvclRlc3RpbmcpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5h
Z2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5l
bFJlbW90ZU1hbmFnZXIubWVzc2FnZXMuaW46CisKIDIwMjEtMDktMjEgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSB0aGF0IGNhcHR1cmUgYXR0cmli
dXRpb24gd29ya3MgZXZlbiBmb3IgVVJMUyB3aXRob3V0IGhvc3RuYW1lcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRl
eCBmZjIyMDhjMTgwZjVmZTFlNDY0MDY5ZTFjYzU0ZGRkZGNhOTJkMmFiLi42MjY0NWE3OTQ4MGFm
OTczNzdiNzA1ZTQ0ODA2ZmFlYjY5ZjRlMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjU2LDcgKzI1Niwx
MCBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzdG9wKCkKIAogICAgIGNsb3NlKCk7CiAgICAgbV9z
dG9wcGVkID0gdHJ1ZTsKLSAgICBtX2hhbmRsZXIgPSBudWxscHRyOworICAgIGlmIChtX2hhbmRs
ZXIpIHsKKyAgICAgICAgbV9oYW5kbGVyLT5zdG9wKCk7CisgICAgICAgIG1faGFuZGxlciA9IG51
bGxwdHI7CisgICAgfQogfQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNo
RXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIu
Y3BwCmluZGV4IGFmZWY0MzI4YzZhYzIwYjZhNDYyMWZkZThjNGZkZWU2MmI5NjdhYTMuLjc2Yzli
OGQ2NDBjZTM4YWEwZTUwNmQzZWFjNjhiYTA0ZTE5NGE4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVs
UmVtb3RlSGFuZGxlci5jcHAKQEAgLTEyMyw2ICsxMjMsMTEgQEAgdm9pZCBSVENEYXRhQ2hhbm5l
bFJlbW90ZUhhbmRsZXI6OmNsb3NlKCkKICAgICBtX2Nvbm5lY3Rpb24tPmNsb3NlKG1fcmVtb3Rl
SWRlbnRpZmllcik7CiB9CiAKK3ZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyOjpzdG9w
KCkKK3sKKyAgICBtX2Nvbm5lY3Rpb24tPnN0b3AobV9sb2NhbElkZW50aWZpZXIsIG1fcmVtb3Rl
SWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyLmgKaW5kZXggZjU4Mjdk
ZjkzNzk0OTNkMjgxMjcwMTc3Y2NmYmNhMDU1MTUzMjMxZi4uY2MwYTZmYjc1M2JiOTQwYzczNDIz
ODMxMGVmMGE2N2ZhNzI3NTdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlci5oCkBA
IC02NCw2ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzZW5kU3RyaW5nRGF0YShjb25zdCBD
U3RyaW5nJikgZmluYWw7CiAgICAgYm9vbCBzZW5kUmF3RGF0YShjb25zdCB1aW50OF90Kiwgc2l6
ZV90KSBmaW5hbDsKICAgICB2b2lkIGNsb3NlKCkgZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmlu
YWw7CiAKICAgICBSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgbV9yZW1vdGVJZGVudGlmaWVyOwog
ICAgIFJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBtX2xvY2FsSWRlbnRpZmllcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1v
dGVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWxSZW1vdGVTb3VyY2UuaAppbmRleCAxNDQ2YTU4OTU0YmFlOTUxYTRhM2YzOGU1ZjdhNWY5
NWI1MGVjYzA2Li4wNzI5YWE0OTY0ZDE2NjNiYmZkOWNiOGNhMWQxMjMzY2FmM2M0YzlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVs
UmVtb3RlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNlbmRTdHJpbmdEYXRhKGNvbnN0IENTdHJpbmcmIHRleHQpIHsgbV9oYW5kbGVyLT5z
ZW5kU3RyaW5nRGF0YSh0ZXh0KTsgfQogICAgIHZvaWQgc2VuZFJhd0RhdGEoY29uc3QgdWludDhf
dCogZGF0YSwgc2l6ZV90IHNpemUpIHsgbV9oYW5kbGVyLT5zZW5kUmF3RGF0YShkYXRhLCBzaXpl
KTsgfQogICAgIHZvaWQgY2xvc2UoKSB7IG1faGFuZGxlci0+Y2xvc2UoKTsgfQorICAgIHZvaWQg
c3RvcCgpIHsgbV9oYW5kbGVyLT5zdG9wKCk7IH0KIAogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCBSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZShSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIs
IFVuaXF1ZVJlZjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+JiYsIFJlZjxSVENEYXRhQ2hhbm5lbFJl
bW90ZVNvdXJjZUNvbm5lY3Rpb24+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q0RhdGFDaGFubmVsSGFuZGxlci5jcHAKaW5kZXggOTQ5MDRiNGM5ODM3YWRjMDBlY2RjNDI0ZWQ3
ZjA1Mzk4YzA0NTBmYS4uYTRjOWY5YWRhMjJiYzNlYmU0OTY2OGU0M2YzYThkZjM1NGI1ZmMxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3Bw
CkBAIC04Miw4ICs4MiwxOCBAQCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OkxpYldlYlJU
Q0RhdGFDaGFubmVsSGFuZGxlcihydGM6OnNjb3BlZF9yZWZwdHI8d2VicgogfQogCiBMaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXI6On5MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIoKQorewor
I2lmIEFTU0VSVF9FTkFCTEVECisgICAgTG9ja2VyIGxvY2tlciB7IG1fY2xpZW50TG9jayB9Owor
ICAgIEFTU0VSVCghbV9jbGllbnQpOworI2VuZGlmCit9CisKK3ZvaWQgTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyOjpzdG9wKCkKIHsKICAgICBtX2NoYW5uZWwtPlVucmVnaXN0ZXJPYnNlcnZl
cigpOworICAgIExvY2tlciBsb2NrZXIgeyBtX2NsaWVudExvY2sgfTsKKyAgICBtX2NsaWVudCA9
IG51bGxwdHI7CiB9CiAKIHZvaWQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpzZXRDbGll
bnQoUlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50JiBjbGllbnQsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaAppbmRleCAyYmUzMTI5NWM1MDFiYWQ1YWRmNWI5
ODUyMmM0MTIyMjAzYzQxZjJlLi5iMDg5ZDYwMmU0MDFmNDVmYWQzOTU1ZDMyMTBjMGQ5ZmEyNzQw
NDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIu
aApAQCAtNjUsNiArNjUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2VuZFN0cmluZ0RhdGEoY29u
c3QgQ1N0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgc2VuZFJhd0RhdGEoY29uc3QgdWludDhfdCos
IHNpemVfdCkgZmluYWw7CiAgICAgdm9pZCBjbG9zZSgpIGZpbmFsOworICAgIHZvaWQgc3RvcCgp
IGZpbmFsOwogCiAgICAgLy8gd2VicnRjOjpEYXRhQ2hhbm5lbE9ic2VydmVyIEFQSQogICAgIHZv
aWQgT25TdGF0ZUNoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBlYTBhMDgwMmM1N2Zj
NjljNTEzZDhmNDYyNGQ5ZjVmYTFiNjJmODc0Li45OTgxYTE3ZDg5ZjMwZTdiOGY0MTg4MTZjZWNm
NTUwMDA3NGQ5MTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzA4LDcgKzcwOCw3IEBAIHB1
YmxpYzoKICAgICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9s
bGVyKCkgZmluYWw7CiAgICAgU3RvcmFnZUNvbm5lY3Rpb24qIHN0b3JhZ2VDb25uZWN0aW9uKCkg
ZmluYWw7CiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKCkgZmluYWw7Ci0gICAg
UmVmUHRyPFJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24+IGNyZWF0ZVJUQ0Rh
dGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24oKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZWZQdHI8UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4gY3JlYXRl
UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIGZpbmFsOwogCiAjaWYgRU5B
QkxFKFdFQl9SVEMpCiAgICAgUlRDTmV0d29ya01hbmFnZXIqIHJ0Y05ldHdvcmtNYW5hZ2VyKCkg
eyByZXR1cm4gbV9ydGNOZXR3b3JrTWFuYWdlci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIu
aAppbmRleCA2YTNhYTg3ZDg5MzFjNGI4MGNhMGRlYTczODA2YjU3MGM4Njc4ZTU4Li4zODU2Y2M0
ZTE0MDI3ODU5ODUxODVjMTQyNmNlNjUxNzJjMGEzYTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIu
aApAQCAtMTEwLDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VuZFN0cmlu
Z0RhdGEoY29uc3QgQ1N0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2VuZFJhd0RhdGEo
Y29uc3QgdWludDhfdCosIHNpemVfdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24u
aAppbmRleCBhNDY5MjEzNTk2M2Q2ZTZiNjUyNWEzNDk5YTM4OTRhNGNkNzE4NDE2Li43NzMyZDRm
Y2NkZGI5YjBiYmRmNGIwNTA2NDkxZmIxYTllOWUxMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0
YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oCkBAIC00MCw2ICs0MCw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdFRvU291cmNlKFJUQ0RhdGFDaGFubmVsUmVtb3Rl
SGFuZGxlciYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSVENEYXRhQ2hhbm5l
bElkZW50aWZpZXIsIFJUQ0RhdGFDaGFubmVsSWRlbnRpZmllcikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzZW5kRGF0YShSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIsIGJvb2wgaXNSYXcsIGNvbnN0
IHVuc2lnbmVkIGNoYXIqLCBzaXplX3QpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoUlRD
RGF0YUNoYW5uZWxJZGVudGlmaWVyKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3AoUlRDRGF0
YUNoYW5uZWxJZGVudGlmaWVyIGxvY2FsSWRlbnRpZmllciwgUlRDRGF0YUNoYW5uZWxJZGVudGlm
aWVyIHJlbW90ZUlkZW50aWZpZXIpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBjb3VudEhhbmRs
ZXJzRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHNpemVfdCk+JiYpID0gMDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1vY2suY3BwCmluZGV4IDkzYmQ5
NjJkNGRlYWQ0MDM5ZTVkMDE1NDdiNTU4MjA4ZDllZWVhNzcuLjkzODBhMzUyMmUxMmQxMzk2OTNi
ODA5YTJlOWU2YmExN2RkODBhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRsZXJNb2NrLmNwcApAQCAtNjYsNiArNjYs
MTAgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbEhhbmRsZXJNb2NrOjpjbG9zZSgpCiAgICAgbV90aW1l
ckV2ZW50cy5hcHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgV1RGTW92ZShub3Rp
ZmllcikpKSk7CiB9CiAKK3ZvaWQgUlRDRGF0YUNoYW5uZWxIYW5kbGVyTW9jazo6c3RvcCgpCit7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5l
bEhhbmRsZXJNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFu
bmVsSGFuZGxlck1vY2suaAppbmRleCBlMDcwYmRiMTNlODcyNTg3YzUzZTA0ZjQ5NjE3ZmVkNTU5
YTBhODliLi43ZjJhMGEzMDU1NzE1NzBmNGIzZTJiM2ZiMWJkZjI0MGE3NDJkOGNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1v
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFu
ZGxlck1vY2suaApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2VuZFN0cmlu
Z0RhdGEoY29uc3QgQ1N0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgc2VuZFJhd0RhdGEoY29uc3Qg
dWludDhfdCosIHNpemVfdCkgZmluYWw7CiAgICAgdm9pZCBjbG9zZSgpIGZpbmFsOworICAgIHZv
aWQgc3RvcCgpIGZpbmFsOwogCiAgICAgUlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50KiBtX2Ns
aWVudCB7IG51bGxwdHIgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGFlYzc2MGU1NGE5ZjZkYmI5YWEyN2RkMGI3YjQzNzI5OGQ4NThkY2QuLjRkYzFjOTUwN2EyNTUy
MWNkMjMyZjJmY2RmZTM0NzhiMDcxNmE3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTE2NDcsNiArMTY0NywyMiBAQCB2b2lkIEludGVybmFsczo6c2V0VXNlRFRMUzEw
KGJvb2wgdXNlRFRMUzEwKQogI2VuZGlmCiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpjaGFubmVsSGFu
ZGxlckNvdW50KERPTVByb21pc2VEZWZlcnJlZDxJRExVbnNpZ25lZExvbmdMb25nPiYmIHByb21p
c2UpCit7CisgICAgYXV0byogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKKyAgICBpZiAo
IWRvY3VtZW50KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBhdXRvIGNvbm5lY3Rpb24gPSBkb2N1bWVudC0+
Y3JlYXRlUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpOworICAgIGlmICgh
Y29ubmVjdGlvbikgeworICAgICAgICBwcm9taXNlLnJlamVjdChJbnZhbGlkU3RhdGVFcnJvcik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29ubmVjdGlvbi0+Y291bnRIYW5kbGVyc0Zv
clRlc3RpbmcoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkgbXV0YWJs
ZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShyZXN1bHQpOworICAgIH0pOworfQogI2VuZGlm
CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggNzlkMzVjMTJjMjc3MDgyYTM5YzIxNjJjMzMwODViYmZjNDM1OGJmYS4uODBhMmJkOWUy
ZDU2YTBkNzkzMmM4N2I0ZWJkYWNmNGU4NzVhNTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC02NDAsNiArNjQwLDcgQEAgcHVibGljOgogICAgIHVpbnQ2NF90IHNmcmFtZUtl
eUlkKGNvbnN0IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybSYpOwogICAgIHZvaWQgc2V0RW5hYmxlV2Vi
UlRDRW5jcnlwdGlvbihib29sKTsKICAgICB2b2lkIHNldFVzZURUTFMxMChib29sKTsKKyAgICB2
b2lkIGNoYW5uZWxIYW5kbGVyQ291bnQoRE9NUHJvbWlzZURlZmVycmVkPElETFVuc2lnbmVkTG9u
Z0xvbmc+JiYpOwogI2VuZGlmCiAKICAgICBTdHJpbmcgZ2V0SW1hZ2VTb3VyY2VVUkwoRWxlbWVu
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGI1ODA0MWZjYTE5N2Ri
MmY3MWNiZjE0NWQyNTY3Y2QwMzE5Mjg1MTcuLjc0MjM3OTczNTAzYzk0MmY4MWY3ZTNjNzQwZjU2
MDNjNzljNDgyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTc3NSw2
ICs3NzUsNyBAQCBlbnVtIEF1dG9wbGF5UG9saWN5IHsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JU
Q10gdW5kZWZpbmVkIGNsZWFyUGVlckNvbm5lY3Rpb25GYWN0b3J5KCk7CiAgICAgW0NvbmRpdGlv
bmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2xlYW4g
ZW5hYmxlZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRVc2VEVExT
MTAoYm9vbGVhbiB1c2UpOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSBQcm9taXNlPHVuc2ln
bmVkIGxvbmcgbG9uZz4gY2hhbm5lbEhhbmRsZXJDb3VudCgpOwogCiAgICAgW0NvbmRpdGlvbmFs
PVZJREVPXSB1bmRlZmluZWQgc2ltdWxhdGVTeXN0ZW1TbGVlcCgpOwogICAgIFtDb25kaXRpb25h
bD1WSURFT10gdW5kZWZpbmVkIHNpbXVsYXRlU3lzdGVtV2FrZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5h
Z2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0
YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDc0ODRkZjNjZTczYTVjYjRiM2Fl
YmMwZGU4OWQ3NGExYWVhMjkxNGEuLjM3OTc0MzYxN2JlMDJhZDE2MDRkZDUxYjhjN2VhYzdhN2Fi
NzdjMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JU
Q0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5jcHAK
QEAgLTY4LDYgKzY4LDEyIEBAIHZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyUHJveHk6
OmNsb3NlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBpCiAgICAgICAgIElQQzo6
Q29ubmVjdGlvbjo6c2VuZChjb25uZWN0aW9uSUQsIE1lc3NhZ2VzOjpSVENEYXRhQ2hhbm5lbFJl
bW90ZU1hbmFnZXI6OkNsb3NlIHsgaWRlbnRpZmllciB9LCAwKTsKIH0KIAordm9pZCBSVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eTo6c3RvcChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElk
ZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBpZiAoYXV0byBjb25uZWN0aW9uSUQgPSBtX3dl
YlByb2Nlc3NDb25uZWN0aW9ucy5nZXQoaWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcikpCisg
ICAgICAgIElQQzo6Q29ubmVjdGlvbjo6c2VuZChjb25uZWN0aW9uSUQsIE1lc3NhZ2VzOjpSVENE
YXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OlN0b3AgeyBpZGVudGlmaWVyIH0sIDApOworfQorCiB2
b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5OjpjaGFuZ2VSZWFkeVN0YXRlKFdl
YkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJDb3JlOjpSVENE
YXRhQ2hhbm5lbFN0YXRlIHN0YXRlKQogewogICAgIGlmIChhdXRvIGNvbm5lY3Rpb25JRCA9IG1f
d2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmdldChpZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFD
aGFubmVsUmVtb3RlTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5oCmluZGV4IDNmNTcxNjM0
YWE2NTRhYjY2OTY5NGIxN2I4ZDhkYTE5Zjg1ZTdjYTkuLmIxY2E4M2U0N2JiNmQ5YTU5MGRjNDhm
NWY1ZThjZTUwNGQ2NmMzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2Vy
UHJveHkuaApAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRlOgogICAgIC8vIFRvIHNvdXJjZQogICAg
IHZvaWQgc2VuZERhdGEoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyLCBib29sIGlz
UmF3LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICB2b2lkIGNsb3NlKFdlYkNvcmU6
OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllcik7CisgICAgdm9pZCBzdG9wKFdlYkNvcmU6OlJUQ0Rh
dGFDaGFubmVsSWRlbnRpZmllcik7CiAKICAgICAvLyBUbyBoYW5kbGVyCiAgICAgdm9pZCBjaGFu
Z2VSZWFkeVN0YXRlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciwgV2ViQ29yZTo6
UlRDRGF0YUNoYW5uZWxTdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVt
b3RlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDg2MDRmN2Y2NTg1ZjA2NmNhZGFhNzg1
MjQzMzRhYWRhZjAzYmE5ZjkuLmQzMTU2MzU1ZDQ5OGIzMjQ4MWRiOWRhZDY2OWFmODUxNDI3YTA0
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0Rh
dGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0yNiw2ICsyNiw3IEBAIG1lc3NhZ2VzIC0+IFJUQ0RhdGFDaGFubmVs
UmVtb3RlTWFuYWdlclByb3h5IE5vdFJlZkNvdW50ZWQgewogICAgIC8vIFRvIHNvdXJjZQogICAg
IFNlbmREYXRhKHN0cnVjdCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgc291cmNl
LCBib29sIGlzUmF3LCBJUEM6OkRhdGFSZWZlcmVuY2UgdGV4dCk7CiAgICAgQ2xvc2Uoc3RydWN0
IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBzb3VyY2UpOworICAgIFN0b3Aoc3Ry
dWN0IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBzb3VyY2UpOwogCiAgICAgLy8g
VG8gaGFuZGxlcgogICAgIENoYW5nZVJlYWR5U3RhdGUoc3RydWN0IFdlYkNvcmU6OlJUQ0RhdGFD
aGFubmVsSWRlbnRpZmllciBoYW5kbGVyLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UlRDRGF0YUNo
YW5uZWxTdGF0ZSBzdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFn
ZXIuY3BwCmluZGV4IDJhNTRiNjEwODZjYmNhNTNjNDk1MGViMzg0NDBhNmU3NWZmY2ExN2YuLjg1
YjgxNDI1NjY3Mzk1MTJhMTgzYWZhMGIxOTY4ODUyYzQ4ZmZjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbFJlbW90ZU1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9S
VENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIuY3BwCkBAIC00OSw2ICs0OSwxOSBAQCBSVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXI6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcigpCiAgICAg
c2V0Q29ubmVjdGlvbigmV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpKTsKIH0KIAorUlRDRGF0YUNoYW5uZWxSZW1vdGVN
YW5hZ2VyOjp+UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyKCkKK3sKKyAgICBjbGVhclNvdXJj
ZXMoKTsKK30KKwordm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OmNsZWFyU291cmNl
cygpCit7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fc291cmNlc0xvY2sgfTsKKyAgICBhdXRvIHNv
dXJjZXMgPSBXVEZNb3ZlKG1fc291cmNlcyk7CisgICAgZm9yIChhdXRvJiBzb3VyY2UgOiBzb3Vy
Y2VzLnZhbHVlcygpKQorICAgICAgICBzb3VyY2UtPnN0b3AoKTsKK30KKwogdm9pZCBSVENEYXRh
Q2hhbm5lbFJlbW90ZU1hbmFnZXI6OnNldENvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25u
ZWN0aW9uKQogewogICAgIGlmIChtX2Nvbm5lY3Rpb24gPT0gY29ubmVjdGlvbikKQEAgLTU3LDYg
KzcwLDcgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnNldENvbm5lY3Rpb24o
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogICAgIGlmIChtX2Nvbm5lY3Rpb24pCiAgICAg
ICAgIG1fY29ubmVjdGlvbi0+cmVtb3ZlV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7CiAK
KyAgICBjbGVhclNvdXJjZXMoKTsKICAgICBtX2Nvbm5lY3Rpb24gPSBjb25uZWN0aW9uOwogCiAg
ICAgaWYgKG1fY29ubmVjdGlvbikKQEAgLTczLDYgKzg3LDcgQEAgYm9vbCBSVENEYXRhQ2hhbm5l
bFJlbW90ZU1hbmFnZXI6OmNvbm5lY3RUb1JlbW90ZVNvdXJjZShXZWJDb3JlOjpSVENEYXRhQ2hh
bm5lbEkKICAgICBpZiAoIWhhbmRsZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIExv
Y2tlciBsb2NrZXIgeyBtX3NvdXJjZXNMb2NrIH07CiAgICAgYXV0byBpdGVyYXRvciA9IG1fc291
cmNlcy5hZGQocmVtb3RlSWRlbnRpZmllci5jaGFubmVsSWRlbnRpZmllciwgV2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxSZW1vdGVTb3VyY2U6OmNyZWF0ZShyZW1vdGVJZGVudGlmaWVyLCBtYWtlVW5p
cXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoV1RGTW92ZShoYW5kbGVyKSksIHJlbW90ZVNvdXJj
ZUNvbm5lY3Rpb24oKSkpOwogICAgIHJldHVybiBpdGVyYXRvci5pc05ld0VudHJ5OwogfQpAQCAt
MTA4LDE4ICsxMjMsMjkgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnBvc3RU
YXNrVG9IYW5kbGVyKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnQKICAgICB9KTsKIH0KIAot
V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UqIFJUQ0RhdGFDaGFubmVsUmVtb3Rl
TWFuYWdlcjo6c291cmNlRnJvbUlkZW50aWZpZXIoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVu
dGlmaWVyIHNvdXJjZUlkZW50aWZpZXIpCitSZWZQdHI8V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxS
ZW1vdGVTb3VyY2U+IFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c291cmNlRnJvbUlkZW50
aWZpZXIoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIp
CiB7CiAgICAgQVNTRVJUKFdlYkNvcmU6OlByb2Nlc3M6OmlkZW50aWZpZXIoKSA9PSBzb3VyY2VJ
ZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKTsKICAgICBpZiAoV2ViQ29yZTo6UHJvY2Vzczo6
aWRlbnRpZmllcigpICE9IHNvdXJjZUlkZW50aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCisgICAgTG9ja2VyIGxvY2tlciB7IG1fc291cmNlc0xvY2sg
fTsKICAgICByZXR1cm4gbV9zb3VyY2VzLmdldChzb3VyY2VJZGVudGlmaWVyLmNoYW5uZWxJZGVu
dGlmaWVyKTsKIH0KIAorUmVmUHRyPFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNl
PiBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnRha2VTb3VyY2VGcm9tSWRlbnRpZmllcihX
ZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllcikKK3sKKyAg
ICBBU1NFUlQoV2ViQ29yZTo6UHJvY2Vzczo6aWRlbnRpZmllcigpID09IHNvdXJjZUlkZW50aWZp
ZXIucHJvY2Vzc0lkZW50aWZpZXIpOworICAgIGlmIChXZWJDb3JlOjpQcm9jZXNzOjppZGVudGlm
aWVyKCkgIT0gc291cmNlSWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcikKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9zb3VyY2VzTG9jayB9OworICAg
IHJldHVybiBtX3NvdXJjZXMudGFrZShzb3VyY2VJZGVudGlmaWVyLmNoYW5uZWxJZGVudGlmaWVy
KTsKK30KKwogdm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnNlbmREYXRhKFdlYkNv
cmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBib29sIGlzUmF3
LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCiB7Ci0gICAgaWYgKGF1dG8qIHNvdXJj
ZSA9IHNvdXJjZUZyb21JZGVudGlmaWVyKHNvdXJjZUlkZW50aWZpZXIpKSB7CisgICAgaWYgKGF1
dG8gc291cmNlID0gc291cmNlRnJvbUlkZW50aWZpZXIoc291cmNlSWRlbnRpZmllcikpIHsKICAg
ICAgICAgaWYgKGlzUmF3KQogICAgICAgICAgICAgc291cmNlLT5zZW5kUmF3RGF0YShkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpOwogICAgICAgICBlbHNlCkBAIC0xMjksMTAgKzE1NSwxNiBAQCB2
b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c2VuZERhdGEoV2ViQ29yZTo6UlRDRGF0
YUNoYW5uZWxJZGVudGlmaWVyIHNvdQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdl
cjo6Y2xvc2UoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZp
ZXIpCiB7Ci0gICAgaWYgKGF1dG8qIHNvdXJjZSA9IHNvdXJjZUZyb21JZGVudGlmaWVyKHNvdXJj
ZUlkZW50aWZpZXIpKQorICAgIGlmIChhdXRvIHNvdXJjZSA9IHNvdXJjZUZyb21JZGVudGlmaWVy
KHNvdXJjZUlkZW50aWZpZXIpKQogICAgICAgICBzb3VyY2UtPmNsb3NlKCk7CiB9CiAKK3ZvaWQg
UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpzdG9wKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVs
SWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyKQoreworICAgIGlmIChhdXRvIHNvdXJjZSA9IHRh
a2VTb3VyY2VGcm9tSWRlbnRpZmllcihzb3VyY2VJZGVudGlmaWVyKSkKKyAgICAgICAgc291cmNl
LT5zdG9wKCk7Cit9CisKIHZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpjaGFuZ2VS
ZWFkeVN0YXRlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBoYW5kbGVySWRlbnRp
ZmllciwgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxTdGF0ZSBzdGF0ZSkKIHsKICAgICBwb3N0VGFz
a1RvSGFuZGxlcihoYW5kbGVySWRlbnRpZmllciwgW3N0YXRlXShhdXRvJiBoYW5kbGVyKSB7CkBA
IC0yMDksNiArMjQxLDIzIEBAIHZvaWQgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpSZW1v
dGVIYW5kbGVyQ29ubmVjdGlvbjo6Y2xvc2UoV2ViQ29yZTo6UlRDRGF0CiAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eTo6Q2xv
c2UgeyBpZGVudGlmaWVyIH0sIDApOwogfQogCit2b2lkIFJUQ0RhdGFDaGFubmVsUmVtb3RlTWFu
YWdlcjo6UmVtb3RlSGFuZGxlckNvbm5lY3Rpb246OnN0b3AoV2ViQ29yZTo6UlRDRGF0YUNoYW5u
ZWxJZGVudGlmaWVyIGxvY2FsSWRlbnRpZmllciwgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVu
dGlmaWVyIHJlbW90ZUlkZW50aWZpZXIpCit7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW2xvY2Fs
SWRlbnRpZmllcl0oKSBtdXRhYmxlIHsKKyAgICAgICAgUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5h
Z2VyOjpzaGFyZWRNYW5hZ2VyKCkubV9oYW5kbGVycy5yZW1vdmUobG9jYWxJZGVudGlmaWVyLmNo
YW5uZWxJZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlclByb3h5OjpTdG9wIHsgcmVtb3RlSWRlbnRp
ZmllciB9LCAwKTsKK30KKwordm9pZCBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OlJlbW90
ZUhhbmRsZXJDb25uZWN0aW9uOjpjb3VudEhhbmRsZXJzRm9yVGVzdGluZyhDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHNpemVfdCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2go
W2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7CisgICAgICAgIGNhbGxP
bk1haW5SdW5Mb29wKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBzaXplID0gIFJUQ0Rh
dGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLm1faGFuZGxlcnMuc2l6ZSgp
XSgpIG11dGFibGUgeworICAgICAgICAgICAgY2FsbGJhY2soc2l6ZSk7CisgICAgICAgIH0pOwor
ICAgIH0pOworfQorCiBSZWY8UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyOjpSZW1vdGVTb3Vy
Y2VDb25uZWN0aW9uPiBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OlJlbW90ZVNvdXJjZUNv
bm5lY3Rpb246OmNyZWF0ZSgpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlU291
cmNlQ29ubmVjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLmgK
aW5kZXggYjA4YzBiNjFmNjE5YzJlNzc3MDE0M2RlOGQ3NWQ2ODQ0NDc2MDI5YS4uMmY0YzJiYTY2
MGE4ZDU2ZTBhMTllMmI0NjU2YTA4MjdhYTkyM2YwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENEYXRhQ2hh
bm5lbFJlbW90ZU1hbmFnZXIuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JUQ0Rh
dGFDaGFubmVsUmVtb3RlU291cmNlQ29ubmVjdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTM5
LDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBSVENEYXRhQ2hhbm5lbFJlbW90
ZU1hbmFnZXIgZmluYWwgOiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdl
UmVjZWl2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFn
ZXImIHNoYXJlZE1hbmFnZXIoKTsKKyAgICB+UlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyKCk7
CiAKICAgICBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uJiBy
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpOwogICAgIHZvaWQgc2V0Q29ubmVjdGlvbihJUEM6OkNv
bm5lY3Rpb24qKTsKQEAgLTUzLDYgKzU1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlcwog
ICAgIHZvaWQgc2VuZERhdGEoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyLCBib29s
IGlzUmF3LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICB2b2lkIGNsb3NlKFdlYkNv
cmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllcik7CisgICAgdm9pZCBzdG9wKFdlYkNvcmU6OlJU
Q0RhdGFDaGFubmVsSWRlbnRpZmllcik7CiAKICAgICAvLyBUbyBoYW5kbGVyCiAgICAgdm9pZCBj
aGFuZ2VSZWFkeVN0YXRlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciwgV2ViQ29y
ZTo6UlRDRGF0YUNoYW5uZWxTdGF0ZSk7CkBAIC02Miw3ICs2NSw5IEBAIHByaXZhdGU6CiAKICAg
ICBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZUNvbm5lY3Rpb24mIHJlbW90ZVNv
dXJjZUNvbm5lY3Rpb24oKTsKICAgICB2b2lkIHBvc3RUYXNrVG9IYW5kbGVyKFdlYkNvcmU6OlJU
Q0RhdGFDaGFubmVsSWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChXZWJDb3JlOjpSVENEYXRhQ2hh
bm5lbFJlbW90ZUhhbmRsZXImKT4mJik7Ci0gICAgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxSZW1v
dGVTb3VyY2UqIHNvdXJjZUZyb21JZGVudGlmaWVyKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRl
bnRpZmllcik7CisgICAgUmVmUHRyPFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNl
PiBzb3VyY2VGcm9tSWRlbnRpZmllcihXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIp
OworICAgIFJlZlB0cjxXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZT4gdGFrZVNv
dXJjZUZyb21JZGVudGlmaWVyKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllcik7Cisg
ICAgdm9pZCBjbGVhclNvdXJjZXMoKTsKIAogICAgIGNsYXNzIFJlbW90ZUhhbmRsZXJDb25uZWN0
aW9uIDogcHVibGljIFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rp
b24gewogICAgIHB1YmxpYzoKQEAgLTcxLDYgKzc2LDggQEAgcHJpdmF0ZToKICAgICAgICAgdm9p
ZCBjb25uZWN0VG9Tb3VyY2UoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyJiwg
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYkNvcmU6OlJUQ0Rh
dGFDaGFubmVsSWRlbnRpZmllciwgV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxJZGVudGlmaWVyKSBm
aW5hbDsKICAgICAgICAgdm9pZCBzZW5kRGF0YShXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50
aWZpZXIsIGJvb2wgaXNSYXcsIGNvbnN0IHVuc2lnbmVkIGNoYXIqLCBzaXplX3QpIGZpbmFsOwog
ICAgICAgICB2b2lkIGNsb3NlKFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllcikgZmlu
YWw7CisgICAgICAgIHZvaWQgc3RvcChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIg
bG9jYWxJZGVudGlmaWVyLCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbElkZW50aWZpZXIgcmVtb3Rl
SWRlbnRpZmllcikgZmluYWw7CisgICAgICAgIHZvaWQgY291bnRIYW5kbGVyc0ZvclRlc3Rpbmco
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzaXplX3QpPiYmKSBmaW5hbDsKIAogICAgIHByaXZhdGU6
CiAgICAgICAgIGV4cGxpY2l0IFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKFJlZjxXb3JrUXVldWU+
JiYpOwpAQCAtMTA0LDcgKzExMSw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPElQQzo6Q29ubmVj
dGlvbj4gbV9jb25uZWN0aW9uOwogICAgIFJlZlB0cjxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4g
bV9yZW1vdGVIYW5kbGVyQ29ubmVjdGlvbjsKICAgICBSZWZQdHI8UmVtb3RlU291cmNlQ29ubmVj
dGlvbj4gbV9yZW1vdGVTb3VyY2VDb25uZWN0aW9uOwotICAgIEhhc2hNYXA8V2ViQ29yZTo6UlRD
RGF0YUNoYW5uZWxMb2NhbElkZW50aWZpZXIsIFJlZjxXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJl
bW90ZVNvdXJjZT4+IG1fc291cmNlczsKKyAgICBMb2NrIG1fc291cmNlc0xvY2s7CisgICAgSGFz
aE1hcDxXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbExvY2FsSWRlbnRpZmllciwgUmVmPFdlYkNvcmU6
OlJUQ0RhdGFDaGFubmVsUmVtb3RlU291cmNlPj4gbV9zb3VyY2VzICBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fc291cmNlc0xvY2spOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxM
b2NhbElkZW50aWZpZXIsIFJlbW90ZUhhbmRsZXI+IG1faGFuZGxlcnM7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5u
ZWxSZW1vdGVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1JUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5tZXNzYWdlcy5pbgppbmRl
eCAwZDkyMDI3YmI1YzU2N2UzMGVjZjM4ZDdkOThiODNmOTEzYjdiM2Q4Li5kYWViZjNiODUyNjI4
NDFkYTY5ODljMTliYzdlMzVmYjkwMjA2MWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9SVENE
YXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI2LDYgKzI2LDcgQEAgbWVz
c2FnZXMgLT4gUlRDRGF0YUNoYW5uZWxSZW1vdGVNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewogICAg
IC8vIFRvIHNvdXJjZQogICAgIFNlbmREYXRhKHN0cnVjdCBXZWJDb3JlOjpSVENEYXRhQ2hhbm5l
bElkZW50aWZpZXIgc291cmNlLCBib29sIGlzUmF3LCBJUEM6OkRhdGFSZWZlcmVuY2UgdGV4dCk7
CiAgICAgQ2xvc2Uoc3RydWN0IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBzb3Vy
Y2UpOworICAgIFN0b3Aoc3RydWN0IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBz
b3VyY2UpOwogCiAgICAgLy8gVG8gaGFuZGxlcgogICAgIENoYW5nZVJlYWR5U3RhdGUoc3RydWN0
IFdlYkNvcmU6OlJUQ0RhdGFDaGFubmVsSWRlbnRpZmllciBoYW5kbGVyLCBlbnVtOnVpbnQ4X3Qg
V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxTdGF0ZSBzdGF0ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjc1ZjZjZGYzNWE2NTU5NzUyYjFhYTAz
ZjhiMmFjZWQzNzVjZGE5ZC4uODk1OWFkODA4MzUxNzVhNjI5OGExZDI0ZDgzYjU2N2ZjZTExNTI4
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDIxLTA5LTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gY2xlYXIgdHJhbnNmZXJyZWQgY2hhbm5lbCBoYW5k
bGVycyB3aGVuIFJUQ0RhdGFDaGFubmVsIGdldHMgc3RvcHBlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNTQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9XZWJSVEMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wOS0y
MCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSB1c2Ug
b2YgbWFrZVJlZlB0cigpIGFuZCB1c2UgUmVmUHRyIHsgfSBkaXJlY3RseQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViUlRDLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViUlRDLm1tCmluZGV4IDJmOTBjNWIzMDY3NzZiOGZiOTli
YzRmYzM4OTk4N2E1Njc2ODY5OTMuLjZjZjMwOTEyN2Q3YTc5ZDJkODg3YjE5NTczNjEwMWUzYzMw
YzJjZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dlYlJU
Qy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XZWJSVEMubW0KQEAg
LTY1LDcgKzY1LDggQEAgVEVTVChXZWJLaXQyLCBSVENEYXRhQ2hhbm5lbFBvc3RNZXNzYWdlKQog
ICAgICI8c2NyaXB0PiIKICAgICAibGV0IHJlZ2lzdHJhdGlvbjsiCiAgICAgImFzeW5jIGZ1bmN0
aW9uIHJlZ2lzdGVyKCkgeyIKLSAgICAiICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCcvc3cuanMnKTsiCisgICAgIiAgICBjb25zdCBzY29w
ZSA9ICdyZXNvdXJjZXMvJzsiCisgICAgIiAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignL3N3LmpzJywge3Njb3BlfSk7IgogICAgICIgICAg
aWYgKHJlZ2lzdHJhdGlvbi5hY3RpdmUpIHsiCiAgICAgIiAgICAgICAgd2luZG93LndlYmtpdC5t
ZXNzYWdlSGFuZGxlcnMud2VicnRjLnBvc3RNZXNzYWdlKCdSRUFEWScpOyIKICAgICAiICAgICAg
ICByZXR1cm47IgpAQCAtNzcsNiArNzgsOSBAQCBURVNUKFdlYktpdDIsIFJUQ0RhdGFDaGFubmVs
UG9zdE1lc3NhZ2UpCiAgICAgIiAgICB9KTsiCiAgICAgIn0iCiAgICAgInJlZ2lzdGVyKCk7Igor
ICAgICJmdW5jdGlvbiB1bnJlZ2lzdGVyKCkgeyIKKyAgICAiICAgIHJlZ2lzdHJhdGlvbi51bnJl
Z2lzdGVyKCk7IgorICAgICJ9IgogICAgICIiCiAgICAgImxldCBjaGFubmVsMSwgY2hhbm5lbDI7
IgogICAgICJsZXQgcGMxLCBwYzI7IgpAQCAtMTEzLDYgKzExNywxOSBAQCBURVNUKFdlYktpdDIs
IFJUQ0RhdGFDaGFubmVsUG9zdE1lc3NhZ2UpCiAgICAgImZ1bmN0aW9uIHRyYW5zZmVyRGF0YUNo
YW5uZWwoKSB7IgogICAgICIgICBkb1RyYW5zZmVyRGF0YUNoYW5uZWxUZXN0KCk7IgogICAgICJ9
IgorICAgICJhc3luYyBmdW5jdGlvbiB0ZXN0Q2hhbm5lbEhhbmRlcnMoZXhwZWN0ZWRWYWx1ZSwg
c2hvdWxkV2FpdCkgeyIKKyAgICAiICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7IgorICAgICIg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLndlYnJ0Yy5wb3N0TWVzc2FnZSgn
Tm8gSW50ZXJuYWxzJyk7IgorICAgICIgICAgICAgIHJldHVybjsiCisgICAgIiAgIH0iCisgICAg
IiAgIGxldCBjb3VudGVyID0gc2hvdWxkV2FpdCA/IDAgOiA0OTsiCisgICAgIiAgIHdoaWxlIChh
d2FpdCBpbnRlcm5hbHMuY2hhbm5lbEhhbmRsZXJDb3VudCgpICE9IGV4cGVjdGVkVmFsdWUgJiYg
Kytjb3VudGVyIDwgNTApIgorICAgICIgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsiCisgICAgIiAgIHdpbmRvdy53ZWJraXQubWVzc2Fn
ZUhhbmRsZXJzLndlYnJ0Yy5wb3N0TWVzc2FnZShjb3VudGVyIDwgNTAgPyAnT0snIDogKCdLTyBm
b3IgJyArIGV4cGVjdGVkVmFsdWUpKTsiCisgICAgIn0iCisgICAgImZ1bmN0aW9uIGV4cGVjdENo
YW5uZWxIYW5kZXJzKGV4cGVjdGVkVmFsdWUsIHNob3VsZFdhaXQpIHsiCisgICAgIiAgIHRlc3RD
aGFubmVsSGFuZGVycyhleHBlY3RlZFZhbHVlLCBzaG91bGRXYWl0KTsiCisgICAgIn0iCiAgICAg
Ijwvc2NyaXB0PiI7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhcioganMgPSAic2VsZi5vbm1lc3Nh
Z2UgPSAoZXZlbnQpID0+IHsgIgpAQCAtMTM3LDYgKzE1NCwxMiBAQCBURVNUKFdlYktpdDIsIFJU
Q0RhdGFDaGFubmVsUG9zdE1lc3NhZ2UpCiAgICAgfV07CiAKICAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworCisj
aWYgV0tfSEFWRV9DX1NQSQorICAgIGF1dG8gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQ
STo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5q
ZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wg
PSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisjZW5kaWYKKwogICAgIGF1dG8gbWVz
c2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbV2ViUlRDTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRd
KTsKICAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRN
ZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAid2VicnRjIl07CiAKQEAg
LTE3Niw2ICsxOTksMjQgQEAgVEVTVChXZWJLaXQyLCBSVENEYXRhQ2hhbm5lbFBvc3RNZXNzYWdl
KQogICAgIGlzUmVhZHkgPSBmYWxzZTsKICAgICBbd2ViVmlldzIgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAInRyYW5zZmVyRGF0YUNoYW5uZWwoKSJdOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaXNSZWFkeSk7CisKKyNpZiBXS19IQVZFX0NfU1BJCisgICAgLy8gV2UgbmVl
ZCBJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QgaGVyZS4KKyAgICBbbWVzc2FnZUhhbmRsZXIg
c2V0TWVzc2FnZUhhbmRsZXI6W10oV0tTY3JpcHRNZXNzYWdlICptZXNzYWdlKSB7CisgICAgICAg
IEVYUEVDVF9XS19TVFJFUShAIk9LIiwgW21lc3NhZ2UgYm9keV0pOworICAgICAgICBpc1JlYWR5
ID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBpc1JlYWR5ID0gZmFsc2U7CisgICAgLy8gV2ViVmlldzEg
cHJvY2VzcyBzaG91bGQgaGF2ZSBhIHJlbW90ZSBjaGFubmVsIGhhbmRsZXIgZm9yIHRoZSBzZXJ2
aWNlIHdvcmtlciBjaGFubmVsIHRyYW5zZmVycmVkIGZyb20gd2ViVmlldzIgdG8gc2VydmljZSB3
b3JrZXIuCisgICAgW3dlYlZpZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJleHBl
Y3RDaGFubmVsSGFuZGVycygxLCBmYWxzZSkiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmlzUmVhZHkpOworCisgICAgW3dlYlZpZXcyIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJ1bnJlZ2lzdGVyKCkiXTsKKworICAgIGlzUmVhZHkgPSBmYWxzZTsKKyAgICBbd2ViVmll
dzEgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImV4cGVjdENoYW5uZWxIYW5kZXJzKDAs
IHRydWUpIl07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc1JlYWR5KTsKKyNlbmRp
ZgogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>
<flag name="commit-queue"
          id="462334"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>