<?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>237391</bug_id>
          
          <creation_ts>2022-03-02 14:01:39 -0800</creation_ts>
          <short_desc>Add a new &quot;Daemon -&gt; Client&quot; message type to webpushd</short_desc>
          <delta_ts>2024-06-29 12:58:39 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yivarak978</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847607</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2022-03-02 14:01:39 -0800</bug_when>
    <thetext>Add a new &quot;Daemon -&gt; Client&quot; message type to webpushd

In a future patch webpushd will need to push messages directly to the client.

So for now, change the &quot;debug message&quot; mechanism to be this new type of message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848111</commentid>
    <comment_count>1</comment_count>
      <attachid>453795</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2022-03-03 16:48:16 -0800</bug_when>
    <thetext>Created attachment 453795
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848188</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-03 22:59:21 -0800</bug_when>
    <thetext>Committed r290818 (248054@main): &lt;https://commits.webkit.org/248054@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453795.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848189</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-03 23:00:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/89798227&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453795</attachid>
            <date>2022-03-03 16:48:16 -0800</date>
            <delta_ts>2022-03-03 22:59:22 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>17706</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMjBmZmZjN2Y4OTQxLi41M2UzYjFiNTJlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDkgQEAKKzIwMjItMDMtMDMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhIG5ldyAiRGFlbW9uIC0+IENsaWVudCIgbWVzc2FnZSB0eXBlIHRvIHdl
