<?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>28758</bug_id>
          
          <creation_ts>2009-08-26 16:49:09 -0700</creation_ts>
          <short_desc>Implement pageshow and pagehide events for b/f cache</short_desc>
          <delta_ts>2023-08-19 20:31:09 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>sharkadsm</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143002</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-26 16:49:09 -0700</bug_when>
    <thetext>Firefox has events that fire when a page goes into back/forward cache, or out of it. See &lt;https://developer.mozilla.org/en/Using_Firefox_1.5_caching&gt;.

We need to support this.

&lt;rdar://problem/6440869&gt; Implement pageshow and pagehide events for b/f cache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143010</commentid>
    <comment_count>1</comment_count>
      <attachid>38650</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-26 17:15:06 -0700</bug_when>
    <thetext>Created attachment 38650
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143019</commentid>
    <comment_count>2</comment_count>
      <attachid>38650</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-08-26 17:56:04 -0700</bug_when>
    <thetext>Comment on attachment 38650
proposed patch

yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143149</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-27 10:48:33 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/47824&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38650</attachid>
            <date>2009-08-26 17:15:06 -0700</date>
            <delta_ts>2009-08-26 17:56:04 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>PageshowPagehide.txt</filename>
            <type>text/plain</type>
            <size>54908</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzgwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjggQEAKKzIwMDktMDgtMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NzU4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NDQwODY5PiBJbXBsZW1lbnQgcGFnZXNob3cgYW5kIHBhZ2VoaWRlIGV2
