<?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>77363</bug_id>
          
          <creation_ts>2012-01-30 13:16:09 -0800</creation_ts>
          <short_desc>Clear shown notifications when context is no longer active</short_desc>
          <delta_ts>2012-02-02 14:17:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</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="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>rakuco</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>545348</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-01-30 13:16:09 -0800</bug_when>
    <thetext>When the user navigates away from that page, or closes the tab or window associated with that page, or quits the application altogether, all of the page&apos;s associated notifications could be cleared depending on the implementation.

&lt;rdar://problem/10568907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545399</commentid>
    <comment_count>1</comment_count>
      <attachid>124598</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-01-30 14:06:22 -0800</bug_when>
    <thetext>Created attachment 124598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547387</commentid>
    <comment_count>2</comment_count>
      <attachid>124598</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-01 14:52:37 -0800</bug_when>
    <thetext>Comment on attachment 124598
Patch

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

&gt; Source/WebCore/notifications/NotificationPresenter.h:62
&gt; +    virtual void clearNotifications(ScriptExecutionContext*) = 0;

We could consider providing a default empty implementation. Then we would only need to override this for platforms as they implement it, and the patch would be a lot smaller. Unless we think people will really want to implement this on every platform.

&gt; Source/WebCore/page/DOMWindow.cpp:731
&gt; +    m_notifications-&gt;clearNotifications();
&gt;      m_notifications-&gt;disconnectFrame();

Could we just add the code to disconnectFrame instead of adding a new clearNotifications function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548068</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-02-02 12:45:35 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 124598 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124598&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/notifications/NotificationPresenter.h:62
&gt; &gt; +    virtual void clearNotifications(ScriptExecutionContext*) = 0;
&gt; 
&gt; We could consider providing a default empty implementation. Then we would only need to override this for platforms as they implement it, and the patch would be a lot smaller. Unless we think people will really want to implement this on every platform.

Done.
&gt; 
&gt; &gt; Source/WebCore/page/DOMWindow.cpp:731
&gt; &gt; +    m_notifications-&gt;clearNotifications();
&gt; &gt;      m_notifications-&gt;disconnectFrame();
&gt; 
&gt; Could we just add the code to disconnectFrame instead of adding a new clearNotifications function?

Yes, that makes sense.
Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548158</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-02-02 14:17:21 -0800</bug_when>
    <thetext>Committed r106592: &lt;http://trac.webkit.org/changeset/106592&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124598</attachid>
            <date>2012-01-30 14:06:22 -0800</date>
            <delta_ts>2012-02-01 14:52:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77363-20120130140637.patch</filename>
            <type>text/plain</type>
            <size>36596</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQxY2JmOTU3MTg0OWZi