YnB1c2hkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzczOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
dXR1cmUgd29yayB3aWxsIG5lZWQgbW9yZSBtZXNzYWdlcyBsaWtlIHRoaXMuCisgICAgICAgIFNv
IGxldCdzIGFkZCB0aGUgbWVjaGFuaXNtIGluIGEgc21hbGwgc3RhbmRhbG9uZSBwYXRjaCB0aGF0
IHVzZXMgaXQgZm9yIGRlYnVnIG1lc3NhZ2VzLgorICAgICAgICAKKyAgICAgICAgTm8gYmVoYXZp
b3IgY2hhbmdlIGZvciBub3cuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL0NvY29hL1dlYlB1c2hEYWVtb25Db25uZWN0aW9uQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlB1c2hEOjpoYW5kbGVXZWJQdXNoRGFlbW9uTWVzc2FnZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlB1c2hEOjpDb25uZWN0aW9uOjpjb25uZWN0aW9uUmVjZWl2ZWRFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlB1c2hEOjpDb25uZWN0aW9uOjpjb25uZWN0aW9uUmVjZWl2ZWRFdmVu
dCBjb25zdCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYlB1c2hEYWVtb25Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHVz
aEQ6OkNvbm5lY3Rpb246OmRlYnVnTWVzc2FnZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbi5oOgorCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb25uZWN0aW9uQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OlBDTTo6Q29ubmVjdGlvbjo6Y29ubmVjdGlvblJlY2VpdmVkRXZl
bnQpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNvbm5lY3Rpb246OmNvbm5lY3Rpb25SZWNlaXZl
ZEV2ZW50IGNvbnN0KTogRGVsZXRlZC4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9EYWVtb25D
b25uZWN0aW9uLmg6CisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHVzaERhZW1vbkNvbnN0YW50cy5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJQdXNoRDo6ZGFlbW9uTWVzc2FnZVR5cGVTZW5kc1JlcGx5
KToKKworICAgICAgICAqIHdlYnB1c2hkL0lDQXBwQnVuZGxlLm1tOgorICAgICAgICAoV2ViUHVz
aEQ6OmJyb2FkY2FzdERlYnVnTWVzc2FnZSk6CisKKyAgICAgICAgKiB3ZWJwdXNoZC9QdXNoQ2xp
ZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdlYnB1c2hkL1B1c2hDbGllbnRDb25uZWN0aW9u
Lm1tOgorICAgICAgICAoV2ViUHVzaEQ6OkNsaWVudENvbm5lY3Rpb246OmJyb2FkY2FzdERlYnVn
TWVzc2FnZSk6CisgICAgICAgIChXZWJQdXNoRDo6Q2xpZW50Q29ubmVjdGlvbjo6c2VuZERlYnVn
TWVzc2FnZSk6CisgICAgICAgIChXZWJQdXNoRDo6Q2xpZW50Q29ubmVjdGlvbjo6c2VuZERhZW1v
bk1lc3NhZ2UgY29uc3QpOgorCisgICAgICAgICogd2VicHVzaGQvV2ViUHVzaERhZW1vbi5oOgor
ICAgICAgICAqIHdlYnB1c2hkL1dlYlB1c2hEYWVtb24ubW06CisgICAgICAgIChXZWJQdXNoRDo6
RGFlbW9uOjpicm9hZGNhc3REZWJ1Z01lc3NhZ2UpOgorICAgICAgICAoV2ViUHVzaEQ6OkRhZW1v
bjo6YnJvYWRjYXN0QWxsQ29ubmVjdGlvbklkZW50aXRpZXMpOgorICAgICAgICAoV2ViUHVzaEQ6
OkRhZW1vbjo6Y29ubmVjdGlvbkFkZGVkKToKKwogMjAyMi0wMy0wMiAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIENvbXBsZXRpb24gaGFu
ZGxlciBpcyBub3QgY2FsbGVkIHdoZW4gV2ViQXV0aG4gaW52b2tlZCB3aXRob3V0IHByb3BlciBl
bnRpdGxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90
aWZpY2F0aW9ucy9Db2NvYS9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbkNvY29hLm1tIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL0NvY29hL1dlYlB1c2hEYWVtb25D
b25uZWN0aW9uQ29jb2EubW0KaW5kZXggMTE0N2RjNDQwMTRiLi4wODdiYTY3NjhjOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9Db2NvYS9X
ZWJQdXNoRGFlbW9uQ29ubmVjdGlvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9Db2NvYS9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbkNvY29h
Lm1tCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShC
VUlMVF9JTl9OT1RJRklDQVRJT05TKQogCisjaW1wb3J0ICJEYWVtb25EZWNvZGVyLmgiCiAjaW1w
b3J0ICJEYWVtb25FbmNvZGVyLmgiCiAjaW1wb3J0ICJEYWVtb25VdGlsaXRpZXMuaCIKKyNpbXBv
cnQgIkhhbmRsZU1lc3NhZ2UuaCIKICNpbXBvcnQgIldlYlB1c2hEYWVtb25Db25zdGFudHMuaCIK
ICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgogCkBAIC01MywxNSArNTUsNTMgQEAg
dm9pZCBDb25uZWN0aW9uOjpuZXdDb25uZWN0aW9uV2FzSW5pdGlhbGl6ZWQoKSBjb25zdAogICAg
IC8vIEZJWE1FOiBUcmFjayBjb25uZWN0aW9uIHN0YXRlCiB9CiAKLXZvaWQgQ29ubmVjdGlvbjo6
Y29ubmVjdGlvblJlY2VpdmVkRXZlbnQoeHBjX29iamVjdF90IHJlcXVlc3QpIGNvbnN0CituYW1l
c3BhY2UgTWVzc2FnZUluZm8geworCisjZGVmaW5lIEZVTkNUSU9OKG1mKSBzdHJ1Y3QgbWYgeyBz
dGF0aWMgY29uc3RleHByIGF1dG8gTWVtYmVyRnVuY3Rpb24gPSAmV2ViS2l0OjpXZWJQdXNoRDo6
Q29ubmVjdGlvbjo6bWY7CisjZGVmaW5lIEFSR1VNRU5UUyguLi4pIHVzaW5nIEFyZ3NUdXBsZSA9
IHN0ZDo6dHVwbGU8X19WQV9BUkdTX18+OworI2RlZmluZSBFTkQgfTsKKworRlVOQ1RJT04oZGVi
dWdNZXNzYWdlKQorQVJHVU1FTlRTKFN0cmluZykKK0VORAorCit9IC8vIG5hbWVzcGFjZSBNZXNz
YWdlSW5mbworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJbmZvPgordm9pZCBoYW5kbGVXZWJQdXNoRGFl
bW9uTWVzc2FnZShXZWJLaXQ6OldlYlB1c2hEOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBTcGFu
PGNvbnN0IHVpbnQ4X3Q+IGVuY29kZWRNZXNzYWdlKQoreworICAgIFdlYktpdDo6RGFlbW9uOjpE
ZWNvZGVyIGRlY29kZXIoZW5jb2RlZE1lc3NhZ2UpOworCisgICAgc3RkOjpvcHRpb25hbDx0eXBl
bmFtZSBJbmZvOjpBcmdzVHVwbGU+IGFyZ3VtZW50czsKKyAgICBkZWNvZGVyID4+IGFyZ3VtZW50
czsKKyAgICBpZiAoVU5MSUtFTFkoIWFyZ3VtZW50cykpCisgICAgICAgIHJldHVybjsKKworICAg
IElQQzo6Y2FsbE1lbWJlckZ1bmN0aW9uKFdURk1vdmUoKmFyZ3VtZW50cyksIGNvbm5lY3Rpb24s
IEluZm86Ok1lbWJlckZ1bmN0aW9uKTsKK30KKwordm9pZCBDb25uZWN0aW9uOjpjb25uZWN0aW9u
UmVjZWl2ZWRFdmVudCh4cGNfb2JqZWN0X3QgcmVxdWVzdCkKIHsKICAgICBpZiAoeHBjX2dldF90
eXBlKHJlcXVlc3QpICE9IFhQQ19UWVBFX0RJQ1RJT05BUlkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBjb25zdCBjaGFyKiBkZWJ1Z01lc3NhZ2UgPSB4cGNfZGljdGlvbmFyeV9nZXRfc3RyaW5nKHJl
cXVlc3QsIHByb3RvY29sRGVidWdNZXNzYWdlS2V5KTsKLSAgICBpZiAoIWRlYnVnTWVzc2FnZSkK
KworICAgIGlmICh4cGNfZGljdGlvbmFyeV9nZXRfdWludDY0KHJlcXVlc3QsIHByb3RvY29sVmVy
c2lvbktleSkgIT0gcHJvdG9jb2xWZXJzaW9uVmFsdWUpIHsKKyAgICAgICAgUkVMRUFTRV9MT0co
UHVzaCwgIlJlY2VpdmVkIHJlcXVlc3QgdGhhdCB3YXMgbm90IHRoZSBjdXJyZW50IHByb3RvY29s
IHZlcnNpb24iKTsKICAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gbWVzc2FnZUxldmVsID0gc3Rh
dGljX2Nhc3Q8SlNDOjpNZXNzYWdlTGV2ZWw+KHhwY19kaWN0aW9uYXJ5X2dldF91aW50NjQocmVx
dWVzdCwgcHJvdG9jb2xEZWJ1Z01lc3NhZ2VMZXZlbEtleSkpOwotICAgIG5ldHdvcmtTZXNzaW9u
KCkubmV0d29ya1Byb2Nlc3MoKS5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShuZXR3b3JrU2Vzc2lv
bigpLnNlc3Npb25JRCgpLCBNZXNzYWdlU291cmNlOjpPdGhlciwgbWVzc2FnZUxldmVsLCBTdHJp
bmc6OmZyb21VVEY4KGRlYnVnTWVzc2FnZSkpOworICAgIH0KKworICAgIGF1dG8gbWVzc2FnZVR5
cGUgeyBzdGF0aWNfY2FzdDxEYWVtb25NZXNzYWdlVHlwZT4oeHBjX2RpY3Rpb25hcnlfZ2V0X3Vp
bnQ2NChyZXF1ZXN0LCBwcm90b2NvbE1lc3NhZ2VUeXBlS2V5KSkgfTsKKyAgICBzaXplX3QgZGF0
YVNpemUgeyAwIH07CisgICAgY29uc3Qgdm9pZCogZGF0YSA9IHhwY19kaWN0aW9uYXJ5X2dldF9k
YXRhKHJlcXVlc3QsIHByb3RvY29sRW5jb2RlZE1lc3NhZ2VLZXksICZkYXRhU2l6ZSk7CisgICAg
U3Bhbjxjb25zdCB1aW50OF90PiBlbmNvZGVkTWVzc2FnZSB7IHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihkYXRhKSwgZGF0YVNpemUgfTsKKworICAgIEFTU0VSVCghZGFlbW9uTWVzc2FnZVR5
cGVTZW5kc1JlcGx5KG1lc3NhZ2VUeXBlKSk7CisKKyAgICBzd2l0Y2ggKG1lc3NhZ2VUeXBlKSB7
CisgICAgY2FzZSBEYWVtb25NZXNzYWdlVHlwZTo6RGVidWdNZXNzYWdlOgorICAgICAgICBoYW5k
bGVXZWJQdXNoRGFlbW9uTWVzc2FnZTxNZXNzYWdlSW5mbzo6ZGVidWdNZXNzYWdlPih0aGlzLCBl
bmNvZGVkTWVzc2FnZSk7CisgICAgICAgIGJyZWFrOworICAgIH07CiB9CiAKIFJldGFpblB0cjx4
cGNfb2JqZWN0X3Q+IENvbm5lY3Rpb246OmRpY3Rpb25hcnlGcm9tTWVzc2FnZShNZXNzYWdlVHlw
ZSBtZXNzYWdlVHlwZSwgRW5jb2RlZE1lc3NhZ2UmJiBtZXNzYWdlKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYlB1c2hEYWVt
b25Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbi5jcHAKaW5kZXggMWJjMTQ2MDc1ZmJlLi44OTNl
N2YyNDU4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYlB1c2hEYWVtb25Db25uZWN0aW9uLmNwcApA
QCAtNDYsNiArNDYsMTEgQEAgTmV0d29ya1Nlc3Npb24mIENvbm5lY3Rpb246Om5ldHdvcmtTZXNz
aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9ub3RpZmljYXRpb25NYW5hZ2VyLm5ldHdvcmtTZXNz
aW9uKCk7CiB9CiAKK3ZvaWQgQ29ubmVjdGlvbjo6ZGVidWdNZXNzYWdlKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSkKK3sKKyAgICBuZXR3b3JrU2Vzc2lvbigpLm5ldHdvcmtQcm9jZXNzKCkuYnJvYWRj
YXN0Q29uc29sZU1lc3NhZ2UobmV0d29ya1Nlc3Npb24oKS5zZXNzaW9uSUQoKSwgTWVzc2FnZVNv
dXJjZTo6T3RoZXIsIEpTQzo6TWVzc2FnZUxldmVsOjpJbmZvLCBtZXNzYWdlKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0OjpXZWJQdXNoRAogCiAjZW5kaWYgLy8gRU5BQkxFKEJVSUxUX0lO
X05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViUHVzaERhZW1vbkNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJQdXNoRGFlbW9uQ29ubmVjdGlvbi5oCmlu
ZGV4IDA1NjNmM2ExNDQxMS4uZjVmODVmNjRjYjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViUHVzaERhZW1vbkNvbm5lY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViUHVzaERh
ZW1vbkNvbm5lY3Rpb24uaApAQCAtNDksMTEgKzQ5LDEzIEBAIGNsYXNzIENvbm5lY3Rpb24gOiBw
dWJsaWMgRGFlbW9uOjpDb25uZWN0aW9uVG9NYWNoU2VydmljZTxDb25uZWN0aW9uVHJhaXRzPiB7
CiBwdWJsaWM6CiAgICAgQ29ubmVjdGlvbihDU3RyaW5nJiYgbWFjaFNlcnZpY2VOYW1lLCBOZXR3
b3JrTm90aWZpY2F0aW9uTWFuYWdlciYpOwogCisgICAgdm9pZCBkZWJ1Z01lc3NhZ2UoY29uc3Qg
U3RyaW5nJik7CisKIHByaXZhdGU6CiAgICAgdm9pZCBuZXdDb25uZWN0aW9uV2FzSW5pdGlhbGl6
ZWQoKSBjb25zdCBmaW5hbDsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8eHBj
X29iamVjdF90PiBkaWN0aW9uYXJ5RnJvbU1lc3NhZ2UoTWVzc2FnZVR5cGUsIERhZW1vbjo6RW5j
b2RlZE1lc3NhZ2UmJikgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBjb25uZWN0aW9uUmVjZWl2ZWRF
dmVudCh4cGNfb2JqZWN0X3QpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgY29ubmVjdGlvblJlY2Vp
dmVkRXZlbnQoeHBjX29iamVjdF90KSBmaW5hbDsKICNlbmRpZgogICAgIHZvaWQgc2VuZERlYnVn
TW9kZUlzRW5hYmxlZE1lc3NhZ2VJZk5lY2Vzc2FyeSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvbm5l
Y3Rpb24uaAppbmRleCAzNTY5OWNjN2ZlODUuLmZhZGI1OGQzZTgxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29u
bmVjdGlvbi5oCkBAIC01MSw3ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBuZXdDb25uZWN0
aW9uV2FzSW5pdGlhbGl6ZWQoKSBjb25zdCBmaW5hbDsKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBSZXRhaW5QdHI8eHBjX29iamVjdF90PiBkaWN0aW9uYXJ5RnJvbU1lc3NhZ2UoTWVzc2FnZVR5
cGUsIERhZW1vbjo6RW5jb2RlZE1lc3NhZ2UmJikgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBjb25u
ZWN0aW9uUmVjZWl2ZWRFdmVudCh4cGNfb2JqZWN0X3QpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
Y29ubmVjdGlvblJlY2VpdmVkRXZlbnQoeHBjX29iamVjdF90KSBmaW5hbDsKICNlbmRpZgogICAg
IHZvaWQgc2VuZERlYnVnTW9kZUlzRW5hYmxlZE1lc3NhZ2VJZk5lY2Vzc2FyeSgpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29ubmVjdGlvbkNvY29hLm1t
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9j
b2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvbm5lY3Rpb25Db2NvYS5tbQppbmRleCBlNzhl
OWZhYmM2MDkuLmY5N2E0MDUyNzkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudENvbm5lY3Rpb25Db2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29u
bmVjdGlvbkNvY29hLm1tCkBAIC00NSw3ICs0NSw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6bmV3Q29u
bmVjdGlvbldhc0luaXRpYWxpemVkKCkgY29uc3QKICAgICBzZW5kKE1lc3NhZ2VUeXBlOjpTZXRE
ZWJ1Z01vZGVJc0VuYWJsZWQsIGVuY29kZXIudGFrZUJ1ZmZlcigpKTsKIH0KIAotdm9pZCBDb25u
ZWN0aW9uOjpjb25uZWN0aW9uUmVjZWl2ZWRFdmVudCh4cGNfb2JqZWN0X3QgcmVxdWVzdCkgY29u
c3QKK3ZvaWQgQ29ubmVjdGlvbjo6Y29ubmVjdGlvblJlY2VpdmVkRXZlbnQoeHBjX29iamVjdF90
IHJlcXVlc3QpCiB7CiAgICAgaWYgKHhwY19nZXRfdHlwZShyZXF1ZXN0KSAhPSBYUENfVFlQRV9E
SUNUSU9OQVJZKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9EYWVtb25Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9EYWVtb25Db25uZWN0aW9uLmgKaW5kZXggZGJlODU4MzBlZTg0Li4wYWUxNzZjMDJiMTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RhZW1vbkNvbm5lY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYWVtb25Db25uZWN0aW9uLmgKQEAgLTY4
LDcgKzY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBuZXdDb25uZWN0aW9uV2FzSW5p
dGlhbGl6ZWQoKSBjb25zdCA9IDA7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCBS
ZXRhaW5QdHI8eHBjX29iamVjdF90PiBkaWN0aW9uYXJ5RnJvbU1lc3NhZ2UodHlwZW5hbWUgVHJh
aXRzOjpNZXNzYWdlVHlwZSwgRW5jb2RlZE1lc3NhZ2UmJikgY29uc3QgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBjb25uZWN0aW9uUmVjZWl2ZWRFdmVudCh4cGNfb2JqZWN0X3QpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdGlvblJlY2VpdmVkRXZlbnQoeHBjX29iamVjdF90KSA9
IDA7CiAjZW5kaWYKIAogICAgIGNvbnN0IENTdHJpbmcmIG1hY2hTZXJ2aWNlTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWFjaFNlcnZpY2VOYW1lOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQdXNoRGFlbW9uQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQdXNoRGFlbW9uQ29uc3RhbnRzLmgKaW5kZXggZjNmN2JiZTYzZjRlLi5kMGE4ZTY1YTU4NDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlB1c2hEYWVtb25Db25zdGFudHMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQdXNoRGFlbW9uQ29uc3RhbnRzLmgKQEAg
LTc0LDQgKzc0LDE4IEBAIGlubGluZSBib29sIG1lc3NhZ2VUeXBlU2VuZHNSZXBseShNZXNzYWdl
VHlwZSBtZXNzYWdlVHlwZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2VudW0gY2xhc3MgRGFl
bW9uTWVzc2FnZVR5cGUgOiB1aW50OF90IHsKKyAgICBEZWJ1Z01lc3NhZ2UgPSAxLAorfTsKKwor
aW5saW5lIGJvb2wgZGFlbW9uTWVzc2FnZVR5cGVTZW5kc1JlcGx5KERhZW1vbk1lc3NhZ2VUeXBl
IG1lc3NhZ2VUeXBlKQoreworICAgIHN3aXRjaCAobWVzc2FnZVR5cGUpIHsKKyAgICBjYXNlIERh
ZW1vbk1lc3NhZ2VUeXBlOjpEZWJ1Z01lc3NhZ2U6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQ6OldlYlB1c2hECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dlYnB1c2hkL0lDQXBwQnVuZGxlLm1tIGIvU291cmNlL1dlYktpdC93ZWJwdXNoZC9JQ0FwcEJ1
bmRsZS5tbQppbmRleCBlNTI1ZjQ3ZmFjNTcuLjc0Mjg1MmMxYjlhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93ZWJwdXNoZC9JQ0FwcEJ1bmRsZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L3dl
YnB1c2hkL0lDQXBwQnVuZGxlLm1tCkBAIC04MSw3ICs4MSw3IEBAIG5hbWVzcGFjZSBXZWJQdXNo
RCB7CiAKIHN0YXRpYyB2b2lkIGJyb2FkY2FzdERlYnVnTWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgRGFlbW9uOjpzaW5nbGV0b24oKS5icm9hZGNhc3REZWJ1Z01lc3NhZ2Uo
SlNDOjpNZXNzYWdlTGV2ZWw6OkluZm8sIG1ha2VTdHJpbmcoIklDQXBwQnVuZGxlOiAiLCBtZXNz
YWdlKSk7CisgICAgRGFlbW9uOjpzaW5nbGV0b24oKS5icm9hZGNhc3REZWJ1Z01lc3NhZ2UobWFr
ZVN0cmluZygiSUNBcHBCdW5kbGU6ICIsIG1lc3NhZ2UpKTsKIH0KIAogSUNBcHBCdW5kbGU6OklD
QXBwQnVuZGxlKENsaWVudENvbm5lY3Rpb24mIGNsaWVudENvbm5lY3Rpb24sIGNvbnN0IFN0cmlu
ZyYgb3JpZ2luU3RyaW5nLCBQdXNoQXBwQnVuZGxlQ2xpZW50JiBjbGllbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dlYnB1c2hkL1B1c2hDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L3dlYnB1c2hkL1B1c2hDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggOWVjZWExMmJmMjVi
Li40NjU1NTMxNTIwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2VicHVzaGQvUHVzaENs
aWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dlYnB1c2hkL1B1c2hDbGllbnRD
b25uZWN0aW9uLmgKQEAgLTM3LDkgKzM3LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogbmFt
ZXNwYWNlIFdlYlB1c2hEIHsKK2VudW0gY2xhc3MgRGFlbW9uTWVzc2FnZVR5cGUgOiB1aW50OF90
Owogc3RydWN0IFdlYlB1c2hEYWVtb25Db25uZWN0aW9uQ29uZmlndXJhdGlvbjsKIH0KIH0KKwor
dXNpbmcgV2ViS2l0OjpXZWJQdXNoRDo6RGFlbW9uTWVzc2FnZVR5cGU7CiB1c2luZyBXZWJLaXQ6
OldlYlB1c2hEOjpXZWJQdXNoRGFlbW9uQ29ubmVjdGlvbkNvbmZpZ3VyYXRpb247CiAKIG5hbWVz
cGFjZSBXZWJQdXNoRCB7CkBAIC03MCw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbm5l
Y3Rpb25DbG9zZWQoKTsKIAogICAgIHZvaWQgYnJvYWRjYXN0RGVidWdNZXNzYWdlKGNvbnN0IFN0
cmluZyYpOworICAgIHZvaWQgc2VuZERlYnVnTWVzc2FnZShjb25zdCBTdHJpbmcmKTsKIAogcHJp
dmF0ZToKICAgICBDbGllbnRDb25uZWN0aW9uKHhwY19jb25uZWN0aW9uX3QpOwpAQCAtNzksNiAr
ODMsOSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBob3N0SGFzRW50aXRsZW1lbnQoY29uc3QgY2hh
ciopOwogCisgICAgdGVtcGxhdGU8RGFlbW9uTWVzc2FnZVR5cGUgbWVzc2FnZVR5cGUsIHR5cGVu
YW1lLi4uIEFyZ3M+CisgICAgdm9pZCBzZW5kRGFlbW9uTWVzc2FnZShBcmdzJiYuLi4pIGNvbnN0
OworCiAgICAgT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4gbV94cGNDb25uZWN0aW9uOwog
CiAgICAgc3RkOjpvcHRpb25hbDxhdWRpdF90b2tlbl90PiBtX2hvc3RBcHBBdWRpdFRva2VuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93ZWJwdXNoZC9QdXNoQ2xpZW50Q29ubmVjdGlvbi5t
bSBiL1NvdXJjZS9XZWJLaXQvd2VicHVzaGQvUHVzaENsaWVudENvbm5lY3Rpb24ubW0KaW5kZXgg
Yzc0Y2U4MmQwNjZiLi5kMDhjMDQ1YjE0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2Vi
cHVzaGQvUHVzaENsaWVudENvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC93ZWJwdXNo
ZC9QdXNoQ2xpZW50Q29ubmVjdGlvbi5tbQpAQCAtMjgsMTMgKzI4LDE4IEBACiAKICNpbXBvcnQg
IkFwcEJ1bmRsZVJlcXVlc3QuaCIKICNpbXBvcnQgIkNvZGVTaWduaW5nLmgiCisjaW1wb3J0ICJE
YWVtb25FbmNvZGVyLmgiCisjaW1wb3J0ICJEYWVtb25VdGlsaXRpZXMuaCIKICNpbXBvcnQgIldl
YlB1c2hEYWVtb24uaCIKICNpbXBvcnQgIldlYlB1c2hEYWVtb25Db25uZWN0aW9uQ29uZmlndXJh
dGlvbi5oIgorI2ltcG9ydCAiV2ViUHVzaERhZW1vbkNvbnN0YW50cy5oIgogI2ltcG9ydCA8SmF2
YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+CiAjaW1wb3J0IDx3dGYvSGV4TnVtYmVyLmg+CiAj
aW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+
CiAKK3VzaW5nIFdlYktpdDo6RGFlbW9uOjpFbmNvZGVyOworCiBuYW1lc3BhY2UgV2ViUHVzaEQg
ewogCiBSZWY8Q2xpZW50Q29ubmVjdGlvbj4gQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRlKHhwY19j
b25uZWN0aW9uX3QgY29ubmVjdGlvbikKQEAgLTEzNSw3ICsxNDAsMTkgQEAgdm9pZCBDbGllbnRD
b25uZWN0aW9uOjpicm9hZGNhc3REZWJ1Z01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQog
ICAgIGVsc2UKICAgICAgICAgbWVzc2FnZUlkZW50aWZpZXIgPSBtYWtlU3RyaW5nKCJbIiwgc2ln
bmluZ0lkZW50aWZlciwgIiAoIiwgU3RyaW5nOjpudW1iZXIoaWRlbnRpZmllcigpKSwgIildICIp
OwogCi0gICAgRGFlbW9uOjpzaW5nbGV0b24oKS5icm9hZGNhc3REZWJ1Z01lc3NhZ2UoSlNDOjpN
ZXNzYWdlTGV2ZWw6OkluZm8sIG1ha2VTdHJpbmcobWVzc2FnZUlkZW50aWZpZXIsIG1lc3NhZ2Up
KTsKKyAgICBEYWVtb246OnNpbmdsZXRvbigpLmJyb2FkY2FzdERlYnVnTWVzc2FnZShtYWtlU3Ry
aW5nKG1lc3NhZ2VJZGVudGlmaWVyLCBtZXNzYWdlKSk7Cit9CisKK3ZvaWQgQ2xpZW50Q29ubmVj
dGlvbjo6c2VuZERlYnVnTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgLy8g
RklYTUU6IFdlIGN1cnJlbnRseSBzZW5kIHRoZSBkZWJ1ZyBtZXNzYWdlIHR3aWNlLgorICAgIC8v
IEFmdGVyIGdldHRpbmcgYWxsIGRlYnVnIG1lc3NhZ2UgY2xpZW50cyBvbnRvIHRoZSBlbmNvZGVy
L2RlY29kZXIgbWVjaGFuaXNtLCByZW1vdmUgdGhlIG9sZCBzdHlsZSBtZXNzYWdlLgorICAgIGF1
dG8gZGljdGlvbmFyeSA9IGFkb3B0T1NPYmplY3QoeHBjX2RpY3Rpb25hcnlfY3JlYXRlKG51bGxw
dHIsIG51bGxwdHIsIDApKTsKKyAgICB4cGNfZGljdGlvbmFyeV9zZXRfdWludDY0KGRpY3Rpb25h
cnkuZ2V0KCksIFdlYktpdDo6V2ViUHVzaEQ6OnByb3RvY29sRGVidWdNZXNzYWdlTGV2ZWxLZXks
IHN0YXRpY19jYXN0PHVpbnQ2NF90PihKU0M6Ok1lc3NhZ2VMZXZlbDo6SW5mbykpOworICAgIHhw
Y19kaWN0aW9uYXJ5X3NldF9zdHJpbmcoZGljdGlvbmFyeS5nZXQoKSwgV2ViS2l0OjpXZWJQdXNo
RDo6cHJvdG9jb2xEZWJ1Z01lc3NhZ2VLZXksIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAg
eHBjX2Nvbm5lY3Rpb25fc2VuZF9tZXNzYWdlKG1feHBjQ29ubmVjdGlvbi5nZXQoKSwgZGljdGlv
bmFyeS5nZXQoKSk7CisKKyAgICBzZW5kRGFlbW9uTWVzc2FnZTxEYWVtb25NZXNzYWdlVHlwZTo6
RGVidWdNZXNzYWdlPihtZXNzYWdlKTsKIH0KIAogdm9pZCBDbGllbnRDb25uZWN0aW9uOjplbnF1
ZXVlQXBwQnVuZGxlUmVxdWVzdChzdGQ6OnVuaXF1ZV9wdHI8QXBwQnVuZGxlUmVxdWVzdD4mJiBy
ZXF1ZXN0KQpAQCAtMTg1LDQgKzIwMiwyMSBAQCB2b2lkIENsaWVudENvbm5lY3Rpb246OmNvbm5l
Y3Rpb25DbG9zZWQoKQogICAgICAgICByZXF1c3QtPmNhbmNlbCgpOwogfQogCit0ZW1wbGF0ZTxE
YWVtb25NZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSwgdHlwZW5hbWUuLi4gQXJncz4KK3ZvaWQgQ2xp
ZW50Q29ubmVjdGlvbjo6c2VuZERhZW1vbk1lc3NhZ2UoQXJncyYmLi4uIGFyZ3MpIGNvbnN0Cit7
CisgICAgaWYgKCFtX3hwY0Nvbm5lY3Rpb24pCisgICAgICAgIHJldHVybjsKKworICAgIEVuY29k
ZXIgZW5jb2RlcjsKKyAgICBlbmNvZGVyLmVuY29kZShzdGQ6OmZvcndhcmQ8QXJncz4oYXJncyku
Li4pOworCisgICAgYXV0byBkaWN0aW9uYXJ5ID0gYWRvcHROUyh4cGNfZGljdGlvbmFyeV9jcmVh
dGUobnVsbHB0ciwgbnVsbHB0ciwgMCkpOworICAgIHhwY19kaWN0aW9uYXJ5X3NldF91aW50NjQo
ZGljdGlvbmFyeS5nZXQoKSwgV2ViS2l0OjpXZWJQdXNoRDo6cHJvdG9jb2xWZXJzaW9uS2V5LCBX
ZWJLaXQ6OldlYlB1c2hEOjpwcm90b2NvbFZlcnNpb25WYWx1ZSk7CisgICAgeHBjX2RpY3Rpb25h
cnlfc2V0X3ZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIFdlYktpdDo6V2ViUHVzaEQ6OnByb3RvY29s
RW5jb2RlZE1lc3NhZ2VLZXksIFdlYktpdDo6dmVjdG9yVG9YUENEYXRhKGVuY29kZXIudGFrZUJ1
ZmZlcigpKS5nZXQoKSk7CisgICAgeHBjX2RpY3Rpb25hcnlfc2V0X3VpbnQ2NChkaWN0aW9uYXJ5
LmdldCgpLCBXZWJLaXQ6OldlYlB1c2hEOjpwcm90b2NvbE1lc3NhZ2VUeXBlS2V5LCBzdGF0aWNf
Y2FzdDx1aW50NjRfdD4obWVzc2FnZVR5cGUpKTsKKworICAgIHhwY19jb25uZWN0aW9uX3NlbmRf
bWVzc2FnZShtX3hwY0Nvbm5lY3Rpb24uZ2V0KCksIGRpY3Rpb25hcnkuZ2V0KCkpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJQdXNoRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93ZWJwdXNo
ZC9XZWJQdXNoRGFlbW9uLmggYi9Tb3VyY2UvV2ViS2l0L3dlYnB1c2hkL1dlYlB1c2hEYWVtb24u
aAppbmRleCAwMjgwODRlNTJiNGEuLmQxZDNjZTcxNmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93ZWJwdXNoZC9XZWJQdXNoRGFlbW9uLmgKKysrIGIvU291cmNlL1dlYktpdC93ZWJwdXNo
ZC9XZWJQdXNoRGFlbW9uLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0
UHVzaFN1YnNjcmlwdGlvbihDbGllbnRDb25uZWN0aW9uKiwgY29uc3QgVVJMJiBzY29wZVVSTCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBFeHBlY3RlZDxzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlB1c2hTdWJzY3JpcHRpb25EYXRhPiwgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mKT4mJiBy
ZXBseVNlbmRlcik7CiAgICAgdm9pZCBnZXRQdXNoUGVybWlzc2lvblN0YXRlKENsaWVudENvbm5l
Y3Rpb24qLCBjb25zdCBVUkwmIHNjb3BlVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IEV4cGVjdGVkPHVpbnQ4X3QsIFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+Jik+JiYgcmVwbHlTZW5k
ZXIpOwogCi0gICAgdm9pZCBicm9hZGNhc3REZWJ1Z01lc3NhZ2UoSlNDOjpNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgYnJvYWRjYXN0RGVidWdNZXNzYWdlKGNvbnN0IFN0
cmluZyYpOwogICAgIHZvaWQgYnJvYWRjYXN0QWxsQ29ubmVjdGlvbklkZW50aXRpZXMoKTsKIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2VicHVzaGQvV2ViUHVzaERhZW1v
bi5tbSBiL1NvdXJjZS9XZWJLaXQvd2VicHVzaGQvV2ViUHVzaERhZW1vbi5tbQppbmRleCAxY2Y4
ZTI0NzNiNDUuLmNhYThhNWQwYzYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93ZWJwdXNo
ZC9XZWJQdXNoRGFlbW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvd2VicHVzaGQvV2ViUHVzaERh
ZW1vbi5tbQpAQCAtMjgzLDIwICsyODMsMTcgQEAgdm9pZCBEYWVtb246OnJ1bkFmdGVyU3RhcnRp
bmdQdXNoU2VydmljZShGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgZnVuY3Rpb24o
KTsKIH0KIAotdm9pZCBEYWVtb246OmJyb2FkY2FzdERlYnVnTWVzc2FnZShKU0M6Ok1lc3NhZ2VM
ZXZlbCBtZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3ZvaWQgRGFlbW9uOjpi
cm9hZGNhc3REZWJ1Z01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIGF1dG8g
ZGljdGlvbmFyeSA9IGFkb3B0T1NPYmplY3QoeHBjX2RpY3Rpb25hcnlfY3JlYXRlKG51bGxwdHIs
IG51bGxwdHIsIDApKTsKLSAgICB4cGNfZGljdGlvbmFyeV9zZXRfdWludDY0KGRpY3Rpb25hcnku
Z2V0KCksIHByb3RvY29sRGVidWdNZXNzYWdlTGV2ZWxLZXksIHN0YXRpY19jYXN0PHVpbnQ2NF90
PihtZXNzYWdlTGV2ZWwpKTsKLSAgICB4cGNfZGljdGlvbmFyeV9zZXRfc3RyaW5nKGRpY3Rpb25h
cnkuZ2V0KCksIHByb3RvY29sRGVidWdNZXNzYWdlS2V5LCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCkp
OwogICAgIGZvciAoYXV0byYgaXRlcmF0b3IgOiBtX2Nvbm5lY3Rpb25NYXApIHsKICAgICAgICAg
aWYgKGl0ZXJhdG9yLnZhbHVlLT5kZWJ1Z01vZGVJc0VuYWJsZWQoKSkKLSAgICAgICAgICAgIHhw
Y19jb25uZWN0aW9uX3NlbmRfbWVzc2FnZShpdGVyYXRvci5rZXksIGRpY3Rpb25hcnkuZ2V0KCkp
OworICAgICAgICAgICAgaXRlcmF0b3IudmFsdWUtPnNlbmREZWJ1Z01lc3NhZ2UobWVzc2FnZSk7
CiAgICAgfQogfQogCiB2b2lkIERhZW1vbjo6YnJvYWRjYXN0QWxsQ29ubmVjdGlvbklkZW50aXRp
ZXMoKQogewotICAgIGJyb2FkY2FzdERlYnVnTWVzc2FnZSgoSlNDOjpNZXNzYWdlTGV2ZWwpNCwg
Ij09PVxuQ3VycmVudCBjb25uZWN0aW9uczoiKTsKKyAgICBicm9hZGNhc3REZWJ1Z01lc3NhZ2Uo
Ij09PVxuQ3VycmVudCBjb25uZWN0aW9uczoiKTsKIAogICAgIGF1dG8gY29ubmVjdGlvbnMgPSBj
b3B5VG9WZWN0b3IobV9jb25uZWN0aW9uTWFwLnZhbHVlcygpKTsKICAgICBzdGQ6OnNvcnQoY29u
bmVjdGlvbnMuYmVnaW4oKSwgY29ubmVjdGlvbnMuZW5kKCksIFtdIChjb25zdCBSZWY8Q2xpZW50
Q29ubmVjdGlvbj4mIGEsIGNvbnN0IFJlZjxDbGllbnRDb25uZWN0aW9uPiYgYikgewpAQCAtMzA1
LDcgKzMwMiw3IEBAIHZvaWQgRGFlbW9uOjpicm9hZGNhc3RBbGxDb25uZWN0aW9uSWRlbnRpdGll
cygpCiAKICAgICBmb3IgKGF1dG8mIGl0ZXJhdG9yIDogY29ubmVjdGlvbnMpCiAgICAgICAgIGl0
ZXJhdG9yLT5icm9hZGNhc3REZWJ1Z01lc3NhZ2UoIiIpOwotICAgIGJyb2FkY2FzdERlYnVnTWVz
c2FnZSgoSlNDOjpNZXNzYWdlTGV2ZWwpNCwgIj09PSIpOworICAgIGJyb2FkY2FzdERlYnVnTWVz
c2FnZSgiPT09Iik7CiB9CiAKIHZvaWQgRGFlbW9uOjpjb25uZWN0aW9uRXZlbnRIYW5kbGVyKHhw
Y19vYmplY3RfdCByZXF1ZXN0KQpAQCAtMzI5LDcgKzMyNiw3IEBAIHZvaWQgRGFlbW9uOjpjb25u
ZWN0aW9uRXZlbnRIYW5kbGVyKHhwY19vYmplY3RfdCByZXF1ZXN0KQogCiB2b2lkIERhZW1vbjo6
Y29ubmVjdGlvbkFkZGVkKHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlvbikKIHsKLSAgICBicm9h
ZGNhc3REZWJ1Z01lc3NhZ2UoKEpTQzo6TWVzc2FnZUxldmVsKTAsIG1ha2VTdHJpbmcoIk5ldyBj
b25uZWN0aW9uOiAweCIsIGhleChyZWludGVycHJldF9jYXN0PHVpbnQ2NF90Pihjb25uZWN0aW9u
KSwgV1RGOjpIZXhDb252ZXJzaW9uTW9kZTo6TG93ZXJjYXNlKSkpOworICAgIGJyb2FkY2FzdERl
YnVnTWVzc2FnZShtYWtlU3RyaW5nKCJOZXcgY29ubmVjdGlvbjogMHgiLCBoZXgocmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4oY29ubmVjdGlvbiksIFdURjo6SGV4Q29udmVyc2lvbk1vZGU6Okxv
d2VyY2FzZSkpKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKCFtX2Nvbm5lY3Rpb25NYXAuY29udGFp
bnMoY29ubmVjdGlvbikpOwogICAgIG1fY29ubmVjdGlvbk1hcC5zZXQoY29ubmVjdGlvbiwgQ2xp
ZW50Q29ubmVjdGlvbjo6Y3JlYXRlKGNvbm5lY3Rpb24pKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>