ZW50cyBmb3IgYi9mIGNhY2hlICgyODc1OCkKKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMv
cGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay11bmNhY2hlZC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOiAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0b3BMb2FkaW5n
KTogRGlzcGF0Y2ggcGFnZWhpZGUgZXZlbnQKKyAgICAgICAgKHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGJvdGggd2hlbiBhIGRvY3VtZW50IGdvZXMgYXdheSwgYW5kIHdoZW4gaXQgZ29lcyB0byBi
L2YgY2FjaGUpLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdVbmxvYWRFdmVudHMpOiBEaXNwYXRj
aCBwYWdlaGlkZSByaWdodCBiZWZvcmUgdW5sb2FkLgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpkaXNwYXRjaFBhZ2VUcmFuc2l0aW9uRXZlbnQpOiBEbyB3aGF0IGl0IHRha2VzIHRvIGFk
ZCBhIG5ldyBldmVudCBoYW5kbGVyCisgICAgICAgIHRoYXQgY2FuIGJlIGluc3RhbGxlZCBvbiBX
aW5kb3cgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbnBhZ2VoaWRlKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9ucGFnZWhpZGUpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6b25wYWdlc2hvdyk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbnBhZ2VzaG93KTogRGl0dG8uCisKKyAgICAg
ICAgKiBoaXN0b3J5L0NhY2hlZEZyYW1lLmNwcDogKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpyZXN0
b3JlKTogRGlzcGF0Y2ggcGFnZXNob3cgZm9yIGEgcGFnZQorICAgICAgICB0aGF0IGlzbid0IGJl
aW5nIHJlc3RvcmVkIGZyb20gY2FjaGUuCisKKyAgICAgICAgKiBkb20vUGFnZVRyYW5zaXRpb25F
dmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZVRyYW5zaXRpb25FdmVudDo6
UGFnZVRyYW5zaXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlVHJhbnNpdGlvbkV2
ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlVHJhbnNp
dGlvbkV2ZW50Ojppbml0UGFnZVRyYW5zaXRpb25FdmVudCk6CisgICAgICAgICogZG9tL1BhZ2VU
cmFuc2l0aW9uRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlVHJhbnNpdGlv
bkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVRyYW5zaXRpb25FdmVudDo6
aXNQYWdlVHJhbnNpdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUcmFuc2l0aW9u
RXZlbnQ6OnBlcnNpc3RlZCk6CisgICAgICAgICogZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRs
OiBBZGRlZC4KKyAgICAgICAgQWRkIGV2ZW50IGNsYXNzIGltcGxlbWVudGF0aW9uLgorCisgICAg
ICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwOiAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IFN1cHBvcnQKKyAgICAgICAgaW5saW5lIGxpc3RlbmVy
IGRlZmluaXRpb24gKG5vdGUgdGhhdCBhZGRpbmcgbGlzdGVuZXJzIHRvIGRvY3VtZW50LmJvZHkg
cHJvZ3JhbW1hdGljYWxseQorICAgICAgICBpcyBub3Qgc3VwcG9ydGVkLCBtYXRjaGluZyBGaXJl
Zm94KS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aW1wbGljaXRDbG9zZSk6IERpc3BhdGNoIHBhZ2VzaG93IGV2ZW50IHJpZ2h0IGJl
Zm9yZSBsb2FkIGV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpc3BhdGNoUGFn
ZVRyYW5zaXRpb25FdmVudCk6IERvIHdoYXQgaXQgdGFrZXMgdG8gYWRkIGEgbmV3IGV2ZW50IGZv
cgorICAgICAgICBEb2N1ZW1udC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVF
dmVudCk6IERpdHRvLgorCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZGVkIGRpc3BhdGNo
UGFnZVRyYW5zaXRpb25FdmVudC4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlU291cmNlcy5ia2w6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHA6IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOiAoV2ViQ29y
ZTo6RXZlbnQ6OmlzUGFnZVRyYW5zaXRpb25FdmVudCk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6
CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbjoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDoKKyAgICAgICAgRG8gd2hhdCBpdCB0YWtlcyB0byBhZGQgYSBuZXcgZXZl
bnQgdHlwZS4KKwogMjAwOS0wOC0yNiAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCShyZXZpc2lvbiA0Nzc5NykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29y
a2luZyBjb3B5KQpAQCAtMjEwLDYgKzIxMCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE5vdGlm
aWNhdGlvbiBcCiAgICAgTm90aWZpY2F0aW9uQ2VudGVyIFwKICAgICBPdmVyZmxvd0V2ZW50IFwK
KyAgICBQYWdlVHJhbnNpdGlvbkV2ZW50IFwKICAgICBQbHVnaW4gXAogICAgIFBsdWdpbkFycmF5
IFwKICAgICBQb3NpdGlvbkVycm9yIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNDc3OTcpCisrKyBX
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsNiArMTM4LDcgQEAg
SURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2RvbS9Ob2RlTGlzdC5pZGwgXAogCVdlYkNvcmUv
ZG9tL05vdGF0aW9uLmlkbCBcCiAJV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwgXAorCVdl
YkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbCBcCiAJ
V2ViQ29yZS9kb20vUmFuZ2UuaWRsIFwKQEAgLTc0NCw2ICs3NDUsOCBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuaCBcCiAJV2ViQ29yZS9kb20vT3Zl
cmZsb3dFdmVudC5jcHAgXAogCVdlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaCBcCisJV2ViQ29y
ZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgXAorCVdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0
aW9uRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9Q
b3NpdGlvbi5oIFwKIAlXZWJDb3JlL2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcCBcCkluZGV4OiBX
ZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQko
cmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtNjQsNiArNjQsNyBAQAogICAgICAgICAgICAgJ2RvbS9Ob2RlTGlzdC5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9Ob3RhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9PdmVyZmxvd0V2ZW50
LmlkbCcsCisgICAgICAgICAgICAnZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRsJywKICAgICAg
ICAgICAgICdkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L1Byb2dyZXNzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vUmFuZ2UuaWRsJywKQEAgLTEw
MzcsNiArMTAzOCw4IEBACiAgICAgICAgICAgICAnZG9tL09wdGlvbkdyb3VwRWxlbWVudC5oJywK
ICAgICAgICAgICAgICdkb20vT3ZlcmZsb3dFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9P
dmVyZmxvd0V2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNw
cCcsCisgICAgICAgICAgICAnZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAg
ICAnZG9tL1Bvc2l0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Bvc2l0aW9uLmgnLAogICAg
ICAgICAgICAgJ2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNv
cmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDQ3Nzk3
KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzQ4LDYgKzM0OCw3
IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9tL05vZGVMaXN0LmlkbCBcCiAgICAgZG9tL05v
dGF0aW9uLmlkbCBcCiAgICAgZG9tL092ZXJmbG93RXZlbnQuaWRsIFwKKyAgICBkb20vUGFnZVRy
YW5zaXRpb25FdmVudC5pZGwgXAogICAgIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsIFwK
ICAgICBkb20vUHJvZ3Jlc3NFdmVudC5pZGwgXAogICAgIGRvbS9SYW5nZUV4Y2VwdGlvbi5pZGwg
XApAQCAtODYzLDYgKzg2NCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9PcHRpb25Hcm91cEVs
ZW1lbnQuY3BwIFwKICAgICBkb20vT3B0aW9uRWxlbWVudC5jcHAgXAogICAgIGRvbS9PdmVyZmxv
d0V2ZW50LmNwcCBcCisgICAgZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20v
UG9zaXRpb24uY3BwIFwKICAgICBkb20vUG9zaXRpb25JdGVyYXRvci5jcHAgXAogICAgIGRvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIFwKQEAgLTE1MjksNiArMTUzMSw3IEBAIEhFQURFUlMg
Kz0gXAogICAgIGRvbS9PcHRpb25FbGVtZW50LmggXAogICAgIGRvbS9PcHRpb25Hcm91cEVsZW1l
bnQuaCBcCiAgICAgZG9tL092ZXJmbG93RXZlbnQuaCBcCisgICAgZG9tL1BhZ2VUcmFuc2l0aW9u
RXZlbnQuaCBcCiAgICAgZG9tL1Bvc2l0aW9uLmggXAogICAgIGRvbS9Qb3NpdGlvbkl0ZXJhdG9y
LmggXAogICAgIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBcCkluZGV4OiBXZWJDb3JlL1dl
YkNvcmVTb3VyY2VzLmJrbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJr
bAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzg1LDYgKzM4NSw3IEBAIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbGlzdCBv
ZiBmaWxlcyBuZWUKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGVMaXN0LmNw
cAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm90YXRpb24uY3BwCiAgICAgICAg
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPdmVyZmxvd0V2ZW50LmNwcAorICAgICAgICBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKICAgICAgICAgRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsdWdpbi5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BsdWdpbkFycmF5LmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUG9zaXRpb25FcnJvci5jcHAKQEAgLTQ4OCw2ICs0ODksNyBAQCBUaGlzIGZpbGUgY29udGFp
bnMgdGhlIGxpc3Qgb2YgZmlsZXMgbmVlCiAgICAgICAgIGRvbS9PcHRpb25Hcm91cEVsZW1lbnQu
Y3BwCiAgICAgICAgIGRvbS9PcHRpb25FbGVtZW50LmNwcAogICAgICAgICBkb20vT3ZlcmZsb3dF
dmVudC5jcHAKKyAgICAgICAgZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCiAgICAgICAgIGRv
bS9Qb3NpdGlvbi5jcHAKICAgICAgICAgZG9tL1Bvc2l0aW9uSXRlcmF0b3IuY3BwCiAgICAgICAg
IGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDQ3Nzk3KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNzY3NSw2ICs3Njc1LDU0IEBACiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNp
dGlvbkV2ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFnZVRyYW5z
aXRpb25FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1BsdWdpbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAt
MjQxMjAsNiArMjQxNjgsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXFBhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFBhZ2VUcmFu
c2l0aW9uRXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxkZWZhdWx0XFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcCIN
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDQ5MSw2ICs0NDkxLDEzIEBA
CiAJCUUxMjcxQTE0MEVFRUM4MDQwMEY2MTIxMyAvKiBXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNzFBMTMwRUVFQzgw
NDAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5jcHAgKi87IH07CiAJCUUxMjcxQTU4MEVFRUNE
RTQwMEY2MTIxMyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNzFBNTYwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29y
a2VyTmF2aWdhdG9yLmggKi87IH07CiAJCUUxMjcxQTU5MEVFRUNERTQwMEY2MTIxMyAvKiBKU1dv
cmtlck5hdmlnYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTI3MUE1NzBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3Bw
ICovOyB9OworCQlFMTI4NEFEQTEwNDQ3QUVCMDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVu
dC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
Mjg0QUQ5MTA0NDdBRUIwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmlkbCAqLzsgfTsK
KwkJRTEyODRBRTExMDQ0N0Q0NTAwRUFFQjUyIC8qIFBhZ2VUcmFuc2l0aW9uRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjg0QUUwMTA0NDdE
NDUwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmggKi87IH07CisJCUUxMjg0QUVBMTA0
NDdERUUwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjg0QUU5MTA0NDdERUUwMEVBRUI1MiAv
KiBQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCAqLzsgfTsKKwkJRTEyODRCQjExMDQ0OUZGQTAwRUFF
QjUyIC8qIEpTUGFnZVRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyODRCQUYxMDQ0OUZGQTAwRUFFQjUyIC8qIEpTUGFnZVRy
YW5zaXRpb25FdmVudC5oICovOyB9OworCQlFMTI4NEJCMjEwNDQ5RkZBMDBFQUVCNTIgLyogSlNQ
YWdlVHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxMjg0QkIwMTA0NDlGRkEwMEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9u
RXZlbnQuY3BwICovOyB9OworCQlFMTI4NEJENTEwNDRBMDFFMDBFQUVCNTIgLyogRE9NUGFnZVRy
YW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxMjg0QkQzMTA0NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlvbkV2ZW50
Lm1tICovOyB9OworCQlFMTI4NEJENjEwNDRBMDFFMDBFQUVCNTIgLyogRE9NUGFnZVRyYW5zaXRp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTEyODRCRDQxMDQ0QTAxRTAwRUFFQjUyIC8qIERPTVBhZ2VUcmFuc2l0aW9uRXZlbnQuaCAqLzsg
fTsKIAkJRTEyRURCN0IwQjMwOEE3ODAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTJFREI3QTBCMzA4QTc4MDAy
NzA0QjYgLyogRXZlbnRUYXJnZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMTJFREJFQTBCMzA4RTBCMDAyNzA0QjYgLyogRXZlbnRUYXJnZXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyRURC
RTkwQjMwOEUwQjAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCAqLzsgfTsKIAkJRTE3QTRBMUIw
RDk3OTkxRDAwRkMxMEM2IC8qIERPTVNWR0FsdEdseXBoRWxlbWVudC5oIGluIENvcHkgR2VuZXJh
dGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVBQTZCQUMw
RDk3NEEwMDAwMDU0MUFFIC8qIERPTVNWR0FsdEdseXBoRWxlbWVudC5oICovOyB9OwpAQCAtOTUx
MSw2ICs5NTE4LDEzIEBACiAJCUUxMjcxQTUxMEVFRUNEMUMwMEY2MTIxMyAvKiBXb3JrZXJOYXZp
Z2F0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdvcmtlck5hdmlnYXRvci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMjcxQTU2MEVFRUNERTQwMEY2MTIxMyAvKiBK
U1dvcmtlck5hdmlnYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dv
cmtlck5hdmlnYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTI3MUE1NzBF
RUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNXb3JrZXJOYXZpZ2F0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMTI4NEFEOTEwNDQ3QUVCMDBFQUVCNTIgLyogUGFnZVRyYW5zaXRp
b25FdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGFnZVRyYW5zaXRpb25FdmVudC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxMjg0QUUwMTA0NDdENDUwMEVBRUI1
MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBhZ2VUcmFuc2l0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTEyODRBRTkxMDQ0N0RFRTAwRUFFQjUyIC8qIFBhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZVRyYW5zaXRpb25FdmVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxMjg0QkFGMTA0NDlGRkEwMEVBRUI1MiAv
KiBKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNQYWdlVHJhbnNpdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUxMjg0QkIwMTA0NDlGRkEwMEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYWdlVHJhbnNpdGlvbkV2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTEyODRCRDMxMDQ0QTAxRTAwRUFF
QjUyIC8qIERPTVBhZ2VUcmFuc2l0aW9uRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBET01QYWdlVHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMTI4NEJENDEwNDRBMDFFMDBFQUVCNTIgLyogRE9NUGFnZVRyYW5z
aXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01QYWdlVHJh
bnNpdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMkVEQjdBMEIz
MDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTJF
REJFOTBCMzA4RTBCMDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRUYXJnZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMTgyNTY4RDBFRjJCMDJEMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV29ya2VyQ29udGV4dC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTUzNSw2ICsxMTU0OSw4IEBACiAJ
CQkJODVDN0Y1QkQwQUFGQjdDQzAwNDAxNEREIC8qIERPTU11dGF0aW9uRXZlbnQubW0gKi8sCiAJ
CQkJODVDN0Y1Q0UwQUFGQjhEOTAwNDAxNEREIC8qIERPTU92ZXJmbG93RXZlbnQuaCAqLywKIAkJ
CQk4NUM3RjVDRjBBQUZCOEQ5MDA0MDE0REQgLyogRE9NT3ZlcmZsb3dFdmVudC5tbSAqLywKKwkJ
CQlFMTI4NEJENDEwNDRBMDFFMDBFQUVCNTIgLyogRE9NUGFnZVRyYW5zaXRpb25FdmVudC5oICov
LAorCQkJCUUxMjg0QkQzMTA0NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlvbkV2ZW50
Lm1tICovLAogCQkJCUJDQzU3MzMzMEQ2OTVCQkUwMDZFRjUxNyAvKiBET01Qcm9ncmVzc0V2ZW50
LmggKi8sCiAJCQkJQkNDNTczMzQwRDY5NUJCRTAwNkVGNTE3IC8qIERPTVByb2dyZXNzRXZlbnQu
bW0gKi8sCiAJCQkJOTMzQTE0NzUwQjdEMUJBRjAwQTUzRkZEIC8qIERPTVRleHRFdmVudC5oICov
LApAQCAtMTMwMzksNiArMTMwNTUsOCBAQAogCQkJCTY1REYzMUU4MDlEMUNDNjAwMDBCRTMyNSAv
KiBKU011dGF0aW9uRXZlbnQuaCAqLywKIAkJCQkxQTBENTczRTBBNUM3ODY3MDA3RURENEMgLyog
SlNPdmVyZmxvd0V2ZW50LmNwcCAqLywKIAkJCQkxQTBENTczRjBBNUM3ODY3MDA3RURENEMgLyog
SlNPdmVyZmxvd0V2ZW50LmggKi8sCisJCQkJRTEyODRCQjAxMDQ0OUZGQTAwRUFFQjUyIC8qIEpT
UGFnZVRyYW5zaXRpb25FdmVudC5jcHAgKi8sCisJCQkJRTEyODRCQUYxMDQ0OUZGQTAwRUFFQjUy
IC8qIEpTUGFnZVRyYW5zaXRpb25FdmVudC5oICovLAogCQkJCTkzM0ExNEI2MEI3RDFENTIwMEE1
M0ZGRCAvKiBKU1RleHRFdmVudC5jcHAgKi8sCiAJCQkJOTMzQTE0QjcwQjdEMUQ1MjAwQTUzRkZE
IC8qIEpTVGV4dEV2ZW50LmggKi8sCiAJCQkJQTg2NjI5Q0EwOURBMkI0NzAwOTYzM0E1IC8qIEpT
VUlFdmVudC5jcHAgKi8sCkBAIC0xNTEzNiw2ICsxNTE1NCw5IEBACiAJCQkJMUEwRDU3MzQwQTVD
NzdGRTAwN0VERDRDIC8qIE92ZXJmbG93RXZlbnQuY3BwICovLAogCQkJCTFBMEQ1NzM1MEE1Qzc3
RkUwMDdFREQ0QyAvKiBPdmVyZmxvd0V2ZW50LmggKi8sCiAJCQkJMUEwRDU3MzgwQTVDNzgxMjAw
N0VERDRDIC8qIE92ZXJmbG93RXZlbnQuaWRsICovLAorCQkJCUUxMjg0QUU5MTA0NDdERUUwMEVB
RUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCAqLywKKwkJCQlFMTI4NEFFMDEwNDQ3RDQ1
MDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVudC5oICovLAorCQkJCUUxMjg0QUQ5MTA0NDdB
RUIwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmlkbCAqLywKIAkJCQk0MUJGNzAwRDBG
RTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwICovLAogCQkJ
CTQxQkY3MDBFMEZFODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
ICovLAogCQkJCUJFOTFGQzhDMDYxMzM2NjYwMDVFMzc5MCAvKiBQb3NpdGlvbi5jcHAgKi8sCkBA
IC0xNzUyNyw2ICsxNzU0OCw3IEBACiAJCQkJQkNGQTkzMDgxMDMzMzE5MzAwN0IyNUQxIC8qIFJl
bmRlck92ZXJmbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDE0NjI4QjEwM0NEMURFMDAwQjIw
REIgLyogT3JpZ2luQWNjZXNzRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1MUJGNkYxMTAy
QzlFNTkwMDAyQzE1QSAvKiBTUUxUcmFuc2FjdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTEyODRBRTExMDQ0N0Q0NTAwRUFFQjUyIC8qIFBhZ2VUcmFuc2l0aW9uRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5QzdCOTk0MTA0MkQyRDMwMDA5RDQ0NyAvKiBKU0NhbnZhc0J1ZmZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDN0I5OTYxMDQyRDJEMzAwMDlENDQ3IC8qIEpTQ2Fu
dmFzQnl0ZUFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUM3Qjk5ODEwNDJEMkQzMDAwOUQ0
NDcgLyogSlNDYW52YXNGcmFtZWJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xNzU1MCw2ICsx
NzU3Miw4IEBACiAJCQkJNDlDN0I5RTYxMDQyRDMyRjAwMDlENDQ3IC8qIENhbnZhc1RleHR1cmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzdCOUZDMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGlj
c0NvbnRleHQzRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDN0JBMDAxMDQyRDM4QzAwMDlENDQ3
IC8qIENhbnZhczNETGF5ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxMjg0QkIxMTA0NDlGRkEw
MEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUx
Mjg0QkQ2MTA0NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlvbkV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTBENEEzNDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJy
b3JCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBENEEzNzEwMzE2NUVFMDA0OUVBNTQgLyog
U29ja2V0U3RyZWFtSGFuZGxlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwRDRBMzgxMDMx
NjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0xNzY1Niw2ICsxNzY4MCw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNEIC8q
IHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBDMDUx
RkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFC
MUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAq
LywKKwkJCQlFMTI4NEFEQTEwNDQ3QUVCMDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVudC5p
ZGwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTk2MTksNiArMTk2NDQsNyBAQAogCQkJCUI1QzExMjNC
MTAyQjZDNDYwMDA5NjU3OCAvKiBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTAwMTQ2MjhBMTAzQ0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRy
eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNTFCRjZGMDEwMkM5RTU5MDAwMkMxNUEgLyogU1FM
VHJhbnNhY3Rpb25DbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTEyODRBRUExMDQ0N0RF
RTAwRUFFQjUyIC8qIFBhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDlDN0I5N0UxMDQyRDIwODAwMDlENDQ3IC8qIEpTQ2FudmFzTnVtYmVyQXJyYXlDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDlDN0I5N0YxMDQyRDIwODAwMDlENDQ3IC8qIEpTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDNEQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdCOTkz
MTA0MkQyRDMwMDA5RDQ0NyAvKiBKU0NhbnZhc0J1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTE5NjQ2LDYgKzE5NjcyLDggQEAKIAkJCQk0OUM3QkE4RDEwNDJGNUIxMDAwOUQ0NDcgLyogSlNE
b2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3RDRGQjEwNDJGOTVGMDAw
OUQ0NDcgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0M0QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDk4M0E5NzAxMDQzNUU5MDAwREI3MEY5IC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMTI4NEJCMjEwNDQ5RkZBMDBFQUVCNTIgLyog
SlNQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUxMjg0QkQ1MTA0
NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTEwRDRBMzMxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUVycm9yQmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBENEEzNjEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0
U3RyZWFtSGFuZGxlQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUFCQUUxRjEwM0MxOTEz
MDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDQ3Nzk3KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkpTTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIkpT
TXV0YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpTT3ZlcmZsb3dFdmVudC5oIgorI2luY2x1ZGUg
IkpTUGFnZVRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpTUHJvZ3Jlc3NFdmVudC5oIgog
I2luY2x1ZGUgIkpTVGV4dEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNVSUV2ZW50LmgiCkBAIC01MSw2
ICs1Miw3IEBACiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZl
bnQuaCIKICNpbmNsdWRlICJPdmVyZmxvd0V2ZW50LmgiCisjaW5jbHVkZSAiUGFnZVRyYW5zaXRp
b25FdmVudC5oIgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlICJUZXh0RXZl
bnQuaCIKICNpbmNsdWRlICJVSUV2ZW50LmgiCkBAIC0xMTEsNiArMTEzLDggQEAgSlNWYWx1ZSB0
b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRF
X0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIE92ZXJmbG93RXZlbnQsIGV2
ZW50KTsKICAgICBlbHNlIGlmIChldmVudC0+aXNNZXNzYWdlRXZlbnQoKSkKICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBNZXNz
YWdlRXZlbnQsIGV2ZW50KTsKKyAgICBlbHNlIGlmIChldmVudC0+aXNQYWdlVHJhbnNpdGlvbkV2
ZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMs
IGdsb2JhbE9iamVjdCwgUGFnZVRyYW5zaXRpb25FdmVudCwgZXZlbnQpOwogICAgIGVsc2UgaWYg
KGV2ZW50LT5pc1Byb2dyZXNzRXZlbnQoKSkgewogICAgICAgICBpZiAoZXZlbnQtPmlzWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50KCkpCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RP
TV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudCwgZXZlbnQpOwpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDcgQEAKICNp
bmNsdWRlICJOb2RlV2l0aEluZGV4LmgiCiAjaW5jbHVkZSAiT3ZlcmZsb3dFdmVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgpAQCAtMTY1NSw2ICsxNjU2LDcgQEAg
dm9pZCBEb2N1bWVudDo6aW1wbGljaXRDbG9zZSgpCiAKICAgICBJbWFnZUxvYWRlcjo6ZGlzcGF0
Y2hQZW5kaW5nTG9hZEV2ZW50cygpOwogICAgIGRpc3BhdGNoTG9hZEV2ZW50KCk7CisgICAgZGlz
cGF0Y2hQYWdlVHJhbnNpdGlvbkV2ZW50KEV2ZW50TmFtZXMoKS5wYWdlc2hvd0V2ZW50LCBmYWxz
ZSk7CiAgICAgaWYgKGYpCiAgICAgICAgIGYtPmxvYWRlcigpLT5oYW5kbGVkT25sb2FkRXZlbnRz
KCk7CiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwpAQCAtMjgwNyw2ICsyODA5
LDE1IEBAIHZvaWQgRG9jdW1lbnQ6OmRpc3BhdGNoTG9hZEV2ZW50KCkKICAgICBkb21XaW5kb3ct
PmRpc3BhdGNoTG9hZEV2ZW50KCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmRpc3BhdGNoUGFnZVRy
YW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBwZXJzaXN0
ZWQpCit7CisgICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOworICAgIERPTVdp
bmRvdyogZG9tV2luZG93ID0gdGhpcy0+ZG9tV2luZG93KCk7CisgICAgaWYgKCFkb21XaW5kb3cp
CisgICAgICAgIHJldHVybjsKKyAgICBkb21XaW5kb3ctPmRpc3BhdGNoUGFnZVRyYW5zaXRpb25F
dmVudChldmVudFR5cGUsIHBlcnNpc3RlZCk7Cit9CisKIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3Vt
ZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50VHlwZSA9PSAiRXZl
bnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQpAQCAtMjgyMSw2ICsyODMyLDggQEAg
UGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KAogICAgICAgICByZXR1cm4g
TXV0YXRpb25FdmVudDo6Y3JlYXRlKCk7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiT3ZlcmZsb3dF
dmVudCIpCiAgICAgICAgIHJldHVybiBPdmVyZmxvd0V2ZW50OjpjcmVhdGUoKTsKKyAgICBpZiAo
ZXZlbnRUeXBlID09ICJQYWdlVHJhbnNpdGlvbkV2ZW50IikKKyAgICAgICAgcmV0dXJuIFBhZ2VU
cmFuc2l0aW9uRXZlbnQ6OmNyZWF0ZSgpOwogICAgIGlmIChldmVudFR5cGUgPT0gIlByb2dyZXNz
RXZlbnQiKQogICAgICAgICByZXR1cm4gUHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKCk7CiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiA0Nzc5NykKKysrIFdlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1Miw2ICs1NTIsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaXNwYXRjaFdpbmRvd0V2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKICAgICB2
b2lkIGRpc3BhdGNoV2luZG93RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJv
b2wgY2FuQnViYmxlQXJnLCBib29sIGNhbmNlbGFibGVBcmcpOwogICAgIHZvaWQgZGlzcGF0Y2hM
b2FkRXZlbnQoKTsKKyAgICB2b2lkIGRpc3BhdGNoUGFnZVRyYW5zaXRpb25FdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBwZXJzaXN0ZWQpOwogCiAgICAgUGFzc1JlZlB0
cjxFdmVudD4gY3JlYXRlRXZlbnQoY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIEV4Y2VwdGlvbkNv
ZGUmKTsKIApJbmRleDogV2ViQ29yZS9kb20vRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw2ICsxMjQsMTEgQEAgYm9vbCBFdmVudDo6aXNPdmVy
Zmxvd0V2ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRXZlbnQ6Omlz
UGFnZVRyYW5zaXRpb25FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBi
b29sIEV2ZW50Ojppc1Byb2dyZXNzRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZl
bnQuaAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDksNiArMTA5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNXaGVlbEV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Jl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc092
ZXJmbG93RXZlbnQoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzUGFnZVRyYW5zaXRp
b25FdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzc0V2ZW50KCkg
Y29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRBbmltYXRpb25FdmVudCgp
IGNvbnN0OwpJbmRleDogV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKG9ubGluZSkgXAogICAgIG1hY3JvKG9wZW4pIFwKICAgICBtYWNy
byhvdmVyZmxvd2NoYW5nZWQpIFwKKyAgICBtYWNybyhwYWdlaGlkZSkgXAorICAgIG1hY3JvKHBh
Z2VzaG93KSBcCiAgICAgbWFjcm8ocGFzdGUpIFwKICAgICBtYWNybyhyZWFkeXN0YXRlY2hhbmdl
KSBcCiAgICAgbWFjcm8ocmVzZXQpIFwKSW5kZXg6IFdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9u
RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQu
Y3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBhZ2VU
cmFuc2l0aW9uRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworICAgICAgICAKK1BhZ2VUcmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9u
RXZlbnQoKQorICAgIDogbV9wZXJzaXN0ZWQoZmFsc2UpCit7Cit9CisKK1BhZ2VUcmFuc2l0aW9u
RXZlbnQ6OlBhZ2VUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IHBlcnNpc3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIHRydWUsIHRydWUpCisgICAgLCBtX3BlcnNp
c3RlZChwZXJzaXN0ZWQpCit7Cit9CisKK1BhZ2VUcmFuc2l0aW9uRXZlbnQ6On5QYWdlVHJhbnNp
dGlvbkV2ZW50KCkKK3sKK30KKwordm9pZCBQYWdlVHJhbnNpdGlvbkV2ZW50Ojppbml0UGFnZVRy
YW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbkJ1YmJsZUFyZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5jZWxhYmxlQXJnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHBlcnNpc3Rl
ZCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
aW5pdEV2ZW50KHR5cGUsIGNhbkJ1YmJsZUFyZywgY2FuY2VsYWJsZUFyZyk7CisgICAgCisgICAg
bV9wZXJzaXN0ZWQgPSBwZXJzaXN0ZWQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKClBy
b3BlcnR5IGNoYW5nZXMgb246IFdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUv
ZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9QYWdl
VHJhbnNpdGlvbkV2ZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9QYWdlVHJhbnNp
dGlvbkV2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBQYWdlVHJhbnNpdGlvbkV2
ZW50X2gKKyNkZWZpbmUgUGFnZVRyYW5zaXRpb25FdmVudF9oCisKKyNpbmNsdWRlICJFdmVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFzcyBQYWdlVHJhbnNpdGlvbkV2ZW50
IDogcHVibGljIEV2ZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFBhZ2VUcmFuc2l0aW9uRXZlbnQ+IGNyZWF0ZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgUGFnZVRyYW5zaXRpb25FdmVudCk7CisgICAgICAgIH0KKyAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8UGFnZVRyYW5zaXRpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgYm9vbCBwZXJzaXN0ZWQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZVRyYW5zaXRpb25FdmVudCh0eXBlLCBwZXJzaXN0ZWQp
KTsKKyAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgflBhZ2VUcmFuc2l0aW9uRXZlbnQoKTsK
KworICAgICAgICB2b2lkIGluaXRQYWdlVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuQnViYmxl
QXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbmNlbGFibGVBcmcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcGVyc2lzdGVkKTsKKworICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNQYWdlVHJhbnNpdGlvbkV2ZW50KCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQorCisgICAgICAgIGJvb2wgcGVyc2lzdGVkKCkgY29uc3QgeyByZXR1cm4gbV9wZXJz
aXN0ZWQ7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFBhZ2VUcmFuc2l0aW9uRXZlbnQoKTsK
KyAgICAgICAgUGFnZVRyYW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgcGVyc2lzdGVkKTsKKworICAgICAgICBib29sIG1fcGVyc2lzdGVkOworICAgIH07CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFBhZ2VUcmFuc2l0aW9uRXZlbnRfaAoK
UHJvcGVydHkgY2hhbmdlcyBvbjogV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUv
ZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1Bh
Z2VUcmFuc2l0aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9kb20vUGFnZVRy
YW5zaXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGV2ZW50cyB7CisK
KyAgICBpbnRlcmZhY2UgWworICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yCisgICAgXSBQYWdl
VHJhbnNpdGlvbkV2ZW50IDogRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIHBlcnNpc3RlZDsKKworICAgICAgICB2b2lkIGluaXRQYWdlVHJhbnNpdGlvbkV2ZW50
KGluIERPTVN0cmluZyB0eXBlQXJnLCBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgaW4gYm9vbGVh
biBjYW5jZWxhYmxlQXJnLCBpbiBib29sZWFuIHBlcnNpc3RlZCk7CisgICAgfTsKKworfQpJbmRl
eDogV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCShyZXZpc2lvbiA0Nzc5NykKKysrIFdlYkNvcmUvaGlz
dG9yeS9DYWNoZWRGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YS5oIgogI2luY2x1ZGUgIkNTdHJpbmcuaCIK
ICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCkBAIC0xMTAsNiArMTExLDggQEAgdm9pZCBDYWNoZWRGcmFtZTo6cmVz
dG9yZSgpCiAgICAgLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVwZGF0ZSBhbnkgcGxhdGZvcm0gc2Ny
aXB0IG9iamVjdHMgYWZ0ZXIgcmVzdG9yaW5nIHRoZQogICAgIC8vIGNhY2hlZCBwYWdlLgogICAg
IGZyYW1lLT5zY3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CisKKyAgICBt
X2RvY3VtZW50LT5kaXNwYXRjaFBhZ2VUcmFuc2l0aW9uRXZlbnQoRXZlbnROYW1lcygpLnBhZ2Vz
aG93RXZlbnQsIHRydWUpOwogfQogCiB2b2lkIENhY2hlZEZyYW1lOjpjbGVhcigpCkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHJldmlzaW9uIDQ3Nzk3KQorKysgV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTY3LDYgKzE2Nyw4
IEBAIG9ubW91c2V1cAogb25tb3VzZXdoZWVsCiBvbm9ubGluZQogb25vZmZsaW5lCitvbnBhZ2Vo
aWRlCitvbnBhZ2VzaG93CiBvbnBhc3RlCiBvbnBhdXNlCiBvbnBsYXkKSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
Qm9keUVsZW1lbnQuY3BwCShyZXZpc2lvbiA0Nzc5NykKKysrIFdlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNiArMTM1LDEwIEBAIHZvaWQgSFRN
TEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnUKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0
V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYmVmb3JldW5sb2FkRXZl
bnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0
cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnVubG9hZEF0dHIpCiAgICAgICAg
IGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LnVubG9hZEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZy
YW1lKCksIGF0dHIpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25wYWdlaGlkZUF0
dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLnBhZ2VoaWRlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBvbnBhZ2VzaG93QXR0cikKKyAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkucGFnZXNob3dFdmVudCwgY3JlYXRlQXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IG9uYmx1ckF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRv
d0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uZm9jdXNBdHRyKQpJbmRleDogV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU3NSw4ICs1NzUsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3Rv
cExvYWRpbmcoYm9vbCBzZW5kVQogICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Rm9jdXNlZE5v
ZGUpCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRGb2N1c2VkTm9kZS0+YWJvdXRUb1VubG9h
ZCgpOwogICAgICAgICAgICAgICAgIG1fdW5sb2FkRXZlbnRCZWluZ0Rpc3BhdGNoZWQgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGlmIChtX2ZyYW1lLT5kb21XaW5kb3coKSkKKyAgICAgICAgICAg
ICAgICBpZiAobV9mcmFtZS0+ZG9tV2luZG93KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9m
cmFtZS0+ZG9tV2luZG93KCktPmRpc3BhdGNoUGFnZVRyYW5zaXRpb25FdmVudChFdmVudE5hbWVz
KCkucGFnZWhpZGVFdmVudCwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+aW5QYWdlQ2FjaGUoKSk7CiAg
ICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5kaXNwYXRjaFVubG9hZEV2
ZW50KCk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG1fdW5sb2FkRXZlbnRC
ZWluZ0Rpc3BhdGNoZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBpZiAobV9mcmFtZS0+ZG9j
dW1lbnQoKSkKICAgICAgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRl
U3R5bGVJZk5lZWRlZCgpOwpJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHJldmlzaW9uIDQ3Nzk3KQorKysg
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9uLmgiCiAjaW5j
bHVkZSAiRE9NVGltZXIuaCIKKyNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRF
eGNlcHRpb24uaCIKQEAgLTI2MCw2ICsyNjEsNyBAQCB2b2lkIERPTVdpbmRvdzo6ZGlzcGF0Y2hB
bGxQZW5kaW5nVW5sb2FkCiAgICAgICAgIGlmICghbGlzdGVuZXJzKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyVmVjdG9yIGxpc3RlbmVyc0Nv
cHkgPSAqbGlzdGVuZXJzOworICAgICAgICB3aW5kb3ctPmRpc3BhdGNoUGFnZVRyYW5zaXRpb25F
dmVudChFdmVudE5hbWVzKCkucGFnZWhpZGVFdmVudCwgZmFsc2UpOwogICAgICAgICB3aW5kb3ct
PmRpc3BhdGNoVW5sb2FkRXZlbnQoJmxpc3RlbmVyc0NvcHkpOwogICAgIH0KIApAQCAtMTM2MSw2
ICsxMzYzLDExIEBAIFBhc3NSZWZQdHI8QmVmb3JlVW5sb2FkRXZlbnQ+IERPTVdpbmRvdzoKICAg
ICByZXR1cm4gYmVmb3JlVW5sb2FkRXZlbnQucmVsZWFzZSgpOwogfQogCit2b2lkIERPTVdpbmRv
dzo6ZGlzcGF0Y2hQYWdlVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBib29sIHBlcnNpc3RlZCkKK3sKKyAgICBkaXNwYXRjaEV2ZW50V2l0aERvY3VtZW50QXNU
YXJnZXQoUGFnZVRyYW5zaXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgcGVyc2lzdGVkKSk7
Cit9CisKIHZvaWQgRE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCiB7CiAgICAg
c2l6ZV90IHNpemUgPSBtX2V2ZW50TGlzdGVuZXJzLnNpemUoKTsKQEAgLTE2ODcsNiArMTY5NCwy
NiBAQCB2b2lkIERPTVdpbmRvdzo6c2V0T25vbmxpbmUoUGFzc1JlZlB0cjxFCiAgICAgc2V0QXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkub25saW5lRXZlbnQsIGV2ZW50TGlzdGVu
ZXIpOwogfQogCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9ucGFnZWhpZGUoKSBjb25zdAor
eworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5wYWdl
aGlkZUV2ZW50KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9ucGFnZWhpZGUoUGFzc1JlZlB0
cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLnBhZ2VoaWRlRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQor
CitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9ucGFnZXNob3coKSBjb25zdAoreworICAgIHJl
dHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5wYWdlc2hvd0V2ZW50
KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9ucGFnZXNob3coUGFzc1JlZlB0cjxFdmVudExp
c3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLnBhZ2VzaG93RXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCiBFdmVudExp
c3RlbmVyKiBET01XaW5kb3c6Om9ucmVzZXQoKSBjb25zdAogewogICAgIHJldHVybiBnZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5yZXNldEV2ZW50KTsKSW5kZXg6IFdlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgJKHJldmlzaW9uIDQ3Nzk3KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNDAsNiArMjQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hVbmxvYWRFdmVu
dChSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lclZlY3RvciogPSAwKTsKICAgICAgICAgUGFzc1JlZlB0
cjxCZWZvcmVVbmxvYWRFdmVudD4gZGlzcGF0Y2hCZWZvcmVVbmxvYWRFdmVudChSZWdpc3RlcmVk
RXZlbnRMaXN0ZW5lclZlY3RvciogPSAwKTsKKyAgICAgICAgdm9pZCBkaXNwYXRjaFBhZ2VUcmFu
c2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgcGVyc2lzdGVk
KTsKIAogICAgICAgICAvLyBVc2VkIGZvciBsZWdhY3kgIm9uRXZlbnQiIHByb3BlcnR5IEFQSXMu
CiAgICAgICAgIHZvaWQgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CkBAIC0zMDQsNiArMzA1
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRPbm9mZmxpbmUoUGFz
c1JlZlB0cjxFdmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ub25saW5l
KCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0T25vbmxpbmUoUGFzc1JlZlB0cjxFdmVudExpc3Rl
bmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ucGFnZWhpZGUoKSBjb25zdDsKKyAgICAg
ICAgdm9pZCBzZXRPbnBhZ2VoaWRlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOworICAgICAg
ICBFdmVudExpc3RlbmVyKiBvbnBhZ2VzaG93KCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25w
YWdlc2hvdyhQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKICAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb25yZXNldCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldE9ucmVzZXQoUGFzc1JlZlB0cjxF
dmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ucmVzaXplKCkgY29uc3Q7
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNDc3OTcpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMzLDYgKzIzMyw4IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm1vdXNld2hlZWw7CiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ub2ZmbGluZTsKICAgICAgICAgYXR0cmlidXRl
IEV2ZW50TGlzdGVuZXIgb25vbmxpbmU7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9ucGFnZWhpZGU7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucGFnZXNob3c7
CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucGF1c2U7CiAgICAgICAgIGF0dHJp
YnV0ZSBFdmVudExpc3RlbmVyIG9ucGxheTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25wbGF5aW5nOwpAQCAtNDIwLDYgKzQyMiw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAg
ICBhdHRyaWJ1dGUgTW91c2VFdmVudENvbnN0cnVjdG9yIE1vdXNlRXZlbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBNdXRhdGlvbkV2ZW50Q29uc3RydWN0b3IgTXV0YXRpb25FdmVudDsKICAgICAgICAg
YXR0cmlidXRlIE92ZXJmbG93RXZlbnRDb25zdHJ1Y3RvciBPdmVyZmxvd0V2ZW50OworICAgICAg
ICBhdHRyaWJ1dGUgUGFnZVRyYW5zaXRpb25FdmVudENvbnN0cnVjdG9yIFBhZ2VUcmFuc2l0aW9u
RXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBQcm9ncmVzc0V2ZW50Q29uc3RydWN0b3IgUHJvZ3Jl
c3NFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFRleHRFdmVudENvbnN0cnVjdG9yIFRleHRFdmVu
dDsKICAgICAgICAgYXR0cmlidXRlIFVJRXZlbnRDb25zdHJ1Y3RvciBVSUV2ZW50OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNDc4MDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0wOC0yNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3NTgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzY0NDA4Njk+IEltcGxlbWVudCBwYWdlc2hvdyBhbmQgcGFnZWhp
ZGUgZXZlbnRzIGZvciBiL2YgY2FjaGUgKDI4NzU4KQorCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgcmVzdWx0cyBm
b3IgbmV3IGV2ZW50IHR5cGUuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdl
aGlkZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3BhZ2VzaG93
LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay11bmNhY2hl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3BhZ2VzaG93LXBh
Z2VoaWRlLW9uLWJhY2stdW5jYWNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvcGFnZXNob3ctcGFnZWhpZGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMv
cmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1YmZyYW1lLTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1YmZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9wYWdlc2hvdy1wYWdl
aGlkZS1zdWJzdWJmcmFtZS0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jl
c291cmNlcy9wYWdlc2hvdy1wYWdlaGlkZS1zdWJzdWJmcmFtZS5odG1sOiBBZGRlZC4KKwogMjAw
OS0wOC0yNiAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgbGF5
b3V0IHRlc3QgZm9yIHJlbHBvc2l0aW9uZWQgaW5saW5lIHJlZ3Jlc3Npb24uCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDQ3Nzk3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjQ5LDYgKzI0
OSw4IEBAIFBBU1MgaW5uZXIuT3B0aW9uLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5PcHRp
b24uY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLk92ZXJmbG93RXZlbnQu
aXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLk92ZXJmbG93RXZlbnQuY29uc3RydWN0b3IuaXNJ
bm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlBhZ2VUcmFuc2l0aW9uRXZlbnQuaXNJbm5lciBpcyB0
cnVlCitQQVNTIGlubmVyLlBhZ2VUcmFuc2l0aW9uRXZlbnQuY29uc3RydWN0b3IuaXNJbm5lciBp
cyB0cnVlCiBQQVNTIGlubmVyLlBsdWdpbi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuUGx1
Z2luLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5QbHVnaW5BcnJheS5p
c0lubmVyIGlzIHRydWUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDc3OTcp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcwLDYgKzExNzAsOCBAQCB3aW5kb3cuT3ZlcmZs
b3dFdmVudC5CT1RIIFtudW1iZXJdCiB3aW5kb3cuT3ZlcmZsb3dFdmVudC5IT1JJWk9OVEFMIFtu
dW1iZXJdCiB3aW5kb3cuT3ZlcmZsb3dFdmVudC5WRVJUSUNBTCBbbnVtYmVyXQogd2luZG93Lk92
ZXJmbG93RXZlbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90
b3R5cGVdCit3aW5kb3cuUGFnZVRyYW5zaXRpb25FdmVudCBbb2JqZWN0IFBhZ2VUcmFuc2l0aW9u
RXZlbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5QYWdlVHJhbnNpdGlvbkV2ZW50LnByb3RvdHlwZSBb
cHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LlBsdWdpbiBb
b2JqZWN0IFBsdWdpbkNvbnN0cnVjdG9yXQogd2luZG93LlBsdWdpbi5wcm90b3R5cGUgW29iamVj
dCBQbHVnaW5Qcm90b3R5cGVdCiB3aW5kb3cuUGx1Z2luLnByb3RvdHlwZS5pdGVtIFtmdW5jdGlv
bl0KQEAgLTE3NTEsNiArMTc1Myw4IEBAIHdpbmRvdy5vbm1vdXNldXAgW251bGxdCiB3aW5kb3cu
b25tb3VzZXdoZWVsIFtudWxsXQogd2luZG93Lm9ub2ZmbGluZSBbbnVsbF0KIHdpbmRvdy5vbm9u
bGluZSBbbnVsbF0KK3dpbmRvdy5vbnBhZ2VoaWRlIFtudWxsXQord2luZG93Lm9ucGFnZXNob3cg
W251bGxdCiB3aW5kb3cub25wYXVzZSBbbnVsbF0KIHdpbmRvdy5vbnBsYXkgW251bGxdCiB3aW5k
b3cub25wbGF5aW5nIFtudWxsXQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNo
b3ctcGFnZWhpZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJh
bWUwLS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICI8IS0tZnJhbWVQ
YXRoIC8vPCEtLWZyYW1lMC0tPi88IS0tZnJhbWUwLS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhh
bmRsZXIocykKK2ZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi88IS0tZnJhbWUw
LS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICI8IS0tZnJhbWVQYXRo
IC8vPCEtLWZyYW1lMC0tPi0tPiIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitUZXN0IHBh
Z2VzaG93L3BhZ2VoaWRlIGV2ZW50IGJlaGF2aW9yIGluIHN1YmZyYW1lcy4KKworCisqKipPcmln
aW5hbCBsb2FkIC0gb25sb2FkIGFuZCBwYWdlc2hvdyBldmVudHMgc2hvdWxkIGZpcmUgZm9yIHN1
YmZyYW1lcywgYW5kIHRoZW4gZm9yIG1haW4gZnJhbWUqKioKK1N1YnN1YmZyYW1lIHdpbmRvdy5v
bmxvYWQKK1N1YnN1YmZyYW1lIHdpbmRvdy5vbnBhZ2VzaG93LCB0YXJnZXQgPSBbb2JqZWN0IEhU
TUxEb2N1bWVudF0sIHBlcnNpc3RlZCA9IGZhbHNlCitTdWJmcmFtZSB3aW5kb3cub25sb2FkCitT
dWJmcmFtZSB3aW5kb3cub25wYWdlc2hvdywgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRd
LCBwZXJzaXN0ZWQgPSBmYWxzZQorTWFpbiBmcmFtZSB3aW5kb3cub25sb2FkCitNYWluIGZyYW1l
IHdpbmRvdy5vbnBhZ2VzaG93LCB0YXJnZXQgPSBbb2JqZWN0IEhUTUxEb2N1bWVudF0sIHBlcnNp
c3RlZCA9IGZhbHNlCisqKipOYXZpZ2F0aW5nIGJvdHRvbS1sZXZlbCBzdWJmcmFtZSwgb25wYWdl
aGlkZSBldmVudHMgc2hvdWxkIGZpcmUgZm9yIHN1YnN1YmZyYW1lKioqCitTdWJzdWJmcmFtZSB3
aW5kb3cub25wYWdlaGlkZSwgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRdLCBwZXJzaXN0
ZWQgPSBmYWxzZQorU3Vic3ViZnJhbWUgd2luZG93Lm9udW5sb2FkCitTdWJzdWJmcmFtZSB3aW5k
b3cub25sb2FkCitTdWJzdWJmcmFtZSB3aW5kb3cub25wYWdlc2hvdywgdGFyZ2V0ID0gW29iamVj
dCBIVE1MRG9jdW1lbnRdLCBwZXJzaXN0ZWQgPSBmYWxzZQorKioqTmF2aWdhdGluZyBtaWQtbGV2
ZWwgc3ViZnJhbWUsIG9ucGFnZWhpZGUgZXZlbnRzIHNob3VsZCBmaXJlIGZvciBib3RoIHN1YmZy
YW1lcyoqKgorU3ViZnJhbWUgd2luZG93Lm9ucGFnZWhpZGUsIHRhcmdldCA9IFtvYmplY3QgSFRN
TERvY3VtZW50XSwgcGVyc2lzdGVkID0gZmFsc2UKK1N1YmZyYW1lIHdpbmRvdy5vbnVubG9hZAor
U3Vic3ViZnJhbWUgd2luZG93Lm9ucGFnZWhpZGUsIHRhcmdldCA9IFtvYmplY3QgSFRNTERvY3Vt
ZW50XSwgcGVyc2lzdGVkID0gZmFsc2UKK1N1YnN1YmZyYW1lIHdpbmRvdy5vbnVubG9hZAorU3Vi
ZnJhbWUgd2luZG93Lm9ubG9hZAorU3ViZnJhbWUgd2luZG93Lm9ucGFnZXNob3csIHRhcmdldCA9
IFtvYmplY3QgSFRNTERvY3VtZW50XSwgcGVyc2lzdGVkID0gZmFsc2UKKyoqKkRvbmUqKioKKwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFn
ZWhpZGUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRl
eHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdl
aGlkZS1vbi1iYWNrLWNhY2hlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorQUxFUlQ6IHdpbmRvdy5vbmxvYWQK
K0FMRVJUOiB3aW5kb3cub25wYWdlc2hvdywgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRd
LCBwZXJzaXN0ZWQgPSBmYWxzZQorQUxFUlQ6IHdpbmRvdy5vbnBhZ2VoaWRlLCB0YXJnZXQgPSBb
b2JqZWN0IEhUTUxEb2N1bWVudF0sIHBlcnNpc3RlZCA9IHRydWUKK0FMRVJUOiB3aW5kb3cub25w
YWdlc2hvdywgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRdLCBwZXJzaXN0ZWQgPSB0cnVl
CitUZXN0IHBhZ2VzaG93L3BhZ2VoaWRlIGV2ZW50IGJlaGF2aW9yIHdoZW4gbmF2aWdhdGluZyBi
YWNrIHRvIGFuIGNhY2hlZCBwYWdlLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQtZXhwZWN0ZWQudHh0
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTogc3Zu
OmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Bh
Z2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRl
LW9uLWJhY2stY2FjaGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzxwPlRl
c3QgcGFnZXNob3cvcGFnZWhpZGUgZXZlbnQgYmVoYXZpb3Igd2hlbiBuYXZpZ2F0aW5nIGJhY2sg
dG8gYW4gY2FjaGVkIHBhZ2UuPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOworfQorCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oZXZ0KSB7CisgICAgYWxl
cnQoIndpbmRvdy5vbmxvYWQiKTsKK30KKword2luZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihl
dnQpIHsKKyAgICBhbGVydCgid2luZG93Lm9ucGFnZXNob3ciICsgIiwgdGFyZ2V0ID0gIiArIGV2
dC50YXJnZXQgKyAiLCBwZXJzaXN0ZWQgPSAiICsgZXZ0LnBlcnNpc3RlZCk7CisgICAgaWYgKGV2
dC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgLy8gUmV0dXJuZWQgYmFjay4KKyAgICAgICAgd2luZG93
Lm9ucGFnZWhpZGUgPSBudWxsOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7IH0sIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIHNldFRpbWVvdXQoJ3dpbmRvdy5s
b2NhdGlvbi5ocmVmID0gImRhdGE6dGV4dC9odG1sLDxzY3JpcHQ+aGlzdG9yeS5iYWNrKCk7PC9z
Y3IiICsgImlwdD4iJywgMCk7CisgICAgfQorfQorCit3aW5kb3cub25wYWdlaGlkZSA9IGZ1bmN0
aW9uKGV2dCkgeworICAgIGFsZXJ0KCJ3aW5kb3cub25wYWdlaGlkZSIgKyAiLCB0YXJnZXQgPSAi
ICsgZXZ0LnRhcmdldCArICIsIHBlcnNpc3RlZCA9ICIgKyBldnQucGVyc2lzdGVkKTsKK30KKwor
PC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9w
YWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC5odG1sCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3Zu
Om1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stdW5jYWNoZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2st
dW5jYWNoZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay11bmNhY2hlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhh
bmRsZXIocykKK0FMRVJUOiB3aW5kb3cub25sb2FkCitBTEVSVDogd2luZG93Lm9ucGFnZXNob3cs
IHRhcmdldCA9IFtvYmplY3QgSFRNTERvY3VtZW50XSwgcGVyc2lzdGVkID0gZmFsc2UKK0FMRVJU
OiB3aW5kb3cub25wYWdlaGlkZSwgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRdLCBwZXJz
aXN0ZWQgPSBmYWxzZQorbWFpbiBmcmFtZSAicGFnZXNob3cvcGFnZWhpZGUiIC0gaGFzIDEgb251
bmxvYWQgaGFuZGxlcihzKQorQUxFUlQ6IHdpbmRvdy5vbmxvYWQKK0FMRVJUOiB3aW5kb3cub25w
YWdlc2hvdywgdGFyZ2V0ID0gW29iamVjdCBIVE1MRG9jdW1lbnRdLCBwZXJzaXN0ZWQgPSBmYWxz
ZQorVGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3aGVuIG5hdmlnYXRpbmcg
YmFjayB0byBhbiB1bmNhY2hlZCBwYWdlLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay11bmNhY2hlZC1leHBlY3Rl
ZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1l
OiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay11bmNhY2hlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stdW5jYWNo
ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93
LXBhZ2VoaWRlLW9uLWJhY2stdW5jYWNoZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
MSBAQAorPHA+VGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3aGVuIG5hdmln
YXRpbmcgYmFjayB0byBhbiB1bmNhY2hlZCBwYWdlLjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKwor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKGV2dCkgeworICAgIGFsZXJ0KCJ3aW5kb3cub25sb2Fk
Iik7CisgICAgaWYgKHdpbmRvdy5uYW1lID09ICdwYWdlc2hvdy9wYWdlaGlkZScpIHsKKyAgICAg
ICAgLy8gUmV0dXJuZWQgYmFjay4KKyAgICAgICAgd2luZG93Lm5hbWUgPSAiIjsKKyAgICAgICAg
d2luZG93Lm9ucGFnZWhpZGUgPSBudWxsOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eyBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7IH0sIDEwKTsKKyAgICB9IGVsc2UgeworICAgICAgICB3aW5kb3cubmFtZSA9
ICJwYWdlc2hvdy9wYWdlaGlkZSI7CisgICAgICAgIHNldFRpbWVvdXQoJ3dpbmRvdy5sb2NhdGlv
biA9ICJkYXRhOnRleHQvaHRtbCw8c2NyaXB0Pmhpc3RvcnkuYmFjaygpOzwvc2NyIiArICJpcHQ+
IicsIDApOworICAgIH0KK30KKword2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24oKSB7fSAgLy8g
cHJldmVudCBjYWNoaW5nCisKK3dpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7Cisg
ICAgYWxlcnQoIndpbmRvdy5vbnBhZ2VzaG93IiArICIsIHRhcmdldCA9ICIgKyBldnQudGFyZ2V0
ICsgIiwgcGVyc2lzdGVkID0gIiArIGV2dC5wZXJzaXN0ZWQpOworfQorCit3aW5kb3cub25wYWdl
aGlkZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIGFsZXJ0KCJ3aW5kb3cub25wYWdlaGlkZSIgKyAi
LCB0YXJnZXQgPSAiICsgZXZ0LnRhcmdldCArICIsIHBlcnNpc3RlZCA9ICIgKyBldnQucGVyc2lz
dGVkKTsKK30KKworPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLXVuY2FjaGVkLmh0bWwKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MSBAQAorPHA+VGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBi
ZWhhdmlvciBpbiBzdWJmcmFtZXMuPC9wPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wYWdlc2hv
dy1wYWdlaGlkZS1zdWJmcmFtZS5odG1sIjwvaWZyYW1lPgorPHByZSBpZD1sb2c+PC9wcmU+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIHZhciBsb2cg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIik7CisgICAgbG9nLmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIlxuIjsKK30KKwordmFyIHN0YXRlID0gMDsKKworbG9nKCIqKipPcmlnaW5hbCBs
b2FkIC0gb25sb2FkIGFuZCBwYWdlc2hvdyBldmVudHMgc2hvdWxkIGZpcmUgZm9yIHN1YmZyYW1l
cywgYW5kIHRoZW4gZm9yIG1haW4gZnJhbWUqKioiKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uKGV2dCkgeworICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25sb2FkIik7Cit9CisKK3dp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2dCkgeworICAgIGxv
ZygiTWFpbiBmcmFtZSB3aW5kb3cub25wYWdlc2hvdyIgKyAiLCB0YXJnZXQgPSAiICsgZXZ0LnRh
cmdldCArICIsIHBlcnNpc3RlZCA9ICIgKyBldnQucGVyc2lzdGVkKTsKKworICAgIGxvZygiKioq
TmF2aWdhdGluZyBib3R0b20tbGV2ZWwgc3ViZnJhbWUsIG9ucGFnZWhpZGUgZXZlbnRzIHNob3Vs
ZCBmaXJlIGZvciBzdWJzdWJmcmFtZSoqKiIpOworICAgIGZyYW1lc1swXS5mcmFtZXNbMF0ubG9j
YXRpb24gPSAicmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1YnN1YmZyYW1lLTIuaHRtbCI7
Cit9LCB0cnVlKTsKKword2luZG93Lm9ucGFnZWhpZGUgPSBmdW5jdGlvbihldnQpIHsKKyAgICBs
b2coIk1haW4gZnJhbWUgd2luZG93Lm9ucGFnZWhpZGUiICsgIiwgdGFyZ2V0ID0gIiArIGV2dC50
YXJnZXQgKyAiLCBwZXJzaXN0ZWQgPSAiICsgZXZ0LnBlcnNpc3RlZCk7Cit9CisKK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZ0KSB7CisgICAgaWYgKGV2dC5k
YXRhID09ICJzdWJmcmFtZS1sb2FkZWQiKSB7CisgICAgICAgIGlmIChzdGF0ZSA9PSAxKSB7Cisg
ICAgICAgICAgICBsb2coIioqKkRvbmUqKioiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldnQuZGF0YSA9PSAic3Vi
c3ViZnJhbWUtbG9hZGVkIikgeworICAgICAgICBpZiAoc3RhdGUgPT0gMCkgeworICAgICAgICAg
ICAgbG9nKCIqKipOYXZpZ2F0aW5nIG1pZC1sZXZlbCBzdWJmcmFtZSwgb25wYWdlaGlkZSBldmVu
dHMgc2hvdWxkIGZpcmUgZm9yIGJvdGggc3ViZnJhbWVzKioqIik7CisgICAgICAgICAgICBmcmFt
ZXNbMF0ubG9jYXRpb24gPSAicmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1YmZyYW1lLTIu
aHRtbCI7CisgICAgICAgICAgICBzdGF0ZSA9IDE7CisgICAgICAgIH0KKyAgICB9Cit9LCB0cnVl
KTsKKworPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlw
ZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9wYWdlc2hvdy1wYWdlaGlkZS1zdWJmcmFtZS0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1YmZyYW1lLTIu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9w
YWdlc2hvdy1wYWdlaGlkZS1zdWJmcmFtZS0yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTkgQEAKKzxwPlN1YmZyYW1lLTI8L3A+Cis8c2NyaXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uKGV2dCkgeworICAgIHRvcC5sb2coIlN1YmZyYW1lIHdpbmRvdy5vbmxvYWQiKTsKK30KKwor
d2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24oZXZ0KSB7CisgICAgdG9wLmxvZygiU3ViZnJhbWUg
d2luZG93Lm9udW5sb2FkIik7Cit9CisKK3dpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0
KSB7CisgICAgdG9wLmxvZygiU3ViZnJhbWUgd2luZG93Lm9ucGFnZXNob3ciICsgIiwgdGFyZ2V0
ID0gIiArIGV2dC50YXJnZXQgKyAiLCBwZXJzaXN0ZWQgPSAiICsgZXZ0LnBlcnNpc3RlZCk7Cisg
ICAgdG9wLnBvc3RNZXNzYWdlKCJzdWJmcmFtZS1sb2FkZWQiLCAiKiIpOworfQorCit3aW5kb3cu
b25wYWdlaGlkZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIHRvcC5sb2coIlN1YmZyYW1lIHdpbmRv
dy5vbnBhZ2VoaWRlIiArICIsIHRhcmdldCA9ICIgKyBldnQudGFyZ2V0ICsgIiwgcGVyc2lzdGVk
ID0gIiArIGV2dC5wZXJzaXN0ZWQpOworfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3Vi
ZnJhbWUtMi5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRt
bAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9wYWdlc2hvdy1wYWdl
aGlkZS1zdWJmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3Jlc291cmNlcy9wYWdlc2hvdy1wYWdlaGlkZS1zdWJmcmFtZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1
YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjQgQEAKKzxib2R5IG9ucGFnZXNo
b3c9J29uUGFnZXNob3coZXZlbnQpJyBvbnBhZ2VoaWRlPSdvblBhZ2VoaWRlKGV2ZW50KSc+Cis8
cD5TdWJmcmFtZTwvcD4KKzxpZnJhbWUgc3JjPSJwYWdlc2hvdy1wYWdlaGlkZS1zdWJzdWJmcmFt
ZS5odG1sIjwvaWZyYW1lPgorPHNjcmlwdD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQp
IHsKKyAgICB0b3AubG9nKCJTdWJmcmFtZSB3aW5kb3cub25sb2FkIik7Cit9CisKK3dpbmRvdy5v
bnVubG9hZCA9IGZ1bmN0aW9uKGV2dCkgeworICAgIHRvcC5sb2coIlN1YmZyYW1lIHdpbmRvdy5v
bnVubG9hZCIpOworfQorCitmdW5jdGlvbiBvblBhZ2VzaG93KGV2dCkKK3sKKyAgICB0b3AubG9n
KCJTdWJmcmFtZSB3aW5kb3cub25wYWdlc2hvdyIgKyAiLCB0YXJnZXQgPSAiICsgZXZ0LnRhcmdl
dCArICIsIHBlcnNpc3RlZCA9ICIgKyBldnQucGVyc2lzdGVkKTsKKyAgICB0b3AucG9zdE1lc3Nh
Z2UoInN1YmZyYW1lLWxvYWRlZCIsICIqIik7Cit9CisKK2Z1bmN0aW9uIG9uUGFnZWhpZGUoZXZ0
KQoreworICAgIHRvcC5sb2coIlN1YmZyYW1lIHdpbmRvdy5vbnBhZ2VoaWRlIiArICIsIHRhcmdl
dCA9ICIgKyBldnQudGFyZ2V0ICsgIiwgcGVyc2lzdGVkID0gIiArIGV2dC5wZXJzaXN0ZWQpOwor
fQorPC9zY3JpcHQ+Cis8L2JvZHk+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3ViZnJhbWUuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3Vic3ViZnJhbWUt
Mi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9w
YWdlc2hvdy1wYWdlaGlkZS1zdWJzdWJmcmFtZS0yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3Vic3ViZnJh
bWUtMi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8cD5TdWJzdWJmcmFtZS0y
PC9wPgorPHNjcmlwdD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQpIHsKKyAgICB0b3Au
bG9nKCJTdWJzdWJmcmFtZSB3aW5kb3cub25sb2FkIik7Cit9Cit3aW5kb3cub251bmxvYWQgPSBm
dW5jdGlvbihldnQpIHsKKyAgICB0b3AubG9nKCJTdWJzdWJmcmFtZSB3aW5kb3cub251bmxvYWQi
KTsKK30KKword2luZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihldnQpIHsKKyAgICB0b3AubG9n
KCJTdWJzdWJmcmFtZSB3aW5kb3cub25wYWdlc2hvdyIgKyAiLCB0YXJnZXQgPSAiICsgZXZ0LnRh
cmdldCArICIsIHBlcnNpc3RlZCA9ICIgKyBldnQucGVyc2lzdGVkKTsKKyAgICB0b3AucG9zdE1l
c3NhZ2UoInN1YnN1YmZyYW1lLWxvYWRlZCIsICIqIik7Cit9Cit3aW5kb3cub25wYWdlaGlkZSA9
IGZ1bmN0aW9uKGV2dCkgeworICAgIHRvcC5sb2coIlN1YnN1YmZyYW1lIHdpbmRvdy5vbnBhZ2Vo
aWRlIiArICIsIHRhcmdldCA9ICIgKyBldnQudGFyZ2V0ICsgIiwgcGVyc2lzdGVkID0gIiArIGV2
dC5wZXJzaXN0ZWQpOworfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3Vic3ViZnJhbWUt
Mi5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9wYWdlc2hvdy1wYWdlaGlkZS1z
dWJzdWJmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
c291cmNlcy9wYWdlc2hvdy1wYWdlaGlkZS1zdWJzdWJmcmFtZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3BhZ2VzaG93LXBhZ2VoaWRlLXN1
YnN1YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzxwPlN1YnN1YmZy
YW1lPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQpIHsKKyAgICB0
b3AubG9nKCJTdWJzdWJmcmFtZSB3aW5kb3cub25sb2FkIik7Cit9Cit3aW5kb3cub251bmxvYWQg
PSBmdW5jdGlvbihldnQpIHsKKyAgICB0b3AubG9nKCJTdWJzdWJmcmFtZSB3aW5kb3cub251bmxv
YWQiKTsKK30KK3dpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7CisgICAgdG9wLmxv
ZygiU3Vic3ViZnJhbWUgd2luZG93Lm9ucGFnZXNob3ciICsgIiwgdGFyZ2V0ID0gIiArIGV2dC50
YXJnZXQgKyAiLCBwZXJzaXN0ZWQgPSAiICsgZXZ0LnBlcnNpc3RlZCk7Cit9Cit3aW5kb3cub25w
YWdlaGlkZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIHRvcC5sb2coIlN1YnN1YmZyYW1lIHdpbmRv
dy5vbnBhZ2VoaWRlIiArICIsIHRhcmdldCA9ICIgKyBldnQudGFyZ2V0ICsgIiwgcGVyc2lzdGVk
ID0gIiArIGV2dC5wZXJzaXN0ZWQpOworfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZXNob3ctcGFnZWhpZGUtc3Vi
c3ViZnJhbWUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0
bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVj
dG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ3Nzk3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTI0
LDYgKzEyNCw3IEBAIFBBU1MgTm9kZUxpc3QudG9TdHJpbmcoKSBpcyAnW29iamVjdCBOb2QKIFBB
U1MgTm90YXRpb24udG9TdHJpbmcoKSBpcyAnW29iamVjdCBOb3RhdGlvbkNvbnN0cnVjdG9yXScK
IFBBU1MgT3B0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgT3B0aW9uQ29uc3RydWN0b3JdJwog
UEFTUyBPdmVyZmxvd0V2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgT3ZlcmZsb3dFdmVudENv
bnN0cnVjdG9yXScKK1BBU1MgUGFnZVRyYW5zaXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFBhZ2VUcmFuc2l0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFBsdWdpbi50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFBsdWdpbkNvbnN0cnVjdG9yXScKIFBBU1MgUGx1Z2luQXJyYXkudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBQbHVnaW5BcnJheUNvbnN0cnVjdG9yXScKIFBBU1MgUHJvY2Vz
c2luZ0luc3RydWN0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgUHJvY2Vzc2luZ0luc3RydWN0
aW9uQ29uc3RydWN0b3JdJwo=
</data>
<flag name="review"
          id="19646"
          type_id="1"
          status="+"
          setter="adele"
    />
          </attachment>
      

    </bug>

</bugzilla>