Njk1NjQwMDA1NjZkYmFjY2EzY2EzMDdhZS4uMDJiNzliZjc3OGYxZTFmMzllOWQ4Y2Y4YzcwZjY0
ZTlhOGExOWFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAxLTMwICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhciBzaG93biBub3RpZmljYXRp
b25zIHdoZW4gY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTA1Njg5MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oOiBBZGQgbmV3IHB1
cmUgdmlydHVhbCBmdW5jdGlvbiB0byBjbGVhciBub3RpZmljYXRpb25zCisgICAgICAgIGFzc29j
aWF0ZWQgd2l0aCBhIGdpdmVuIGV4ZWN1dGlvbiBjb250ZXh0LiBJbmRpdmlkdWFsIGltcGxlbWVu
dGF0aW9uIGNhbiBkZXRlcm1pbmUgd2hldGhlciB0bworICAgICAgICBhbGxvdyBub3RpZmljYXRp
b25zIHRvIHJlbWFpbiBwcmVzZW50ZWQsIG9yIHRvIGNsZWFyIHRoZW0uCisKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOiBBZGRlZCBjbGVhck5vdGlmaWNhdGlv
bnMoKSB3cmFwcGVyIGZ1bmN0aW9uIHRoYXQgZm9yd2FyZHMKKyAgICAgICAgY2FsbCB0byB0aGUg
cHJlc2VudGVyLgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6Y2xlYXJOb3RpZmljYXRp
b25zKToKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OnBhZ2VEZXN0cm95ZWQpOiBXaGVuIHRoZSBwYWdlIGlzIGRlc3Ryb3llZCwgdGVsbCB0aGUg
RE9NIHdpbmRvdyB0byByZXNldCBub3RpZmljYXRpb25zLgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVzZXROb3RpZmljYXRpb25z
KTogV2hlbiByZXNldHRpbmcsIGNsZWFyIHRoZSBub3RpZmljYXRpb25zLgorCiAyMDEyLTAxLTMw
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBLaWxsIENTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uQ29uc3RJdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2ZmM5YWRmN2Ew
YmYzODQyODIyOGU3YzYzNmFmNzcyYmM1NzExNDM2Li4zOWE1M2JhMjQ2OGU2NzQ0ZTc0MDg0ZjA3
NzEyMGU4OWVhOWUzMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTMwICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhciBzaG93biBub3RpZmlj
YXRpb25zIHdoZW4gY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2MworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTA1Njg5MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpj
bGVhck5vdGlmaWNhdGlvbnMpOiBOby1vcCBpbXBsZW1lbnRhdGlvbiB0bworICAgICAgICBwcmVz
ZXJ2ZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5LgorICAgICAgICAqIGJsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oOgorICAgICAgICAoTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbCk6CisKIDIwMTItMDEtMTEgIEphY2t5IEppYW5nICA8emhhamlhbmdA
cmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gQVNTRVJUIGZhaWx1cmUgaW4gQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDM0MTdhMTE2MzhhYTFkMDk0ZDE4ZDQzZmI1NjhmNGI1MzUyMTA4ZjIuLjY5ZjI4
NWRlZTBlZTNmOWVkZjg4ZjgzN2FjNjNmMTM3ODVlZDA5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDEtMzAgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgorCisgICAgICAgIENsZWFyIHNob3duIG5vdGlmaWNhdGlvbnMgd2hlbiBjb250ZXh0
IGlzIG5vIGxvbmdlciBhY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3MzYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU2ODkwNz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9u
UHJlc2VudGVySW1wbDo6Y2xlYXJOb3RpZmljYXRpb25zKTogTm8tb3AgaW1wbGVtZW50YXRpb24g
dG8KKyAgICAgICAgcHJlc2VydmUgZXhpc3RpbmcgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgKiBz
cmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oOgorICAgICAgICAoTm90aWZpY2F0aW9uUHJl
c2VudGVySW1wbCk6CisKIDIwMTItMDEtMzAgIEFtaSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGVuYWJsZSAtV2V4aXQtdGltZS1kZXN0cnVj
dG9ycyBmb3Igd2Via2l0IHVuaXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA4OGQzYWU5YTRm
NDI4OGJkZWUxNjBmZTBjNjc2NjFhZGEwMzA1MjE3Li5jZTc3YzJjNjUyNjJiNzMzZDllNWRiODNk
NjdjN2JkZTZlOTIwMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDEtMzAgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFyIHNob3du
IG5vdGlmaWNhdGlvbnMgd2hlbiBjb250ZXh0IGlzIG5vIGxvbmdlciBhY3RpdmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzYzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xMDU2ODkwNz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRFZmw6OmNsZWFyTm90aWZpY2F0aW9ucyk6IE1hcmsgYXMgbm90SW1wbGVtZW50ZWQoKSBsaWtl
CisgICAgICAgIHRoZSByZXN0IG9mIHRoZSBjbGFzcy4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaDoKKyAgICAgICAgKE5vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudEVmbCk6CisKIDIwMTItMDEtMjYgIFRvbWFzeiBNb3Jhd3NraSAgPHQu
bW9yYXdza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gQWRkZWQgbWlzc2luZyBORVRT
Q0FQRV9QTFVHSU5fQVBJIG1hY3JvLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGFjZjUwZjRlZjYxZjMy
YzdiOWNiM2ExNTM2MjkzNmMyZmJmOGUxNWIuLmNjZDNlYmI2ZjY4NTdmZTNkNjU1MzMwOGZmNWU5
MjY4YjUyZjllY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMS0z
MCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXIgc2hvd24gbm90
aWZpY2F0aW9ucyB3aGVuIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwNTY4OTA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6Y2xlYXJOb3RpZmljYXRpb25zKTogTWFyayBhcyBub3RJbXBsZW1lbnRlZCgpIGxpa2UgdGhl
IHJlc3Qgb2YKKyAgICAgICAgdGhlIGNsYXNzLgorCiAyMDEyLTAxLTI1ICBNYXJrIFJvd2UgIDxt
cm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgaW4gdG8gYW4gYWx0ZXJuYXRlIGxvY2F0
aW9uIHdoZW4gVVNFX1NUQUdJTkdfSU5TVEFMTF9QQVRIIGlzIHNldC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5k
ZXggNmFlZmQ3MGU3ZjdiZWExZTgyODU4N2Q4NmJiNjRjNDg2ZjY5Y2IzNy4uZTY3ODMxYzI2NDYx
ZTk1ZjA1NTc0ZDdjMGJmMTNkYjVkMThmOGEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMi0wMS0zMCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2xlYXIgc2hvd24gbm90aWZpY2F0aW9ucyB3aGVuIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwNTY4OTA3PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmNsZWFyTm90aWZpY2F0aW9ucyk6IE5vLW9wIGltcGxlbWVudGF0aW9u
IHRvCisgICAgICAgIHByZXNlcnZlIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkuCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaDoKKyAgICAgICAg
KE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0KToKKwogMjAxMi0wMS0zMCAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIG5vbi1DU1NPTSBBUEkg
b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGNjNTU3MjdkMjhmNmEy
ZDJiNDcyOTQyMTE5OTgxYmRkM2I1YmE2MGQuLmUxNjMwMWZiZDg2MjFiZjMzN2MzNDA2OTNjZDc2
MzA5YTQ2N2QxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMS0z
MCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXIgc2hvd24gbm90
aWZpY2F0aW9ucyB3aGVuIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwNTY4OTA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZS5jcHA6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjbGVh
ck5vdGlmaWNhdGlvbnMpOiBOby1vcCBpbXBsZW1lbnRhdGlvbiB0bworICAgICAgICBwcmVzZXJ2
ZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5LgorICAgICAgICAoV2ViRGVza3RvcE5vdGlmaWNhdGlv
bnNEZWxlZ2F0ZTo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Np
b24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGUuaDoKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUpOiBJbiBh
ZGRpdGlvbiB0byBjbGVhck5vdGlmaWNhdGlvbnMoKSwgYWRkZWQgcHJldmlvdXNseQorICAgICAg
ICBtaXNzaW5nIHZpcnR1YWwgZnVuY3Rpb25zLgorCiAyMDEyLTAxLTIzICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNob3cgbGF5ZXIgYm9yZGVycyBm
b3Igc2Nyb2xsYmFyIGxheWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJiMzc0Mzk5ZDVhNGRmZDdhMzI4ODJh
ZDZiZmEwYzE3YjFkZmE3YjEuLjk0NzM1NzU5MzU5NGMyNzM0Mjc0ZWIyMTA4OWZkYTE5ZmNmOTc3
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBAQAorMjAxMi0wMS0zMCAgSm9uIExlZSAgPGpv
bmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXIgc2hvd24gbm90aWZpY2F0aW9ucyB3aGVu
IGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwNTY4
OTA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyk6
IEZvcndhcmQgdGhlIGNhbGwgdG8KKyAgICAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlci4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5o
OgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50KToKKworICAgICAgICAqIFdlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg6IEFkZCBhbiBhZGRpdGlv
bmFsIG1hcCB0aGF0IG1hcHMKKyAgICAgICAgYWxsIG5vdGlmaWNhdGlvbnMgYXNzb2NpYXRlZCB3
aXRoIGEgZ2l2ZW4gU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBpbnN0YW5jZS4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOiBDcmVhdGUgYSBtYXAg
ZW50cnkgZm9yIHRoZSBub3RpZmljYXRpb24ncworICAgICAgICBjb250ZXh0IGlmIGl0IGRvZXNu
J3QgZXhpc3QgYWxyZWFkeSwgYW5kIG5vdGUgdGhhdCBub3RpZmljYXRpb24ncyBJRC4gQWxzbywg
Y29ycmVjdAorICAgICAgICB0aGUgcmV0dXJuIHZhbHVlIG9mIHNob3coKSBpZiBub3RpZmljYXRp
b25zIGFyZSBub3QgZW5hYmxlZCwgdG8gcmV0dXJuIGZhbHNlLgorICAgICAgICAoV2ViS2l0OjpX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdGlmaWNhdGlvbnMpOiBXaGVuIHRoZSBu
b3RpZmljYXRpb24gaXMgY2xvc2VkLAorICAgICAgICB3ZSByZW1vdmUgdGhhdCBub3RpZmljYXRp
b24gZnJvbSB0aGUgbWFwLgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
OjpjbGVhck5vdGlmaWNhdGlvbnMpOiBVc2UgdGhlIG1hcCBlbnRyeSBmb3IgdGhlIGdpdmVuCisg
ICAgICAgIGNvbnRleHQsIGFuZCBwYXNzIHRoYXQgYWxvbmcgdG8gdGhlIHByb3h5IHNvIHRoYXQg
YWxsIG9mIHRoZSBub3RpZmljYXRpb25zIHdpdGggdGhvc2UgSURzCisgICAgICAgIGNhbiBiZSBj
bGVhcmVkLiBJbiB0aGUgbWVhbnRpbWUsIHdlIHJlbW92ZSB0aGF0IGNvbnRleHQncyBtYXAgZW50
cnkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW46IE5ldyBDbGVhck5vdGlmaWNhdGlvbnMoKQorICAgICAg
ICBtZXNzYWdlLgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eTo6Y2xlYXJOb3RpZmljYXRpb25zKTogRm9yd2FyZCB0aGUgY2Fs
bCB0byB0aGUgcHJvdmlkZXIuCisgICAgICAgIFRoZW4gcmVtb3ZlIHRoaXMgcHJveHkncyBlbnRy
aWVzIGZvciB0aGUgZ2l2ZW4gbm90aWZpY2F0aW9uIElEcy4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OmNsZWFyTm90aWZpY2F0aW9ucyk6IENvbnZl
cnQgdGhlIHZlY3RvciBvZiBJRHMgdG8gYSBtdXRhYmxlCisgICAgICAgIGFycmF5LgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmg6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25Qcm92aWRlcik6CisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tOb3RpZmljYXRpb25Qcm92aWRlci5oOiBBZGQgV0sgQVBJIHRvIHRlbGwgdGhlIHBs
YXRmb3JtIHRvIGNsZWFyIHRoZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFJlbW92ZSB0aGUg
I2lmIGd1YXJkIHNpbmNlIHRoZXkgYWxyZWFkeSBleGlzdCBpbiBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyIGZ1bmN0aW9uczoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNs
aWVudDo6c2hvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2Fu
Y2VsKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRp
b25PYmplY3REZXN0cm95ZWQpOgorCiAyMDEyLTAxLTI2ICBObydhbSBSb3NlbnRoYWwgIDxub2Ft
LnJvc2VudGhhbEBub2tpYS5jb20+IGFuZCBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJj
b3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBXS1RSOiBVc2UgYSBzb2Z0d2FyZSByZW5k
ZXJpbmcgcGlwaWxpbmUgd2hlbiBydW5uaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IDQ1ZGMzNDVkZmE2
ZmRjMTRlYTdmNmMyMzk1YWJkYmVmMjZiNTFlOTIuLmI2MzgwYWVlYmUzNzI5NTkzOWNhN2Q2YjBk
YzU0N2ExN2UxY2M5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTY5LDYgKzY5LDEzIEBAIHZvaWQgTm90aWZpY2F0
aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVy
ID0gMDsKIH0KIAordm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmNsZWFyTm90aWZpY2F0aW9ucygp
Cit7CisgICAgaWYgKCFtX25vdGlmaWNhdGlvblByZXNlbnRlcikKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyLT5jbGVhck5vdGlmaWNhdGlvbnMoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCAyM2IzMWUwMzFmNmQ0MTNkZDkyNjlhZGFl
OTg2NmIxMDQxMzEyMDJiLi5iMmEzMTA5YTNiZjVjMjMzNDlhMjU0MTU4ZTMxYjBhZWQ5YWIwYzRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsKIAogICAgIHZvaWQgZGlzY29ubmVjdEZyYW1l
KCk7CisgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoKTsKIAogcHJpdmF0ZToKICAgICBOb3Rp
ZmljYXRpb25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE5vdGlmaWNhdGlvblByZXNl
bnRlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QcmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgKaW5kZXggZDFjOTk1YTI5MjRkMTBlYzQxYjgzMjNjMDdmYzE5Y2ZhZTEz
ZjZjZi4uYjFkNjVmZWViYThmODBlMmU3YWU2ZTZkYmFjMTE5MjYxM2Y0ZWNhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVzZW50ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5o
CkBAIC01Nyw2ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgLy8gUmVxdWVzdHMgdGhhdCBhIG5vdGlm
aWNhdGlvbiB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gc2hvd24gYmUgY2FuY2VsZWQuCiAgICAgdmly
dHVhbCB2b2lkIGNhbmNlbChOb3RpZmljYXRpb24qKSA9IDA7CiAKKyAgICAvLyBXaGVuIHRoZSB1
c2VyIGNsb3NlcyBhIHBhZ2UsIG9yIHF1aXRzIHRoZSBjbGllbnQgYXBwbGljYXRpb24sIGFsbCBv
ZiB0aGUgcGFnZSdzCisgICAgLy8gYXNzb2NpYXRlZCBub3RpZmljYXRpb25zIGFyZSBjbGVhcmVk
LgorICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopID0gMDsKKyAgICAKICAgICAvLyBJbmZvcm1zIHRoZSBwcmVzZW50ZXIgdGhhdCBhIE5v
dGlmaWNhdGlvbiBvYmplY3QgaGFzIGJlZW4gZGVzdHJveWVkCiAgICAgLy8gKHN1Y2ggYXMgYnkg
YSBwYWdlIHRyYW5zaXRpb24pLiBUaGUgcHJlc2VudGVyIG1heSBjb250aW51ZSBzaG93aW5nCiAg
ICAgLy8gdGhlIG5vdGlmaWNhdGlvbiwgYnV0IG11c3Qgbm90IGF0dGVtcHQgdG8gY2FsbCB0aGUg
ZXZlbnQgaGFuZGxlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYWZjNjExZjI0
OWZiNGZmNzhkN2MyNWQ1YmY2YjlkNGNlZDM5OTBmZS4uZmIyNDMzMzkyMTNhMzdmYWRkY2JlNmI3
YjVkOTVmNTNlMDQ2ZDZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNzI3LDYg
KzcyNyw3IEBAIHZvaWQgRE9NV2luZG93OjpyZXNldE5vdGlmaWNhdGlvbnMoKQogewogICAgIGlm
ICghbV9ub3RpZmljYXRpb25zKQogICAgICAgICByZXR1cm47CisgICAgbV9ub3RpZmljYXRpb25z
LT5jbGVhck5vdGlmaWNhdGlvbnMoKTsKICAgICBtX25vdGlmaWNhdGlvbnMtPmRpc2Nvbm5lY3RG
cmFtZSgpOwogICAgIG1fbm90aWZpY2F0aW9ucyA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmlu
ZGV4IGUxZjViY2Y5OWVhNWNjODg5YTNmYzlkZGRkMTE5NTNhZDQzYzk4NDkuLjczYzA1MmZkOTA3
Y2MyNDUwOTU2MzhiMWMxZjE5ZjVmNWRlNTFlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC02
NjgsNiArNjY4LDkgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3llZCgpCiAKICAgICBpZiAobV9k
b21XaW5kb3cpIHsKICAgICAgICAgbV9kb21XaW5kb3ctPnJlc2V0R2VvbG9jYXRpb24oKTsKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICAgICAgbV9kb21XaW5kb3ctPnJlc2V0Tm90aWZp
Y2F0aW9ucygpOworI2VuZGlmCiAgICAgICAgIG1fZG9tV2luZG93LT5wYWdlRGVzdHJveWVkKCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAKaW5kZXgg
NTA1YjE4MDFiNWI5MDFiZTc4ZTMyNTA1ZTE3NWJhYTU0Y2U0ZTQ0ZC4uMzA3MjkwZjMxNzk0MGI0
ZmI1NTY5MWI2OWJhZjMxYjIwYjVlNTlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJJbXBsLmNwcApAQCAtODYsNiArODYsMTAgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgbV9ub3RpZmlj
YXRpb25zLnJlbW92ZShpdCk7CiB9CiAKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6
Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQoreworfQorCiB2b2lk
IE5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKICAgICBBU1NFUlQobm90aWZpY2F0aW9uKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCmluZGV4IGUyNmMxNWZlMmEzMDZk
Y2EwMTcxZWY3Y2MwYmY1NWFjOTU2ZDVjYzIuLjIyYWY4NDdlOTg1MTVmMjcwYTEyOWUwOGZlODQ5
YmRlYjM4NWUzNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaApAQCAt
NDIsNiArNDIsMTAgQEAgcHVibGljOgogICAgIC8vIFJlcXVlc3RzIHRoYXQgYSBub3RpZmljYXRp
b24gdGhhdCBoYXMgYWxyZWFkeSBiZWVuIHNob3duIGJlIGNhbmNlbGVkLgogICAgIHZpcnR1YWwg
dm9pZCBjYW5jZWwoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKik7CiAKKyAgICAvLyBXaGVuIHRoZSB1
c2VyIGNsb3NlcyBhIHBhZ2UsIG9yIHF1aXRzIHRoZSBjbGllbnQgYXBwbGljYXRpb24sIGFsbCBv
ZiB0aGUgcGFnZSdzCisgICAgLy8gYXNzb2NpYXRlZCBub3RpZmljYXRpb25zIGFyZSBjbGVhcmVk
LgorICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopOworCiAgICAgLy8gSW5mb3JtcyB0aGUgcHJlc2VudGVyIHRoYXQgYSBXZWJDb3JlOjpO
b3RpZmljYXRpb24gb2JqZWN0IGhhcyBiZWVuIGRlc3Ryb3llZAogICAgIC8vIChzdWNoIGFzIGJ5
IGEgcGFnZSB0cmFuc2l0aW9uKS4gVGhlIHByZXNlbnRlciBtYXkgY29udGludWUgc2hvd2luZwog
ICAgIC8vIHRoZSBub3RpZmljYXRpb24sIGJ1dCBtdXN0IG5vdCBhdHRlbXB0IHRvIGNhbGwgdGhl
IGV2ZW50IGhhbmRsZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAppbmRleCA0YjY4MjM1YTFkNWMwZWMxMGYx
YWQ3MzZlOWE0ZTMzYWE3YzQ4NzRjLi5mYjQwOWM5ZGU5NTEyN2IyNDBjMDA5NzlhMmRlYzZjMmE4
NTliMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRp
b25QcmVzZW50ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcApAQCAtODksNiArODksMTAgQEAgdm9pZCBOb3RpZmlj
YXRpb25QcmVzZW50ZXJJbXBsOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAg
ICAgbV9wcmVzZW50ZXItPmNhbmNlbChQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4obm90aWZpY2F0
aW9uKSk7CiB9CiAKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6Y2xlYXJOb3RpZmlj
YXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQoreworfQorCiB2b2lkIE5vdGlmaWNhdGlv
blByZXNlbnRlckltcGw6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKIHsKICAgICBtX3ByZXNlbnRlci0+b2JqZWN0RGVzdHJveWVkKFBhc3NS
ZWZQdHI8Tm90aWZpY2F0aW9uPihub3RpZmljYXRpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAppbmRleCAzZWI1
YTg3ZGE4NTljMGE5MDJlODIxNGQ0OWIwYzQ0ZTFhZDlmNzQ5Li4wYTRkYWM3NjI5N2Y4NzMyZDkx
NTEyNGVjZDIzNWY5YjdiODg2ZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1
YmxpYzoKICAgICAvLyBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXIgaW1wbGVtZW50YXRp
b24uCiAgICAgdmlydHVhbCBib29sIHNob3coV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3Qp
OwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3Qp
OworICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0
cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpO
b3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRF
ZmwuY3BwCmluZGV4IGJhNDY2ZjVjNGYwM2FmNmRjM2MzNTk1MmExZDJlNGU1MGVkYjRlMTguLmJk
OGZiNDk4ZjNmYmVjZmE3OWEzZTkyOTBiMGE5YmYyNzVhYmRlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50RWZsLmNwcApAQCAtNDQsNiArNDQsMTEgQEAgdm9pZCBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRFZmw6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudEVmbDo6Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRFZmw6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRFZmwuaAppbmRleCAyNjBjNDQyZWQ1NzU0ZDc1N2NhY2U1MmZlODU0NGJhZjM1
MTI3YzM3Li43NmQwMzYwOTVlNzI4MTU3ZGVhN2M5NDA0ZWVmNTA3MzY3YWU3Njg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaApAQCAtMzQsNiArMzQsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdyhOb3RpZmljYXRpb24qKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsKE5vdGlmaWNhdGlvbiopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlv
bnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRp
b25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDgyOTAzY2E1OTM4ZWY2NWFjNDg2NjJlMWFjMDU0NmNi
NGJmNjkxYmUuLjlmNzYxNWIyODc3MGMyNzFmZjUxMjUyZTBmYmM4YTQ2NmM4NDJmNDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIHNob3coV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGNhbmNlbChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVz
dHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURFOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Lm1tCmluZGV4IDgwMTM4ZTMxMzkxOWZlMTNiYTFjZjY1NWVjNmQxZGQ5OTVhZGE5NDcuLjhm
Njg4ZjI4Y2RiYmZlMTQ4MWZlNjQ5MWFlOWIzNjBjYjYwZjk3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
bW0KQEAgLTQ2LDYgKzQ2LDExIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwo
Tm90aWZpY2F0aW9uKikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNw
cAppbmRleCA4MjAwNjY0YWRiNjQ0OTFhYTRjZDM0NGFlZmMwNDNhYWIyMWRmM2U1Li4wYjM2Zjg3
NzE0ZTFmZjE0MGY2NmExMGRjMDQ2ZWNkMTVmNzI5NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0LmNwcApAQCAtMjYwLDYgKzI2MCwxMCBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudFF0OjpjYW5jZWwoTm90aWZpY2F0aW9uV3JhcHBlciogd3JhcHBlcikKICAgICAg
ICAgY2FuY2VsKG5vdGlmaWNhdGlvbik7CiB9CiAKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQoreworfQorCiB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmlj
YXRpb25DbGlja2VkKE5vdGlmaWNhdGlvbldyYXBwZXIqIHdyYXBwZXIpCiB7CiAgICAgTm90aWZp
Y2F0aW9uKiBub3RpZmljYXRpb24gPSAgbm90aWZpY2F0aW9uRm9yV3JhcHBlcih3cmFwcGVyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90
aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAppbmRleCA3N2RjZDNiYzhjMWIzODcyOTQ5ZjI0
YTg3ODc2ZTgxZGU5NWUyNDgxLi4xNmZhYzM1MTAxYTk1NDA0YzBiYjlkODE1N2I5ZGJmZWM2Y2E5
ZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oCkBAIC04OSw2ICs4OSw3IEBAIHB1
YmxpYzoKICAgICAvKiBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXIgaW50ZXJmYWNlICov
CiAgICAgdmlydHVhbCBib29sIHNob3coTm90aWZpY2F0aW9uKik7CiAgICAgdmlydHVhbCB2b2lk
IGNhbmNlbChOb3RpZmljYXRpb24qKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRp
b25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0
aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBub3Rp
ZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFj
az4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAppbmRleCA4YzY2ZDBl
NTA0YjE0N2FlZmM2Y2RkOGI1NDkxNmI4ZTUxYjg3NjI3Li4wOWI4ZjlmMTJmZDk4M2I5YjI5MTI4
ZGY0MmNkYjViNTAxZjg2NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
LmNwcApAQCAtMTU5LDEyICsxNTksMjAgQEAgdm9pZCBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0Rl
bGVnYXRlOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBvYmplY3QpCiAgICAgICAgIG5vdGlmaWNhdGlv
bkRlbGVnYXRlKCktPmNhbmNlbERlc2t0b3BOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uQ09NV3Jh
cHBlcjo6Y3JlYXRlKG9iamVjdCkpOwogfQogCit2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGU6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQoreworfQorCiB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6Om5vdGlm
aWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24qIG9iamVjdCkKIHsKICAgICBpZiAo
aGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKICAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUo
KS0+bm90aWZpY2F0aW9uRGVzdHJveWVkKE5vdGlmaWNhdGlvbkNPTVdyYXBwZXI6OmNyZWF0ZShv
YmplY3QpKTsKIH0KIAordm9pZCBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpub3Rp
ZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKK3sKK30KKwogdm9pZCBXZWJEZXNrdG9wTm90
aWZpY2F0aW9uc0RlbGVnYXRlOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiogb3Jp
Z2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgQlN0cmluZyBv
cmcob3JpZ2luLT50b1N0cmluZygpKTsKQEAgLTE3Miw2ICsxODAsMTAgQEAgdm9pZCBXZWJEZXNr
dG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0eU9yaWdp
biogb3JpZ2luLAogICAgICAgICBub3RpZmljYXRpb25EZWxlZ2F0ZSgpLT5yZXF1ZXN0Tm90aWZp
Y2F0aW9uUGVybWlzc2lvbihvcmcpOwogfQogCit2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGU6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0KQoreworfQorCiBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24g
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6Y2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtV
UkwmIHVybCkKIHsKICAgICBpbnQgb3V0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGUuaAppbmRleCAzNDRjOTViNDkwOTIxYjY4Y2JmNDI4YWVhMDUwMDg2YjU5YzQ4NmMzLi4z
MTQ1ZWUyY2M5OGMyNWUyZGI5NmQ2OWUzM2U0Yjg3OWY5N2NkM2E0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCkBAIC00OCw4ICs0OCwxMSBAQCBwdWJsaWM6CiAgICAgLyog
V2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyIGludGVyZmFjZSAqLwogICAgIHZpcnR1YWwg
Ym9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKKyAgICB2aXJ0dWFsIHZv
aWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiogb2JqZWN0KTsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxs
YmFjaz4gY2FsbGJhY2spOworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1p
c3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgV2Vi
Q29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihj
b25zdCBLVVJMJiB1cmwpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvblByb3ZpZGVyLmgKaW5kZXggNDJhNGJlYjky
Y2Y0ODBlOTA2NDUwNDEwYTIzYTEyYmRmMGE3YjFjMC4uYmM5OWVjOWIwNjYzOWU0OWM3MjI4NzY1
MDM0MGNhMTE4YzIxYWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLTm90aWZpY2F0aW9uUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tOb3RpZmljYXRpb25Qcm92aWRlci5oCkBAIC0zOCw2ICszOCw3IEBAIHR5cGVk
ZWYgdm9pZCAoKldLTm90aWZpY2F0aW9uUHJvdmlkZXJEaWREZXN0cm95Tm90aWZpY2F0aW9uQ2Fs
bGJhY2spKFdLTm90aWZpY2F0CiB0eXBlZGVmIHZvaWQgKCpXS05vdGlmaWNhdGlvblByb3ZpZGVy
QWRkTm90aWZpY2F0aW9uTWFuYWdlckNhbGxiYWNrKShXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYg
bWFuYWdlciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS05vdGlm
aWNhdGlvblByb3ZpZGVyUmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlckNhbGxiYWNrKShXS05vdGlm
aWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBl
ZGVmIFdLRGljdGlvbmFyeVJlZiAoKldLTm90aWZpY2F0aW9uUHJvdmlkZXJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uc0NhbGxiYWNrKShjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9p
ZCAoKldLTm90aWZpY2F0aW9uUHJvdmlkZXJDbGVhck5vdGlmaWNhdGlvbnNDYWxsYmFjaykoV0tB
cnJheVJlZiBub3RpZmljYXRpb25JRHMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiBzdHJ1
Y3QgV0tOb3RpZmljYXRpb25Qcm92aWRlciB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBA
IC00OCw2ICs0OSw3IEBAIHN0cnVjdCBXS05vdGlmaWNhdGlvblByb3ZpZGVyIHsKICAgICBXS05v
dGlmaWNhdGlvblByb3ZpZGVyQWRkTm90aWZpY2F0aW9uTWFuYWdlckNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgYWRkTm90aWZpY2F0aW9uTWFuYWdlcjsKICAgICBXS05vdGlmaWNhdGlvblByb3Zp
ZGVyUmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlckNhbGxiYWNrICAgICAgICAgICAgICAgcmVtb3Zl
Tm90aWZpY2F0aW9uTWFuYWdlcjsKICAgICBXS05vdGlmaWNhdGlvblByb3ZpZGVyTm90aWZpY2F0
aW9uUGVybWlzc2lvbnNDYWxsYmFjayAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uUGVybWlz
c2lvbnM7CisgICAgV0tOb3RpZmljYXRpb25Qcm92aWRlckNsZWFyTm90aWZpY2F0aW9uc0NhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTm90aWZpY2F0aW9uczsKIH07CiB0eXBlZGVm
IHN0cnVjdCBXS05vdGlmaWNhdGlvblByb3ZpZGVyIFdLTm90aWZpY2F0aW9uUHJvdmlkZXI7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IGU3NGFkMDdi
NzUxYmFhYmQwYWM5MTFkYTRjY2M0N2Q0YWU0ZGFhYWYuLmYxNzc1M2MyY2Y0Y2Q3NjdmZjQ1Zjhl
ZmNkMTJlZGE3YzdmZGU2NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclBy
b3h5LmNwcApAQCAtMTExLDYgKzExMSwxNCBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQ
cm94eTo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRAogICAg
IG1fcHJvdmlkZXIuZGlkRGVzdHJveU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uZ2V0KCkpOwog
fQogCit2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6Y2xlYXJOb3RpZmljYXRpb25z
KGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKK3sKKyAgICBtX3Byb3Zp
ZGVyLmNsZWFyTm90aWZpY2F0aW9ucyhub3RpZmljYXRpb25JRHMpOworICAgIHNpemVfdCBjb3Vu
dCA9IG5vdGlmaWNhdGlvbklEcy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudDsgKytpKQorICAgICAgICBtX25vdGlmaWNhdGlvbnMucmVtb3ZlKG5vdGlmaWNhdGlvbklE
c1tpXSk7Cit9CisKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Ojpwcm92aWRlckRp
ZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7CiAgICAgaWYgKCFt
X2NvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCmluZGV4IDhm
NGI5ZTlkZTAwM2U5MTYzZTc1MGFjYzkyMmIxYzM1NmQwZDI0ZGUuLjY4M2UyZDhmMTFlNDE5YzI2
ZGIyOGZlYjQ0ZTMwMWU5MTYxOTdjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eS5oCkBAIC04MCw2ICs4MCw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSBoYW5k
bGVycwogICAgIHZvaWQgY2FuY2VsKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKICAgICB2b2lk
IGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIHZv
aWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlv
bklEcyk7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJOb3RpZmlj
YXRpb24+ID4gV2ViTm90aWZpY2F0aW9uTWFwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGEwNmZkMDI5MjllY2Fl
N2Y2YzExYzJkNjEwNzBiNmY1Mjk4OWYxOGIuLmEwNmU5MjgxMjgzZDU5ODI3ODI1OTAyNjYyOWVh
ZTk5MzJjNmRiNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KQEAgLTIzLDQgKzIzLDUgQEAKIG1lc3NhZ2VzIC0+IFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eSB7CiAgICAgQ2FuY2VsKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
KTsKICAgICBEaWREZXN0cm95Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsK
KyAgICBDbGVhck5vdGlmaWNhdGlvbnMoVmVjdG9yPHVpbnQ2NF90PiBub3RpZmljYXRpb25JRHMp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCmluZGV4IGFmZDEzYmNjZDU3
NWFmOTk2NzFlM2UxNzc2OWIzYzMyOGVmZDJmMDcuLjEzM2U3OWFhYTE5YTNhNTRjZTAxZTAyNTM3
Zjg0NGVmYmNiNzg5MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKQEAg
LTI3LDkgKzI3LDExIEBACiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCIKIAog
I2luY2x1ZGUgIkltbXV0YWJsZURpY3Rpb25hcnkuaCIKKyNpbmNsdWRlICJNdXRhYmxlQXJyYXku
aCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCIKKyNpbmNsdWRlICJXZWJO
dW1iZXIuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTU4LDYgKzYwLDIwIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OmRp
ZERlc3Ryb3lOb3RpZmljYXRpb24oV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpCiAgICAgbV9j
bGllbnQuZGlkRGVzdHJveU5vdGlmaWNhdGlvbih0b0FQSShub3RpZmljYXRpb24pLCBtX2NsaWVu
dC5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2xlYXJO
b3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKK3sK
KyAgICBpZiAoIW1fY2xpZW50LmNsZWFyTm90aWZpY2F0aW9ucykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgUmVmUHRyPE11dGFibGVBcnJheT4gYXJyYXlJRHMgPSBNdXRhYmxlQXJyYXk6OmNyZWF0
ZSgpOworICAgIHNpemVfdCBjb3VudCA9IG5vdGlmaWNhdGlvbklEcy5zaXplKCk7CisgICAgYXJy
YXlJRHMtPnJlc2VydmVDYXBhY2l0eShjb3VudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBjb3VudDsgKytpKQorICAgICAgICBhcnJheUlEcy0+YXBwZW5kKFdlYlVJbnQ2NDo6Y3JlYXRl
KG5vdGlmaWNhdGlvbklEc1tpXSkubGVha1JlZigpKTsKKworICAgIG1fY2xpZW50LmNsZWFyTm90
aWZpY2F0aW9ucyh0b0FQSShhcnJheUlEcy5nZXQoKSksIG1fY2xpZW50LmNsaWVudEluZm8pOwor
fQorCiB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjphZGROb3RpZmljYXRpb25NYW5hZ2Vy
KFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSogbWFuYWdlcikKIHsKICAgICBpZiAoIW1fY2xp
ZW50LmFkZE5vdGlmaWNhdGlvbk1hbmFnZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
aAppbmRleCA4NTAzZWUyN2NiYmE3ZWQ2NjcxM2EwYmRmOThkNDY4MDJjMGY0NTg5Li41NzRiODg3
YTRkNjE4ZGFmN2ZkYzI3N2RkMzg4YTQxZjM5NjA2NDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
blByb3ZpZGVyLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBUElDbGllbnQuaCIKICNp
bmNsdWRlICJXS05vdGlmaWNhdGlvblByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00
Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNob3coV2ViUGFnZVByb3h5KiwgV2ViTm90
aWZpY2F0aW9uKik7CiAgICAgdm9pZCBjYW5jZWwoV2ViTm90aWZpY2F0aW9uKik7CiAgICAgdm9p
ZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKFdlYk5vdGlmaWNhdGlvbiopOworICAgIHZvaWQgY2xl
YXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcyk7
CiAKICAgICB2b2lkIGFkZE5vdGlmaWNhdGlvbk1hbmFnZXIoV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5Kik7CiAgICAgdm9pZCByZW1vdmVOb3RpZmljYXRpb25NYW5hZ2VyKFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmlu
ZGV4IDBjODY1MjkyZDAyMGE3YWVjNTkzNzc5ZDViYzY2NGQwNzExNWZiOWQuLmFkYWQ0ZGZhMmFh
MmEzN2M2YTM4MGU3OTc3YjhjYTYzODczZWE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24u
aCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CkBA
IC0xMTMsOSArMTE0LDE4IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3Rp
ZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAgICBtX25vdGlmaWNhdGlv
bk1hcC5zZXQobm90aWZpY2F0aW9uLCBub3RpZmljYXRpb25JRCk7CiAgICAgbV9ub3RpZmljYXRp
b25JRE1hcC5zZXQobm90aWZpY2F0aW9uSUQsIG5vdGlmaWNhdGlvbik7CiAgICAgCisgICAgTm90
aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuZmluZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgaWYg
KGl0ID09IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5lbmQoKSkgeworICAgICAgICBwYWlyPE5v
dGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yLCBib29sPiBhZGRlZFBhaXIgPSBtX25vdGlm
aWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpOworICAgICAgICBpdCA9IGFkZGVkUGFpci5maXJzdDsK
KyAgICB9CisgICAgaXQtPnNlY29uZC5hcHBlbmQobm90aWZpY2F0aW9uSUQpOworICAgIAogICAg
IG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNo
b3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlLCBub3RpZmljYXRp
b24tPmNvbnRlbnRzKCkuYm9keSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+
cGFnZUlEKCkpOwotI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiBm
YWxzZTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNhbmNlbChO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKQEAgLTEzMiw2ICsxNDIs
MTggQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBu
b3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgV2ViUGFnZSogcGFnZSkKK3sKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZp
Y2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRleHQpOworICAgIGlmIChpdCA9PSBtX25vdGlmaWNh
dGlvbkNvbnRleHRNYXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX3Byb2Nl
c3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclBy
b3h5OjpDbGVhck5vdGlmaWNhdGlvbnMoaXQtPnNlY29uZCksIHBhZ2UtPnBhZ2VJRCgpKTsKKyAg
ICBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAucmVtb3ZlKGl0KTsKKyNlbmRpZgorfQorCiB2b2lk
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZERlc3Ryb3lOb3RpZmljYXRpb24oTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCkBAIC0xODUsNiArMjA3LDEyIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6
ZGlkQ2xvc2VOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmCiAgICAg
ICAgIGlmICghbm90aWZpY2F0aW9uKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAg
Tm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRl
eHRNYXAuZmluZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAg
ICAgIEFTU0VSVChpdCAhPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZW5kKCkpOworICAgICAg
ICBzaXplX3QgaW5kZXggPSBpdC0+c2Vjb25kLmZpbmQobm90aWZpY2F0aW9uSUQpOworICAgICAg
ICBBU1NFUlQoaW5kZXggIT0gbm90Rm91bmQpOworICAgICAgICBpdC0+c2Vjb25kLnJlbW92ZShp
bmRleCk7CisKICAgICAgICAgbm90aWZpY2F0aW9uLT5kaXNwYXRjaENsb3NlRXZlbnQoKTsKICAg
ICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCmluZGV4IDYxNTA3Mzk0
YzA1OGYyMmUyMjk5OTcyODFiNzA1MjIyZTllNzYzZTEuLmRjNTUwZTIzMWE0Y2ZlODQ0ZmIxNjBi
NTg2YmMxZDYzZjkzYzkwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaApAQCAt
NTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzaG93KFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbiosIFdlYlBhZ2UqKTsKICAgICB2b2lkIGNhbmNlbChXZWJDb3JlOjpOb3RpZmljYXRp
b24qLCBXZWJQYWdlKik7CisgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlBhZ2UqKTsKICAgICAvLyBUaGlzIGNhbGxiYWNrIGNv
bWVzIGZyb20gV2ViQ29yZSwgbm90IG1lc3NhZ2VkIGZyb20gdGhlIFVJIHByb2Nlc3MuCiAgICAg
dm9pZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiosIFdlYlBh
Z2UqKTsKIApAQCAtODYsNiArODcsOSBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4gPiBOb3RpZmljYXRpb25JRE1h
cDsKICAgICBOb3RpZmljYXRpb25JRE1hcCBtX25vdGlmaWNhdGlvbklETWFwOwogICAgIAorICAg
IHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4s
IFZlY3Rvcjx1aW50NjRfdD4gPiBOb3RpZmljYXRpb25Db250ZXh0TWFwOworICAgIE5vdGlmaWNh
dGlvbkNvbnRleHRNYXAgbV9ub3RpZmljYXRpb25Db250ZXh0TWFwOworICAgIAogICAgIEhhc2hN
YXA8U3RyaW5nLCBib29sPiBtX3Blcm1pc3Npb25zTWFwOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCmluZGV4IGY5MzkxMTM5MDk3ZWNhZTI5NmNlM2U0ODIz
N2Y4N2UzMzkzYzBhNjYuLjkwZWIxNjFmMjZjZGIzMzAzNjExYjRlYThlNjA1OGU2OWViYzU0MDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNTAsMzEgKzQ5LDIyIEBAIFdlYk5vdGlmaWNhdGlv
bkNsaWVudDo6fldlYk5vdGlmaWNhdGlvbkNsaWVudCgpCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5ub3RpZmljYXRp
b25NYW5hZ2VyKCkuc2hvdyhub3RpZmljYXRpb24sIG1fcGFnZSk7Ci0jZWxzZQotICAgIG5vdElt
cGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViTm90
aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZp
Y2F0aW9uTWFuYWdlcigpLmNhbmNlbChub3RpZmljYXRpb24sIG1fcGFnZSk7Ci0jZWxzZQotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0jZW5kaWYKK30KKwordm9pZCBXZWJOb3RpZmljYXRpb25DbGll
bnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQor
eworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLm5vdGlmaWNhdGlvbk1hbmFnZXIoKS5jbGVhck5v
dGlmaWNhdGlvbnMoY29udGV4dCwgbV9wYWdlKTsKIH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS5ub3RpZmljYXRpb25NYW5hZ2VyKCkuZGlkRGVzdHJveU5vdGlmaWNhdGlvbihub3RpZmlj
YXRpb24sIG1fcGFnZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb24pOwot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmgKaW5kZXggYWQzNmE5NjIxNWRhZTQ1MDAxMjlhOWYyOGE4ZDAyN2QxNWIz
YjA0Ni4uMTQ3YTg4YWMxMGRkODljNThjODM2MzBlNjVhZjRjNzQ4ZjBlMjU4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgdmlydHVhbCBib29sIHNob3coV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0
aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4pIE9WRVJSSURF
Owo=
</data>
<flag name="review"
          id="125900"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>