<?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>200773</bug_id>
          
          <creation_ts>2019-08-15 10:25:57 -0700</creation_ts>
          <short_desc>[ContentChangeObserver] Dispatch synthetic click when the visibility candidate element becomes hidden again.</short_desc>
          <delta_ts>2019-08-15 15:19:04 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1561603</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-08-15 10:25:57 -0700</bug_when>
    <thetext>going from hidden to visible and back to hidden again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561604</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-15 10:26:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/54351728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561617</commentid>
    <comment_count>2</comment_count>
      <attachid>376392</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-15 10:38:34 -0700</bug_when>
    <thetext>Created attachment 376392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561637</commentid>
    <comment_count>3</comment_count>
      <attachid>376392</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-08-15 11:11:21 -0700</bug_when>
    <thetext>Comment on attachment 376392
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        This patch fixes the case when the candidate element (going from hidden to visible) becomes hidden by the end of the obvservation window. It essentially means that no visible change has happened

obvservation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561641</commentid>
    <comment_count>4</comment_count>
      <attachid>376397</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-15 11:17:16 -0700</bug_when>
    <thetext>Created attachment 376397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561653</commentid>
    <comment_count>5</comment_count>
      <attachid>376397</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-15 11:42:44 -0700</bug_when>
    <thetext>Comment on attachment 376397
Patch

Rejecting attachment 376397 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 376397, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/12919033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561657</commentid>
    <comment_count>6</comment_count>
      <attachid>376401</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-15 11:47:54 -0700</bug_when>
    <thetext>Created attachment 376401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561785</commentid>
    <comment_count>7</comment_count>
      <attachid>376401</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-15 15:19:03 -0700</bug_when>
    <thetext>Comment on attachment 376401
Patch

Clearing flags on attachment: 376401

Committed r248750: &lt;https://trac.webkit.org/changeset/248750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561786</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-15 15:19:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376392</attachid>
            <date>2019-08-15 10:38:34 -0700</date>
            <delta_ts>2019-08-15 11:17:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200773-20190815103833.patch</filename>
            <type>text/plain</type>
            <size>18614</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY0ZmYzODZkMjExYTFh
Yjk3OTNlZDlkNGQxNjY4MzFkZWFjMzNjNS4uNzdlNjIyYjEwMDRjYjZjYzk1MjIwMGY3NzY3N2Fk
YzY2MGM2MGEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTA4LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gRGlzcGF0Y2ggc3ludGhldGljIGNsaWNrIHdoZW4gdGhlIHZpc2liaWxpdHkgY2FuZGlk
YXRlIGVsZW1lbnQgYmVjb21lcyBoaWRkZW4gYWdhaW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3NzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU0MzUxNzI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGNhc2Ugd2hlbiB0aGUgY2FuZGlkYXRlIGVsZW1lbnQg
KGdvaW5nIGZyb20gaGlkZGVuIHRvIHZpc2libGUpIGJlY29tZXMgaGlkZGVuIGJ5IHRoZSBlbmQg
b2YgdGhlIG9idnNlcnZhdGlvbiB3aW5kb3cuIEl0IGVzc2VudGlhbGx5IG1lYW5zIHRoYXQgbm8g
dmlzaWJsZSBjaGFuZ2UgaGFzIGhhcHBlbmVkCisgICAgICAgIGFuZCB3ZSBzaG91bGQgcHJvY2Vl
ZCB3aXRoIGRpc3BhdGNoaW5nIHRoZSBzeW50aGV0aWMgY2xpY2sgZXZlbnQuCisgICAgICAgIFdl
IG5vdyBrZWVwIHRyYWNrIG9mIHRoZSBjYW5kaWRhdGUgZWxlbWVudCBhbmQgcmVzZXQgdGhlIHZp
c2libGl0eSBzdGF0ZSB3aGVuIGl0IGxvc2VzIGl0cyByZW5kZXJlci4KKworICAgICAgICBUZXN0
OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhp
ZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4uaHRtbAorCisgICAgICAgICogcGFnZS9pb3Mv
Q29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFu
Z2VPYnNlcnZlcjo6ZGlkQWRkVHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlbmRlcmVyV2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y29udGVudFZpc2liaWxpdHlEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3VjaEV2ZW50
RGlkU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3Vj
aEV2ZW50RGlkRmluaXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZl
cjo6bW91c2VNb3ZlZERpZFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6bW91c2VNb3ZlZERpZEZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudENoYW5nZU9ic2VydmVyOjpTdHlsZUNoYW5nZVNjb3BlOjp+U3R5bGVDaGFuZ2VTY29w
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWlu
YXRlU3RhdGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFu
Z2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpo
YXNPYnNlcnZlZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjpzZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc1RvdWNoRXZlbnRCZWluZ0Rpc3BhdGNo
ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpzZXRN
b3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRjaGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZpbmdD
b250ZW50Q2hhbmdlcyBjb25zdCk6CisKIDIwMTktMDgtMTUgIFRoaWJhdWx0IFNhdW5pZXIgIDx0
c2F1bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dlYlJUQ106IG9wZW5o
MjY0IGVuY29kZXIgYml0cmF0ZSBpcyBpbiBiaXRzIHBlciBzZWNvbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IGE3MDUxMGYw
YTJlNzQzNjIwOGU0ZjI4MzgwZGY3OTFmNmZhYzQ0MjEuLjdmNTY4YmZiNmM5MWMxZjZhMTg3ZGZm
YmFkNmE2OTc4YWY2ZTliMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcApAQCAtMjE0LDYgKzIxNCw4IEBAIHZvaWQgQ29udGVudENo
YW5nZU9ic2VydmVyOjpkaWRBZGRUcmFuc2l0aW9uKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNv
bnN0IEFuaW1hCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRl
KCkpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWlzT2JzZXJ2aW5nQ29udGVudENoYW5nZXMo
KSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmICghaXNPYnNlcnZpbmdUcmFuc2l0aW9ucygpKQog
ICAgICAgICByZXR1cm47CiAgICAgaWYgKCF0cmFuc2l0aW9uLmlzRHVyYXRpb25TZXQoKSB8fCAh
dHJhbnNpdGlvbi5pc1Byb3BlcnR5U2V0KCkpCkBAIC0yNTEsNyArMjUzLDcgQEAgdm9pZCBDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYgZWxl
bWVudCwgQ1NTUHJvcGUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBp
ZiAoaXNDb25zaWRlcmVkQ2xpY2thYmxlKCp0YXJnZXRFbGVtZW50LCBFbGVtZW50SGFkUmVuZGVy
ZXI6OlllcykpCi0gICAgICAgICAgICB3ZWFrVGhpcy0+Y29udGVudFZpc2liaWxpdHlEaWRDaGFu
Z2UoKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jb250ZW50VmlzaWJpbGl0eURpZENoYW5nZSgq
dGFyZ2V0RWxlbWVudCk7CiAgICAgICAgIHdlYWtUaGlzLT5hZGp1c3RPYnNlcnZlZFN0YXRlKEV2
ZW50OjpDb21wbGV0ZWRUcmFuc2l0aW9uKTsKICAgICB9KTsKIH0KQEAgLTI3MSwxNCArMjczLDE2
IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIoY29uc3Qg
RE9NVGltZXImIHRpbWVyLCBTZWNvbmRzIHRpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50LnNldHRp
bmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpKQotICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgfHwgIXNp
bmdsZVNob3QpCisgICAgaWYgKCFpc09ic2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkpCiAgICAgICAg
IHJldHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCiAgICAgICAgIHJl
dHVybjsKKyAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAodGltZW91dCA+IG1heGltdW1EZWxheUZvclRpbWVy
cyB8fCAhc2luZ2xlU2hvdCkKKyAgICAgICAgcmV0dXJuOwogICAgIExPR19XSVRIX1NUUkVBTShD
b250ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8PCAiZGlkSW5zdGFsbERPTVRpbWVyOiByZWdpc3Rl
ciB0aGlzIHRpbWVyOiAoIiA8PCAmdGltZXIgPDwgIikgYW5kIG9ic2VydmUgd2hlbiBpdCBmaXJl
cy4iKTsKIAogICAgIHJlZ2lzdGVyRE9NVGltZXIodGltZXIpOwpAQCAtMzU5LDEyICszNjMsMTUg
QEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0KCkKIHsKICAgICBzdG9wT2JzZXJ2
aW5nUGVuZGluZ0FjdGl2aXRpZXMoKTsKICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7CisKKyAg
ICBzZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogICAgIHNldElzQmV0d2Vl
blRvdWNoRW5kQW5kTW91c2VNb3ZlZChmYWxzZSk7CisgICAgc2V0TW91c2VNb3ZlZEV2ZW50SXNC
ZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogCi0gICAgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNo
ZWQgPSBmYWxzZTsKICAgICBtX2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjID0gZmFsc2U7CiAgICAg
bV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkID0gZmFsc2U7Ci0gICAgbV9tb3VzZU1v
dmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworCisgICAgbV92aXNpYmlsaXR5Q2Fu
ZGlkYXRlRWxlbWVudCA9IHsgfTsKIAogICAgIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuc3Rv
cCgpOwogICAgIG1fZWxlbWVudHNXaXRoRGVzdHJveWVkVmlzaWJsZVJlbmRlcmVyLmNsZWFyKCk7
CkBAIC0zODksMTcgKzM5NiwyNCBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6cmVuZGVy
ZXJXaWxsQmVEZXN0cm95ZWQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0dXJu
OwogICAgIGlmICghaXNPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpKQogICAgICAgICByZXR1cm47
Ci0gICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgpKQotICAgICAgICByZXR1cm47CiAgICAg
TE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJyZW5kZXJlcldp
bGxCZURlc3Ryb3llZCBlbGVtZW50OiAiIDw8ICZlbGVtZW50KTsKIAogICAgIGlmICghaXNWaXN1
YWxseUhpZGRlbihlbGVtZW50KSkKICAgICAgICAgbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNp
YmxlUmVuZGVyZXIuYWRkKCZlbGVtZW50KTsKKyAgICAvLyBDYW5kaWRhdGUgZWxlbWVudCBpcyBu
byBsb25nZXIgdmlzaWJsZS4KKyAgICBpZiAobV92aXNpYmlsaXR5Q2FuZGlkYXRlRWxlbWVudCA9
PSAmZWxlbWVudCkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsc28gY2hlY2sgZm9y
IG90aGVyIHR5cGUgb2YgdmlzaWJsaXR5IGNoYW5nZXMuCisgICAgICAgIEFTU0VSVChoYXNWaXNp
YmxlQ2hhbmdlU3RhdGUoKSk7CisgICAgICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQg
PSB7IH07CisgICAgICAgIHNldEhhc0luZGV0ZXJtaW5hdGVTdGF0ZSgpOworICAgIH0KIH0KIAot
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hhbmdlKCkK
K3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShj
b25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJj
b250ZW50VmlzaWJpbGl0eURpZENoYW5nZTogdmlzaWJsZSBjb250ZW50IGNoYW5nZSBkaWQgaGFw
cGVuLiIpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBldm9sdmUgaW50byBhIGxpc3Qgb2Yg
Y2FuZGlkYXRlIGVsZW1lbnRzLgorICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQgPSBt
YWtlV2Vha1B0cihlbGVtZW50KTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpDb250
ZW50VmlzaWJpbGl0eUNoYW5nZWQpOwogfQogCkBAIC00MTEsNyArNDI1LDcgQEAgdm9pZCBDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRTdGFydChQbGF0Zm9ybUV2ZW50OjpUeXBl
IGV2ZW50VHlwZSkKICAgICBpZiAoZXZlbnRUeXBlICE9IFBsYXRmb3JtRXZlbnQ6OlR5cGU6OlRv
dWNoU3RhcnQpCiAgICAgICAgIHJldHVybjsKICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAi
dG91Y2hFdmVudERpZFN0YXJ0OiB0b3VjaCBzdGFydCBldmVudCBzdGFydGVkLiIpOwotICAgIG1f
dG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRUb3VjaEV2ZW50SXNC
ZWluZ0Rpc3BhdGNoZWQodHJ1ZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6U3Rh
cnRlZFRvdWNoU3RhcnRFdmVudERpc3BhdGNoaW5nKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KGV2ZW50VHlwZSk7CkBAIC00MjEsMTEgKzQzNSwxMSBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6dG91Y2hFdmVudERpZFN0YXJ0KFBsYXRmb3JtRXZlbnQ6OlR5cGUgZXZlbnRUeXBlKQog
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRGaW5pc2goKQogewogI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgaWYgKCFtX3RvdWNoRXZlbnRJc0JlaW5nRGlzcGF0
Y2hlZCkKKyAgICBpZiAoIWlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJFbmFibGVkKCkpOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJ0b3VjaEV2ZW50
RGlkRmluaXNoOiB0b3VjaCBzdGFydCBldmVudCBmaW5pc2hlZC4iKTsKLSAgICBtX3RvdWNoRXZl
bnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworICAgIHNldFRvdWNoRXZlbnRJc0JlaW5nRGlz
cGF0Y2hlZChmYWxzZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6RW5kZWRUb3Vj
aFN0YXJ0RXZlbnREaXNwYXRjaGluZyk7CiAjZW5kaWYKIH0KQEAgLTQzNSwxOCArNDQ5LDE4IEBA
IHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjptb3VzZU1vdmVkRGlkU3RhcnQoKQogICAgIGlm
ICghbV9kb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJtb3VzZU1vdmVk
RGlkU3RhcnQ6IG1vdXNlTW92ZWQgc3RhcnRlZC4iKTsKLSAgICBtX21vdXNlTW92ZWRFdmVudElz
QmVpbmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRNb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlz
cGF0Y2hlZCh0cnVlKTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpTdGFydGVkTW91
c2VNb3ZlZEV2ZW50RGlzcGF0Y2hpbmcpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZl
cjo6bW91c2VNb3ZlZERpZEZpbmlzaCgpCiB7Ci0gICAgaWYgKCFtX21vdXNlTW92ZWRFdmVudElz
QmVpbmdEaXNwYXRjaGVkKQorICAgIGlmICghaXNNb3VzZU1vdmVkRXZlbnRCZWluZ0Rpc3BhdGNo
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChtX2RvY3VtZW50LnNldHRpbmdzKCku
Y29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKTsKICAgICBMT0coQ29udGVudE9ic2VydmF0
aW9uLCAibW91c2VNb3ZlZERpZEZpbmlzaDogbW91c2VNb3ZlZCBmaW5pc2hlZC4iKTsKICAgICBh
ZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpFbmRlZE1vdXNlTW92ZWRFdmVudERpc3BhdGNoaW5n
KTsKLSAgICBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gZmFsc2U7CisgICAg
c2V0TW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogfQogCiB2b2lkIENv
bnRlbnRDaGFuZ2VPYnNlcnZlcjo6c2V0U2hvdWxkT2JzZXJ2ZU5leHRTdHlsZVJlY2FsYyhib29s
IHNob3VsZE9ic2VydmUpCkBAIC00NTYsMTMgKzQ3MCw2IEBAIHZvaWQgQ29udGVudENoYW5nZU9i
c2VydmVyOjpzZXRTaG91bGRPYnNlcnZlTmV4dFN0eWxlUmVjYWxjKGJvb2wgc2hvdWxkT2JzZXJ2
ZSkKICAgICBtX2lzV2FpdGluZ0ZvclN0eWxlUmVjYWxjID0gc2hvdWxkT2JzZXJ2ZTsKIH0KIAot
Ym9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRlU3RhdGUoKSBjb25zdAot
ewotICAgIGlmIChoYXNWaXNpYmxlQ2hhbmdlU3RhdGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdl
ICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKLX0KLQogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2
ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiB7CiAgICAgYXV0byByZXNldFRv
U3RhcnRPYnNlcnZpbmcgPSBbJl0gewpAQCAtNDc3LDI3ICs0ODQsMzQgQEAgdm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiAgICAgfTsK
IAogICAgIGF1dG8gbm90aWZ5Q2xpZW50SWZOZWVkZWQgPSBbJl0gewotICAgICAgICAvLyBGaXJz
dCBkZW1vdGUgdG8gIm5vIGNoYW5nZSIgaWYgdGhlcmUncyBubyBwZW5kaW5nIGFjdGl2aXR5IGFu
eW1vcmUuCi0gICAgICAgIGlmIChvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSA9PSBXS0NvbnRlbnRJ
bmRldGVybWluYXRlQ2hhbmdlICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKSkKLSAgICAgICAgICAg
IHNldEhhc05vQ2hhbmdlU3RhdGUoKTsKLQorICAgICAgICBpZiAoaXNUb3VjaEV2ZW50QmVpbmdE
aXNwYXRjaGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3Rp
ZnlDbGllbnRJZk5lZWRlZDogVG91Y2ggZXZlbnQgaXMgYmVpbmcgZGlzcGF0Y2hlZC4gTm8gbmVl
ZCB0byBub3RpZnkgdGhlIGNsaWVudC4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQogICAgICAgICBpZiAoaXNCZXR3ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkKCkpIHsKLSAgICAg
ICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJhZGp1c3RTdGF0ZUFuZE5vdGlmeUNvbnRl
bnRDaGFuZ2VJZk5lZWRlZDogTm90IHJlYWNoZWQgbW91c2VNb3ZlZCB5ZXQuIE5vIG5lZWQgdG8g
bm90aWZ5IHRoZSBjbGllbnQuIik7CisgICAgICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9u
LCAibm90aWZ5Q2xpZW50SWZOZWVkZWQ6IE5vdCByZWFjaGVkIG1vdXNlTW92ZWQgeWV0LiBObyBu
ZWVkIHRvIG5vdGlmeSB0aGUgY2xpZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9Ci0gICAgICAgIGlmIChtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKSB7Ci0g
ICAgICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlD
b250ZW50Q2hhbmdlSWZOZWVkZWQ6IGluIG1vdXNlTW92ZWQgY2FsbC4gTm8gbmVlZCB0byBub3Rp
ZnkgdGhlIGNsaWVudC4iKTsKKyAgICAgICAgaWYgKGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNw
YXRjaGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3RpZnlD
bGllbnRJZk5lZWRlZDogaW4gbW91c2VNb3ZlZCBjYWxsLiBObyBuZWVkIHRvIG5vdGlmeSB0aGUg
Y2xpZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGlmIChp
c09ic2VydmF0aW9uVGltZVdpbmRvd0FjdGl2ZSgpKSB7Ci0gICAgICAgICAgICBMT0coQ29udGVu
dE9ic2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlDb250ZW50Q2hhbmdlSWZOZWVkZWQ6
IEluc2lkZSB0aGUgZml4ZWQgd2luZG93IG9ic2VydmF0aW9uLiBObyBuZWVkIHRvIG5vdGlmeSB0
aGUgY2xpZW50LiIpOworICAgICAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIm5vdGlm
eUNsaWVudElmTmVlZGVkOiBJbnNpZGUgdGhlIGZpeGVkIHdpbmRvdyBvYnNlcnZhdGlvbi4gTm8g
bmVlZCB0byBub3RpZnkgdGhlIGNsaWVudC4iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotICAgICAgICBpZiAoIWhhc0RldGVybWluYXRlU3RhdGUoKSkgewotICAgICAgICAgICAg
TE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImFkanVzdFN0YXRlQW5kTm90aWZ5Q29udGVudENoYW5n
ZUlmTmVlZGVkOiBub3QgaW4gYSBkZXRlcm1pbmVkIHN0YXRlIHlldC4iKTsKKworICAgICAgICAv
LyBUaGUgZml4ZWQgb2JzZXJ2YXRpb24gd2luZG93ICh3aGljaCBpcyB0aGUgZmluYWwgc3RlcCBp
biBjb250ZW50IG9ic2VydmF0aW9uKSBpcyBjbG9zZWQgYW5kIG5vdyB3ZSBjaGVjayBpZiBhcmUg
c3RpbGwgd2FpdGluZyBmb3IgdGltZXJzIG9yIGFuaW1hdGlvbnMgdG8gZmluaXNoLgorICAgICAg
ICBpZiAoaGFzUGVuZGluZ0FjdGl2aXR5KCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2Jz
ZXJ2YXRpb24sICJub3RpZnlDbGllbnRJZk5lZWRlZDogV2UgYXJlIHN0aWxsIHdhaXRpbmcgb24g
c29tZSBldmVudHMuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAg
TE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJhZGp1c3RTdGF0
ZUFuZE5vdGlmeUNvbnRlbnRDaGFuZ2VJZk5lZWRlZDogc2VuZGluZyBvYnNlcnZlZENvbnRlbnRD
aGFuZ2UgLT4iIDw8IG9ic2VydmVkQ29udGVudENoYW5nZSgpKTsKKworICAgICAgICAvLyBGaXJz
dCBkZW1vdGUgdG8gIm5vIGNoYW5nZSIgYmVjYXVzZSB3ZSd2ZSBnb3Qgbm8gcGVuZGluZyBhY3Rp
dml0eSBhbnltb3JlLgorICAgICAgICBpZiAob2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tD
b250ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSkKKyAgICAgICAgICAgIHNldEhhc05vQ2hhbmdlU3Rh
dGUoKTsKKworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJl
YW0gPDwgIm5vdGlmeUNsaWVudElmTmVlZGVkOiBzZW5kaW5nIG9ic2VydmVkQ29udGVudENoYW5n
ZSAtPiIgPDwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1
bWVudC5wYWdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1bWVudC5mcmFtZSgpKTsKICAgICAg
ICAgbV9kb2N1bWVudC5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmRpZEZpbmlzaENvbnRlbnRD
aGFuZ2VPYnNlcnZpbmcoKm1fZG9jdW1lbnQuZnJhbWUoKSwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdl
KCkpOwpAQCAtNTk1LDcgKzYwOSw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjphZGp1
c3RPYnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQogICAgIH0KICAgICAvLyBFaXRoZXIgdGhlIHBh
Z2UgZGVjaWRlZCB0byBjYWxsIHByZXZlbnREZWZhdWx0IG9uIHRoZSB0b3VjaCBhY3Rpb24gb3Ig
dGhlIHRhcCBnZXN0dXJlIGV2b2x2ZWQgdG8gc29tZSBvdGhlciBnZXN0dXJlIChsb25nIHByZXNz
LCBkb3VibGUgdGFwKS4gCiAgICAgaWYgKGV2ZW50ID09IEV2ZW50OjpXaWxsTm90UHJvY2VlZFdp
dGhDbGljaykgewotICAgICAgICByZXNldCgpOworICAgICAgICBzdG9wQ29udGVudE9ic2VydmF0
aW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gVGhlIHBhZ2UgcHJvZHVjZWQg
YW4gdmlzaWJsZSBjaGFuZ2Ugb24gYW4gYWN0aW9uYWJsZSBjb250ZW50LgpAQCAtNjI4LDcgKzY0
Miw3IEBAIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VTY29wZTo6flN0eWxlQ2hh
bmdlU2NvcGUoKQogICAgIH07CiAKICAgICBpZiAoY2hhbmdlZEZyb21IaWRkZW5Ub1Zpc2libGUo
KSAmJiBpc0NvbnNpZGVyZWRDbGlja2FibGUobV9lbGVtZW50LCBtX2hhZFJlbmRlcmVyID8gRWxl
bWVudEhhZFJlbmRlcmVyOjpZZXMgOiBFbGVtZW50SGFkUmVuZGVyZXI6Ok5vKSkKLSAgICAgICAg
bV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKKyAg
ICAgICAgbV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Uo
bV9lbGVtZW50KTsKIH0KIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDFjMmI0ZDA4ZTZk
YjI0MzA1MjkxYTFlYTFjODZlYjYzNmUzZjM1MjYuLjMwOTRlMjg0NjRmZTkxYjU1YmY2NWNlMmUx
YmI3YzNhZDY2ZjgyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
ZGlkUmVjb2duaXplTG9uZ1ByZXNzKCk7CiAKLSAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5RGlk
Q2hhbmdlKCk7CisgICAgdm9pZCBjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShjb25zdCBFbGVt
ZW50Jik7CiAKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVET01UaW1lclNjaGVkdWxpbmdBbmRU
cmFuc2l0aW9ucyhib29sKTsKICAgICBib29sIGlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9pc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZzsgfQpAQCAt
MTU5LDExICsxNTksMTYgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1Zpc2libGVDaGFuZ2VTdGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudFZp
c2liaWxpdHlDaGFuZ2U7IH0KICAgICBib29sIGhhc09ic2VydmVkRE9NVGltZXIoKSBjb25zdCB7
IHJldHVybiAhbV9ET01UaW1lckxpc3QuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNPYnNlcnZl
ZFRyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiAhbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uLmlz
RW1wdHkoKTsgfQotICAgIGJvb2wgaGFzRGV0ZXJtaW5hdGVTdGF0ZSgpIGNvbnN0OwogCiAgICAg
dm9pZCBzZXRJc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQoYm9vbCBpc0JldHdlZW4pIHsg
bV9pc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgPSBpc0JldHdlZW47IH0KICAgICBib29s
IGlzQmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNCZXR3
ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkOyB9CiAKKyAgICB2b2lkIHNldFRvdWNoRXZlbnRJc0Jl
aW5nRGlzcGF0Y2hlZChib29sIGRpc3BhdGNoaW5nKSB7IG1fdG91Y2hFdmVudElzQmVpbmdEaXNw
YXRjaGVkID0gZGlzcGF0Y2hpbmc7IH0KKyAgICBib29sIGlzVG91Y2hFdmVudEJlaW5nRGlzcGF0
Y2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkOyB9CisK
KyAgICB2b2lkIHNldE1vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKGJvb2wgZGlzcGF0
Y2hpbmcpIHsgbV9tb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGRpc3BhdGNoaW5n
OyB9CisgICAgYm9vbCBpc01vdXNlTW92ZWRFdmVudEJlaW5nRGlzcGF0Y2hlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fbW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQ7IH0KKwogICAgIGJvb2wg
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgeyByZXR1cm4gaGFzT2JzZXJ2ZWRET01UaW1lcigp
IHx8IGhhc09ic2VydmVkVHJhbnNpdGlvbigpIHx8IG1faXNXYWl0aW5nRm9yU3R5bGVSZWNhbGMg
fHwgaXNPYnNlcnZhdGlvblRpbWVXaW5kb3dBY3RpdmUoKTsgfQogICAgIGJvb2wgaXNPYnNlcnZh
dGlvblRpbWVXaW5kb3dBY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRPYnNlcnZhdGlv
blRpbWVyLmlzQWN0aXZlKCk7IH0KIApAQCAtMjAyLDYgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAg
SGFzaFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxlUmVu
ZGVyZXI7CiAgICAgV0tDb250ZW50Q2hhbmdlIG1fb2JzZXJ2ZWRDb250ZW50U3RhdGUgeyBXS0Nv
bnRlbnROb0NoYW5nZSB9OwogICAgIFdlYWtQdHI8RWxlbWVudD4gbV9oaWRkZW5Ub3VjaFRhcmdl
dEVsZW1lbnQ7CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX3Zpc2liaWxpdHlDYW5kaWRhdGVFbGVt
ZW50OwogICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKQEAgLTIxNCw5ICsyMjAsOSBAQCBw
cml2YXRlOgogCiBpbmxpbmUgYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2aW5n
Q29udGVudENoYW5nZXMoKSBjb25zdAogewotICAgIHJldHVybiBtX3RvdWNoRXZlbnRJc0JlaW5n
RGlzcGF0Y2hlZAotICAgICAgICB8fCBtX2lzQmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZAot
ICAgICAgICB8fCBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkCisgICAgcmV0dXJu
IGlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpCisgICAgICAgIHx8IGlzQmV0d2VlblRvdWNo
RW5kQW5kTW91c2VNb3ZlZCgpCisgICAgICAgIHx8IGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNw
YXRjaGVkKCkKICAgICAgICAgfHwgbV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkCiAg
ICAgICAgIHx8IG1faXNJbk9ic2VydmVkU3R5bGVSZWNhbGMKICAgICAgICAgfHwgaXNPYnNlcnZh
dGlvblRpbWVXaW5kb3dBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YTZkYzE5MWJkYWVhMWRiYzIzN2E5NmQ4
NTNkNmI4OTZmMjFlNTM3Li4yYThkZmRmYTExMzU5NWIxMWUzYmQ3NDMwNDM3Nzc2NGZhZjZiZWQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDgtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBEaXNwYXRjaCBz
eW50aGV0aWMgY2xpY2sgd2hlbiB0aGUgdmlzaWJpbGl0eSBjYW5kaWRhdGUgZWxlbWVudCBiZWNv
bWVzIGhpZGRlbiBhZ2Fpbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMDc3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTE3Mjg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNp
YmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vZ29pbmctZnJvbS1oaWRkZW4tdG8t
dmlzaWJsZS1hbmQtdG8taGlkZGVuLmh0bWw6IEFkZGVkLgorCiAyMDE5LTA4LTE0ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBWYXJp
YWJsZXMgc2hvdWxkbid0IGJlIGFibGUgdG8gaGF2ZSB2b2lkIHR5cGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL2dvaW5n
LWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhpZGRlbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1m
cm9tLWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY3N2UzYTMxZTRkMjc1OTNhYTk0ZGJkNjM3YTQ1M2FmOGNlZGRkNzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZh
dGlvbi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMiBAQAorUEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBzaG93biBiZWxv
dy4KK2NsaWNrZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lv
cy9jb250ZW50LW9ic2VydmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRv
LWhpZGRlbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQt
b2JzZXJ2YXRpb24vZ29pbmctZnJvbS1oaWRkZW4tdG8tdmlzaWJsZS1hbmQtdG8taGlkZGVuLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDk1MWUyYzM4ZTI5OThiZWVmNjk5NDBkNTY1YTU4MmQxZTYyNDczMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250
ZW50LW9ic2VydmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhpZGRl
bi5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPlRoaXMgdGVzdHMgdGhlIGNhc2Ugd2hlbiB2aXNpYmxlIGFuZCBhY3Rpb25hYmxlIGNv
bnRlbnQgc2hvd3MgdXAgYW5kIGdldHMgZGVzdHJveWVkIHJpZ2h0IGF3YXkuPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyN0YXBUaGlzIHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0
MDBweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKK30KKworI3dpbGxCZWNvbWVWaXNp
YmxlTW9tZW50YXJpbHkgeworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgd2lkdGg6IDEwMHB4Owor
ICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0
eWxlPgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lciB8fCAhdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
Q29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCh0cnVlKTsKKworICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHRhcFRoaXMpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8ZGl2IGlkPXRhcFRoaXM+UEFTUyBpZiAnY2xpY2tl
ZCcgdGV4dCBpcyBzaG93biBiZWxvdy48L2Rpdj4KKzxkaXYgaWQ9d2lsbEJlY29tZVZpc2libGVN
b21lbnRhcmlseT48L2Rpdj4KKzxwcmUgaWQ9cmVzdWx0PjwvcHJlPgorPHNjcmlwdD4KK3RhcFRo
aXMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsIGZ1bmN0aW9uKCBldmVudCApIHsKKwl3
aWxsQmVjb21lVmlzaWJsZU1vbWVudGFyaWx5LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOworfSwg
ZmFsc2UpOworCit0YXBUaGlzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsIGZ1bmN0aW9u
KCBldmVudCApIHsKKwl3aWxsQmVjb21lVmlzaWJsZU1vbWVudGFyaWx5LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7Cit9LCBmYWxzZSk7CisKK3dpbGxCZWNvbWVWaXNpYmxlTW9tZW50YXJpbHkuYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgcmVzdWx0Lmlu
bmVySFRNTCA9ICJjbGlja2VkIHdpbGxCZWNvbWVWaXNpYmxlTW9tZW50YXJpbHkiOworfSwgZmFs
c2UpOworCit0YXBUaGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oIGV2ZW50
ICkgeyAgIAorICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiY2xpY2tlZCI7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30sIGZhbHNl
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376397</attachid>
            <date>2019-08-15 11:17:16 -0700</date>
            <delta_ts>2019-08-15 11:47:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200773-20190815111715.patch</filename>
            <type>text/plain</type>
            <size>18611</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY0ZmYzODZkMjExYTFh
Yjk3OTNlZDlkNGQxNjY4MzFkZWFjMzNjNS4uZTdjNjYyYmIwMTRmMjJiZDI5OTUwNTc1M2UyOWE0
OTliZTNkNThjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTA4LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gRGlzcGF0Y2ggc3ludGhldGljIGNsaWNrIHdoZW4gdGhlIHZpc2liaWxpdHkgY2FuZGlk
YXRlIGVsZW1lbnQgYmVjb21lcyBoaWRkZW4gYWdhaW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3NzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU0MzUxNzI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXNlIHdoZW4gdGhlIGNhbmRpZGF0ZSBlbGVtZW50IChn
b2luZyBmcm9tIGhpZGRlbiB0byB2aXNpYmxlKSBiZWNvbWVzIGhpZGRlbiBieSB0aGUgZW5kIG9m
IHRoZSBvYnNlcnZhdGlvbiB3aW5kb3cuIEl0IGVzc2VudGlhbGx5IG1lYW5zIHRoYXQgbm8gdmlz
aWJsZSBjaGFuZ2UgaGFzIGhhcHBlbmVkCisgICAgICAgIGFuZCB3ZSBzaG91bGQgcHJvY2VlZCB3
aXRoIGRpc3BhdGNoaW5nIHRoZSBzeW50aGV0aWMgY2xpY2sgZXZlbnQuCisgICAgICAgIFdlIG5v
dyBrZWVwIHRyYWNrIG9mIHRoZSBjYW5kaWRhdGUgZWxlbWVudCBhbmQgcmVzZXQgdGhlIHZpc2li
bGl0eSBzdGF0ZSB3aGVuIGl0IGxvc2VzIGl0cyByZW5kZXJlci4KKworICAgICAgICBUZXN0OiBm
YXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRl
bi10by12aXNpYmxlLWFuZC10by1oaWRkZW4uaHRtbAorCisgICAgICAgICogcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6ZGlkQWRkVHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlbmRlcmVyV2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3VjaEV2ZW50RGlk
U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3VjaEV2
ZW50RGlkRmluaXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
bW91c2VNb3ZlZERpZFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6bW91c2VNb3ZlZERpZEZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpTdHlsZUNoYW5nZVNjb3BlOjp+U3R5bGVDaGFuZ2VTY29wZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRl
U3RhdGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VP
YnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoYXNP
YnNlcnZlZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5n
ZU9ic2VydmVyOjpzZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc1RvdWNoRXZlbnRCZWluZ0Rpc3BhdGNoZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpzZXRNb3Vz
ZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRjaGVkIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZpbmdDb250
ZW50Q2hhbmdlcyBjb25zdCk6CisKIDIwMTktMDgtMTUgIFRoaWJhdWx0IFNhdW5pZXIgIDx0c2F1
bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dlYlJUQ106IG9wZW5oMjY0
IGVuY29kZXIgYml0cmF0ZSBpcyBpbiBiaXRzIHBlciBzZWNvbmQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IGE3MDUxMGYwYTJl
NzQzNjIwOGU0ZjI4MzgwZGY3OTFmNmZhYzQ0MjEuLjdmNTY4YmZiNmM5MWMxZjZhMTg3ZGZmYmFk
NmE2OTc4YWY2ZTliMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVu
dENoYW5nZU9ic2VydmVyLmNwcApAQCAtMjE0LDYgKzIxNCw4IEBAIHZvaWQgQ29udGVudENoYW5n
ZU9ic2VydmVyOjpkaWRBZGRUcmFuc2l0aW9uKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IEFuaW1hCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkp
CiAgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWlzT2JzZXJ2aW5nQ29udGVudENoYW5nZXMoKSkK
KyAgICAgICAgcmV0dXJuOwogICAgIGlmICghaXNPYnNlcnZpbmdUcmFuc2l0aW9ucygpKQogICAg
ICAgICByZXR1cm47CiAgICAgaWYgKCF0cmFuc2l0aW9uLmlzRHVyYXRpb25TZXQoKSB8fCAhdHJh
bnNpdGlvbi5pc1Byb3BlcnR5U2V0KCkpCkBAIC0yNTEsNyArMjUzLDcgQEAgdm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVu
dCwgQ1NTUHJvcGUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAo
aXNDb25zaWRlcmVkQ2xpY2thYmxlKCp0YXJnZXRFbGVtZW50LCBFbGVtZW50SGFkUmVuZGVyZXI6
OlllcykpCi0gICAgICAgICAgICB3ZWFrVGhpcy0+Y29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Uo
KTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jb250ZW50VmlzaWJpbGl0eURpZENoYW5nZSgqdGFy
Z2V0RWxlbWVudCk7CiAgICAgICAgIHdlYWtUaGlzLT5hZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50
OjpDb21wbGV0ZWRUcmFuc2l0aW9uKTsKICAgICB9KTsKIH0KQEAgLTI3MSwxNCArMjczLDE2IEBA
IHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9N
VGltZXImIHRpbWVyLCBTZWNvbmRzIHRpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50LnNldHRpbmdz
KCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAg
aWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgfHwgIXNpbmds
ZVNob3QpCisgICAgaWYgKCFpc09ic2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkpCiAgICAgICAg
IHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCiAgICAgICAgIHJldHVy
bjsKKyAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBpZiAodGltZW91dCA+IG1heGltdW1EZWxheUZvclRpbWVycyB8
fCAhc2luZ2xlU2hvdCkKKyAgICAgICAgcmV0dXJuOwogICAgIExPR19XSVRIX1NUUkVBTShDb250
ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8PCAiZGlkSW5zdGFsbERPTVRpbWVyOiByZWdpc3RlciB0
aGlzIHRpbWVyOiAoIiA8PCAmdGltZXIgPDwgIikgYW5kIG9ic2VydmUgd2hlbiBpdCBmaXJlcy4i
KTsKIAogICAgIHJlZ2lzdGVyRE9NVGltZXIodGltZXIpOwpAQCAtMzU5LDEyICszNjMsMTUgQEAg
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0KCkKIHsKICAgICBzdG9wT2JzZXJ2aW5n
UGVuZGluZ0FjdGl2aXRpZXMoKTsKICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7CisKKyAgICBz
ZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogICAgIHNldElzQmV0d2VlblRv
dWNoRW5kQW5kTW91c2VNb3ZlZChmYWxzZSk7CisgICAgc2V0TW91c2VNb3ZlZEV2ZW50SXNCZWlu
Z0Rpc3BhdGNoZWQoZmFsc2UpOwogCi0gICAgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQg
PSBmYWxzZTsKICAgICBtX2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjID0gZmFsc2U7CiAgICAgbV9v
YnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkID0gZmFsc2U7Ci0gICAgbV9tb3VzZU1vdmVk
RXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworCisgICAgbV92aXNpYmlsaXR5Q2FuZGlk
YXRlRWxlbWVudCA9IHsgfTsKIAogICAgIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuc3RvcCgp
OwogICAgIG1fZWxlbWVudHNXaXRoRGVzdHJveWVkVmlzaWJsZVJlbmRlcmVyLmNsZWFyKCk7CkBA
IC0zODksMTcgKzM5NiwyNCBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6cmVuZGVyZXJX
aWxsQmVEZXN0cm95ZWQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0dXJuOwog
ICAgIGlmICghaXNPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgpKQotICAgICAgICByZXR1cm47CiAgICAgTE9H
X1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJyZW5kZXJlcldpbGxC
ZURlc3Ryb3llZCBlbGVtZW50OiAiIDw8ICZlbGVtZW50KTsKIAogICAgIGlmICghaXNWaXN1YWxs
eUhpZGRlbihlbGVtZW50KSkKICAgICAgICAgbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxl
UmVuZGVyZXIuYWRkKCZlbGVtZW50KTsKKyAgICAvLyBDYW5kaWRhdGUgZWxlbWVudCBpcyBubyBs
b25nZXIgdmlzaWJsZS4KKyAgICBpZiAobV92aXNpYmlsaXR5Q2FuZGlkYXRlRWxlbWVudCA9PSAm
ZWxlbWVudCkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsc28gY2hlY2sgZm9yIG90
aGVyIHR5cGUgb2YgdmlzaWJsaXR5IGNoYW5nZXMuCisgICAgICAgIEFTU0VSVChoYXNWaXNpYmxl
Q2hhbmdlU3RhdGUoKSk7CisgICAgICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQgPSB7
IH07CisgICAgICAgIHNldEhhc0luZGV0ZXJtaW5hdGVTdGF0ZSgpOworICAgIH0KIH0KIAotdm9p
ZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hhbmdlKCkKK3Zv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShjb25z
dCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJjb250
ZW50VmlzaWJpbGl0eURpZENoYW5nZTogdmlzaWJsZSBjb250ZW50IGNoYW5nZSBkaWQgaGFwcGVu
LiIpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBldm9sdmUgaW50byBhIGxpc3Qgb2YgY2Fu
ZGlkYXRlIGVsZW1lbnRzLgorICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQgPSBtYWtl
V2Vha1B0cihlbGVtZW50KTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpDb250ZW50
VmlzaWJpbGl0eUNoYW5nZWQpOwogfQogCkBAIC00MTEsNyArNDI1LDcgQEAgdm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRTdGFydChQbGF0Zm9ybUV2ZW50OjpUeXBlIGV2
ZW50VHlwZSkKICAgICBpZiAoZXZlbnRUeXBlICE9IFBsYXRmb3JtRXZlbnQ6OlR5cGU6OlRvdWNo
U3RhcnQpCiAgICAgICAgIHJldHVybjsKICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAidG91
Y2hFdmVudERpZFN0YXJ0OiB0b3VjaCBzdGFydCBldmVudCBzdGFydGVkLiIpOwotICAgIG1fdG91
Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRUb3VjaEV2ZW50SXNCZWlu
Z0Rpc3BhdGNoZWQodHJ1ZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6U3RhcnRl
ZFRvdWNoU3RhcnRFdmVudERpc3BhdGNoaW5nKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV2
ZW50VHlwZSk7CkBAIC00MjEsMTEgKzQzNSwxMSBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZl
cjo6dG91Y2hFdmVudERpZFN0YXJ0KFBsYXRmb3JtRXZlbnQ6OlR5cGUgZXZlbnRUeXBlKQogdm9p
ZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRGaW5pc2goKQogewogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCi0gICAgaWYgKCFtX3RvdWNoRXZlbnRJc0JlaW5nRGlzcGF0Y2hl
ZCkKKyAgICBpZiAoIWlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpKQogICAgICAgICByZXR1
cm47CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2
ZXJFbmFibGVkKCkpOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJ0b3VjaEV2ZW50RGlk
RmluaXNoOiB0b3VjaCBzdGFydCBldmVudCBmaW5pc2hlZC4iKTsKLSAgICBtX3RvdWNoRXZlbnRJ
c0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworICAgIHNldFRvdWNoRXZlbnRJc0JlaW5nRGlzcGF0
Y2hlZChmYWxzZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6RW5kZWRUb3VjaFN0
YXJ0RXZlbnREaXNwYXRjaGluZyk7CiAjZW5kaWYKIH0KQEAgLTQzNSwxOCArNDQ5LDE4IEBAIHZv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjptb3VzZU1vdmVkRGlkU3RhcnQoKQogICAgIGlmICgh
bV9kb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJtb3VzZU1vdmVkRGlk
U3RhcnQ6IG1vdXNlTW92ZWQgc3RhcnRlZC4iKTsKLSAgICBtX21vdXNlTW92ZWRFdmVudElzQmVp
bmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRNb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0
Y2hlZCh0cnVlKTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpTdGFydGVkTW91c2VN
b3ZlZEV2ZW50RGlzcGF0Y2hpbmcpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
bW91c2VNb3ZlZERpZEZpbmlzaCgpCiB7Ci0gICAgaWYgKCFtX21vdXNlTW92ZWRFdmVudElzQmVp
bmdEaXNwYXRjaGVkKQorICAgIGlmICghaXNNb3VzZU1vdmVkRXZlbnRCZWluZ0Rpc3BhdGNoZWQo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChtX2RvY3VtZW50LnNldHRpbmdzKCkuY29u
dGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKTsKICAgICBMT0coQ29udGVudE9ic2VydmF0aW9u
LCAibW91c2VNb3ZlZERpZEZpbmlzaDogbW91c2VNb3ZlZCBmaW5pc2hlZC4iKTsKICAgICBhZGp1
c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpFbmRlZE1vdXNlTW92ZWRFdmVudERpc3BhdGNoaW5nKTsK
LSAgICBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gZmFsc2U7CisgICAgc2V0
TW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogfQogCiB2b2lkIENvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6c2V0U2hvdWxkT2JzZXJ2ZU5leHRTdHlsZVJlY2FsYyhib29sIHNo
b3VsZE9ic2VydmUpCkBAIC00NTYsMTMgKzQ3MCw2IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2Vy
dmVyOjpzZXRTaG91bGRPYnNlcnZlTmV4dFN0eWxlUmVjYWxjKGJvb2wgc2hvdWxkT2JzZXJ2ZSkK
ICAgICBtX2lzV2FpdGluZ0ZvclN0eWxlUmVjYWxjID0gc2hvdWxkT2JzZXJ2ZTsKIH0KIAotYm9v
bCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRlU3RhdGUoKSBjb25zdAotewot
ICAgIGlmIChoYXNWaXNpYmxlQ2hhbmdlU3RhdGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlICYm
ICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKLX0KLQogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6
OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiB7CiAgICAgYXV0byByZXNldFRvU3Rh
cnRPYnNlcnZpbmcgPSBbJl0gewpAQCAtNDc3LDI3ICs0ODQsMzQgQEAgdm9pZCBDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiAgICAgfTsKIAog
ICAgIGF1dG8gbm90aWZ5Q2xpZW50SWZOZWVkZWQgPSBbJl0gewotICAgICAgICAvLyBGaXJzdCBk
ZW1vdGUgdG8gIm5vIGNoYW5nZSIgaWYgdGhlcmUncyBubyBwZW5kaW5nIGFjdGl2aXR5IGFueW1v
cmUuCi0gICAgICAgIGlmIChvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSA9PSBXS0NvbnRlbnRJbmRl
dGVybWluYXRlQ2hhbmdlICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKSkKLSAgICAgICAgICAgIHNl
dEhhc05vQ2hhbmdlU3RhdGUoKTsKLQorICAgICAgICBpZiAoaXNUb3VjaEV2ZW50QmVpbmdEaXNw
YXRjaGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3RpZnlD
bGllbnRJZk5lZWRlZDogVG91Y2ggZXZlbnQgaXMgYmVpbmcgZGlzcGF0Y2hlZC4gTm8gbmVlZCB0
byBub3RpZnkgdGhlIGNsaWVudC4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQog
ICAgICAgICBpZiAoaXNCZXR3ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkKCkpIHsKLSAgICAgICAg
ICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJhZGp1c3RTdGF0ZUFuZE5vdGlmeUNvbnRlbnRD
aGFuZ2VJZk5lZWRlZDogTm90IHJlYWNoZWQgbW91c2VNb3ZlZCB5ZXQuIE5vIG5lZWQgdG8gbm90
aWZ5IHRoZSBjbGllbnQuIik7CisgICAgICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAi
bm90aWZ5Q2xpZW50SWZOZWVkZWQ6IE5vdCByZWFjaGVkIG1vdXNlTW92ZWQgeWV0LiBObyBuZWVk
IHRvIG5vdGlmeSB0aGUgY2xpZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
Ci0gICAgICAgIGlmIChtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKSB7Ci0gICAg
ICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlDb250
ZW50Q2hhbmdlSWZOZWVkZWQ6IGluIG1vdXNlTW92ZWQgY2FsbC4gTm8gbmVlZCB0byBub3RpZnkg
dGhlIGNsaWVudC4iKTsKKyAgICAgICAgaWYgKGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRj
aGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3RpZnlDbGll
bnRJZk5lZWRlZDogaW4gbW91c2VNb3ZlZCBjYWxsLiBObyBuZWVkIHRvIG5vdGlmeSB0aGUgY2xp
ZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGlmIChpc09i
c2VydmF0aW9uVGltZVdpbmRvd0FjdGl2ZSgpKSB7Ci0gICAgICAgICAgICBMT0coQ29udGVudE9i
c2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlDb250ZW50Q2hhbmdlSWZOZWVkZWQ6IElu
c2lkZSB0aGUgZml4ZWQgd2luZG93IG9ic2VydmF0aW9uLiBObyBuZWVkIHRvIG5vdGlmeSB0aGUg
Y2xpZW50LiIpOworICAgICAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIm5vdGlmeUNs
aWVudElmTmVlZGVkOiBJbnNpZGUgdGhlIGZpeGVkIHdpbmRvdyBvYnNlcnZhdGlvbi4gTm8gbmVl
ZCB0byBub3RpZnkgdGhlIGNsaWVudC4iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBpZiAoIWhhc0RldGVybWluYXRlU3RhdGUoKSkgewotICAgICAgICAgICAgTE9H
KENvbnRlbnRPYnNlcnZhdGlvbiwgImFkanVzdFN0YXRlQW5kTm90aWZ5Q29udGVudENoYW5nZUlm
TmVlZGVkOiBub3QgaW4gYSBkZXRlcm1pbmVkIHN0YXRlIHlldC4iKTsKKworICAgICAgICAvLyBU
aGUgZml4ZWQgb2JzZXJ2YXRpb24gd2luZG93ICh3aGljaCBpcyB0aGUgZmluYWwgc3RlcCBpbiBj
b250ZW50IG9ic2VydmF0aW9uKSBpcyBjbG9zZWQgYW5kIG5vdyB3ZSBjaGVjayBpZiBhcmUgc3Rp
bGwgd2FpdGluZyBmb3IgdGltZXJzIG9yIGFuaW1hdGlvbnMgdG8gZmluaXNoLgorICAgICAgICBp
ZiAoaGFzUGVuZGluZ0FjdGl2aXR5KCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2
YXRpb24sICJub3RpZnlDbGllbnRJZk5lZWRlZDogV2UgYXJlIHN0aWxsIHdhaXRpbmcgb24gc29t
ZSBldmVudHMuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgTE9H
X1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJhZGp1c3RTdGF0ZUFu
ZE5vdGlmeUNvbnRlbnRDaGFuZ2VJZk5lZWRlZDogc2VuZGluZyBvYnNlcnZlZENvbnRlbnRDaGFu
Z2UgLT4iIDw8IG9ic2VydmVkQ29udGVudENoYW5nZSgpKTsKKworICAgICAgICAvLyBGaXJzdCBk
ZW1vdGUgdG8gIm5vIGNoYW5nZSIgYmVjYXVzZSB3ZSd2ZSBnb3Qgbm8gcGVuZGluZyBhY3Rpdml0
eSBhbnltb3JlLgorICAgICAgICBpZiAob2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tDb250
ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSkKKyAgICAgICAgICAgIHNldEhhc05vQ2hhbmdlU3RhdGUo
KTsKKworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0g
PDwgIm5vdGlmeUNsaWVudElmTmVlZGVkOiBzZW5kaW5nIG9ic2VydmVkQ29udGVudENoYW5nZSAt
PiIgPDwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1bWVu
dC5wYWdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1bWVudC5mcmFtZSgpKTsKICAgICAgICAg
bV9kb2N1bWVudC5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmRpZEZpbmlzaENvbnRlbnRDaGFu
Z2VPYnNlcnZpbmcoKm1fZG9jdW1lbnQuZnJhbWUoKSwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkp
OwpAQCAtNTk1LDcgKzYwOSw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjphZGp1c3RP
YnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQogICAgIH0KICAgICAvLyBFaXRoZXIgdGhlIHBhZ2Ug
ZGVjaWRlZCB0byBjYWxsIHByZXZlbnREZWZhdWx0IG9uIHRoZSB0b3VjaCBhY3Rpb24gb3IgdGhl
IHRhcCBnZXN0dXJlIGV2b2x2ZWQgdG8gc29tZSBvdGhlciBnZXN0dXJlIChsb25nIHByZXNzLCBk
b3VibGUgdGFwKS4gCiAgICAgaWYgKGV2ZW50ID09IEV2ZW50OjpXaWxsTm90UHJvY2VlZFdpdGhD
bGljaykgewotICAgICAgICByZXNldCgpOworICAgICAgICBzdG9wQ29udGVudE9ic2VydmF0aW9u
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gVGhlIHBhZ2UgcHJvZHVjZWQgYW4g
dmlzaWJsZSBjaGFuZ2Ugb24gYW4gYWN0aW9uYWJsZSBjb250ZW50LgpAQCAtNjI4LDcgKzY0Miw3
IEBAIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VTY29wZTo6flN0eWxlQ2hhbmdl
U2NvcGUoKQogICAgIH07CiAKICAgICBpZiAoY2hhbmdlZEZyb21IaWRkZW5Ub1Zpc2libGUoKSAm
JiBpc0NvbnNpZGVyZWRDbGlja2FibGUobV9lbGVtZW50LCBtX2hhZFJlbmRlcmVyID8gRWxlbWVu
dEhhZFJlbmRlcmVyOjpZZXMgOiBFbGVtZW50SGFkUmVuZGVyZXI6Ok5vKSkKLSAgICAgICAgbV9j
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKKyAgICAg
ICAgbV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2UobV9l
bGVtZW50KTsKIH0KIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDFjMmI0ZDA4ZTZkYjI0
MzA1MjkxYTFlYTFjODZlYjYzNmUzZjM1MjYuLjMwOTRlMjg0NjRmZTkxYjU1YmY2NWNlMmUxYmI3
YzNhZDY2ZjgyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFu
Z2VPYnNlcnZlci5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlk
UmVjb2duaXplTG9uZ1ByZXNzKCk7CiAKLSAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hh
bmdlKCk7CisgICAgdm9pZCBjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShjb25zdCBFbGVtZW50
Jik7CiAKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVET01UaW1lclNjaGVkdWxpbmdBbmRUcmFu
c2l0aW9ucyhib29sKTsKICAgICBib29sIGlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9pc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZzsgfQpAQCAtMTU5
LDExICsxNTksMTYgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudFZpc2li
aWxpdHlDaGFuZ2U7IH0KICAgICBib29sIGhhc09ic2VydmVkRE9NVGltZXIoKSBjb25zdCB7IHJl
dHVybiAhbV9ET01UaW1lckxpc3QuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNPYnNlcnZlZFRy
YW5zaXRpb24oKSBjb25zdCB7IHJldHVybiAhbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uLmlzRW1w
dHkoKTsgfQotICAgIGJvb2wgaGFzRGV0ZXJtaW5hdGVTdGF0ZSgpIGNvbnN0OwogCiAgICAgdm9p
ZCBzZXRJc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQoYm9vbCBpc0JldHdlZW4pIHsgbV9p
c0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgPSBpc0JldHdlZW47IH0KICAgICBib29sIGlz
QmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNCZXR3ZWVu
VG91Y2hFbmRBbmRNb3VzZU1vdmVkOyB9CiAKKyAgICB2b2lkIHNldFRvdWNoRXZlbnRJc0JlaW5n
RGlzcGF0Y2hlZChib29sIGRpc3BhdGNoaW5nKSB7IG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRj
aGVkID0gZGlzcGF0Y2hpbmc7IH0KKyAgICBib29sIGlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkOyB9CisKKyAg
ICB2b2lkIHNldE1vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKGJvb2wgZGlzcGF0Y2hp
bmcpIHsgbV9tb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGRpc3BhdGNoaW5nOyB9
CisgICAgYm9vbCBpc01vdXNlTW92ZWRFdmVudEJlaW5nRGlzcGF0Y2hlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQ7IH0KKwogICAgIGJvb2wgaGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgeyByZXR1cm4gaGFzT2JzZXJ2ZWRET01UaW1lcigpIHx8
IGhhc09ic2VydmVkVHJhbnNpdGlvbigpIHx8IG1faXNXYWl0aW5nRm9yU3R5bGVSZWNhbGMgfHwg
aXNPYnNlcnZhdGlvblRpbWVXaW5kb3dBY3RpdmUoKTsgfQogICAgIGJvb2wgaXNPYnNlcnZhdGlv
blRpbWVXaW5kb3dBY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRPYnNlcnZhdGlvblRp
bWVyLmlzQWN0aXZlKCk7IH0KIApAQCAtMjAyLDYgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgSGFz
aFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxlUmVuZGVy
ZXI7CiAgICAgV0tDb250ZW50Q2hhbmdlIG1fb2JzZXJ2ZWRDb250ZW50U3RhdGUgeyBXS0NvbnRl
bnROb0NoYW5nZSB9OwogICAgIFdlYWtQdHI8RWxlbWVudD4gbV9oaWRkZW5Ub3VjaFRhcmdldEVs
ZW1lbnQ7CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX3Zpc2liaWxpdHlDYW5kaWRhdGVFbGVtZW50
OwogICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
SW5PYnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKQEAgLTIxNCw5ICsyMjAsOSBAQCBwcml2
YXRlOgogCiBpbmxpbmUgYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2aW5nQ29u
dGVudENoYW5nZXMoKSBjb25zdAogewotICAgIHJldHVybiBtX3RvdWNoRXZlbnRJc0JlaW5nRGlz
cGF0Y2hlZAotICAgICAgICB8fCBtX2lzQmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZAotICAg
ICAgICB8fCBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkCisgICAgcmV0dXJuIGlz
VG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpCisgICAgICAgIHx8IGlzQmV0d2VlblRvdWNoRW5k
QW5kTW91c2VNb3ZlZCgpCisgICAgICAgIHx8IGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRj
aGVkKCkKICAgICAgICAgfHwgbV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkCiAgICAg
ICAgIHx8IG1faXNJbk9ic2VydmVkU3R5bGVSZWNhbGMKICAgICAgICAgfHwgaXNPYnNlcnZhdGlv
blRpbWVXaW5kb3dBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YTZkYzE5MWJkYWVhMWRiYzIzN2E5NmQ4NTNk
NmI4OTZmMjFlNTM3Li4yYThkZmRmYTExMzU5NWIxMWUzYmQ3NDMwNDM3Nzc2NGZhZjZiZWQzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDgtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBEaXNwYXRjaCBzeW50
aGV0aWMgY2xpY2sgd2hlbiB0aGUgdmlzaWJpbGl0eSBjYW5kaWRhdGUgZWxlbWVudCBiZWNvbWVz
IGhpZGRlbiBhZ2Fpbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMDc3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTE3Mjg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90
b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNpYmxl
LWFuZC10by1oaWRkZW4tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vZ29pbmctZnJvbS1oaWRkZW4tdG8tdmlz
aWJsZS1hbmQtdG8taGlkZGVuLmh0bWw6IEFkZGVkLgorCiAyMDE5LTA4LTE0ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBWYXJpYWJs
ZXMgc2hvdWxkbid0IGJlIGFibGUgdG8gaGF2ZSB2b2lkIHR5cGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL2dvaW5nLWZy
b20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhpZGRlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9t
LWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY3N2UzYTMxZTRkMjc1OTNhYTk0ZGJkNjM3YTQ1M2FmOGNlZGRkNzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlv
bi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMiBAQAorUEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBzaG93biBiZWxvdy4K
K2NsaWNrZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9j
b250ZW50LW9ic2VydmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhp
ZGRlbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2Jz
ZXJ2YXRpb24vZ29pbmctZnJvbS1oaWRkZW4tdG8tdmlzaWJsZS1hbmQtdG8taGlkZGVuLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDk1MWUyYzM4ZTI5OThiZWVmNjk5NDBkNTY1YTU4MmQxZTYyNDczMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50
LW9ic2VydmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhpZGRlbi5o
dG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPHRp
dGxlPlRoaXMgdGVzdHMgdGhlIGNhc2Ugd2hlbiB2aXNpYmxlIGFuZCBhY3Rpb25hYmxlIGNvbnRl
bnQgc2hvd3MgdXAgYW5kIGdldHMgZGVzdHJveWVkIHJpZ2h0IGF3YXkuPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KKyN0YXBUaGlzIHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKK30KKworI3dpbGxCZWNvbWVWaXNpYmxl
TW9tZW50YXJpbHkgeworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgd2lkdGg6IDEwMHB4OworICAg
IGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxl
PgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lciB8fCAhdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q29u
dGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCh0cnVlKTsKKworICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHRhcFRoaXMpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8ZGl2IGlkPXRhcFRoaXM+UEFTUyBpZiAnY2xpY2tlZCcg
dGV4dCBpcyBzaG93biBiZWxvdy48L2Rpdj4KKzxkaXYgaWQ9d2lsbEJlY29tZVZpc2libGVNb21l
bnRhcmlseT48L2Rpdj4KKzxwcmUgaWQ9cmVzdWx0PjwvcHJlPgorPHNjcmlwdD4KK3RhcFRoaXMu
YWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsIGZ1bmN0aW9uKCBldmVudCApIHsKKwl3aWxs
QmVjb21lVmlzaWJsZU1vbWVudGFyaWx5LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOworfSwgZmFs
c2UpOworCit0YXBUaGlzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsIGZ1bmN0aW9uKCBl
dmVudCApIHsKKwl3aWxsQmVjb21lVmlzaWJsZU1vbWVudGFyaWx5LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7Cit9LCBmYWxzZSk7CisKK3dpbGxCZWNvbWVWaXNpYmxlTW9tZW50YXJpbHkuYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgcmVzdWx0LmlubmVy
SFRNTCA9ICJjbGlja2VkIHdpbGxCZWNvbWVWaXNpYmxlTW9tZW50YXJpbHkiOworfSwgZmFsc2Up
OworCit0YXBUaGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oIGV2ZW50ICkg
eyAgIAorICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiY2xpY2tlZCI7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30sIGZhbHNlKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376401</attachid>
            <date>2019-08-15 11:47:54 -0700</date>
            <delta_ts>2019-08-15 15:19:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200773-20190815114754.patch</filename>
            <type>text/plain</type>
            <size>18609</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY0ZmYzODZkMjExYTFh
Yjk3OTNlZDlkNGQxNjY4MzFkZWFjMzNjNS4uZTdjNjYyYmIwMTRmMjJiZDI5OTUwNTc1M2UyOWE0
OTliZTNkNThjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTA4LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gRGlzcGF0Y2ggc3ludGhldGljIGNsaWNrIHdoZW4gdGhlIHZpc2liaWxpdHkgY2FuZGlk
YXRlIGVsZW1lbnQgYmVjb21lcyBoaWRkZW4gYWdhaW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3NzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU0MzUxNzI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXNlIHdoZW4gdGhlIGNhbmRpZGF0ZSBlbGVtZW50IChn
b2luZyBmcm9tIGhpZGRlbiB0byB2aXNpYmxlKSBiZWNvbWVzIGhpZGRlbiBieSB0aGUgZW5kIG9m
IHRoZSBvYnNlcnZhdGlvbiB3aW5kb3cuIEl0IGVzc2VudGlhbGx5IG1lYW5zIHRoYXQgbm8gdmlz
aWJsZSBjaGFuZ2UgaGFzIGhhcHBlbmVkCisgICAgICAgIGFuZCB3ZSBzaG91bGQgcHJvY2VlZCB3
aXRoIGRpc3BhdGNoaW5nIHRoZSBzeW50aGV0aWMgY2xpY2sgZXZlbnQuCisgICAgICAgIFdlIG5v
dyBrZWVwIHRyYWNrIG9mIHRoZSBjYW5kaWRhdGUgZWxlbWVudCBhbmQgcmVzZXQgdGhlIHZpc2li
bGl0eSBzdGF0ZSB3aGVuIGl0IGxvc2VzIGl0cyByZW5kZXJlci4KKworICAgICAgICBUZXN0OiBm
YXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRl
bi10by12aXNpYmxlLWFuZC10by1oaWRkZW4uaHRtbAorCisgICAgICAgICogcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6ZGlkQWRkVHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlbmRlcmVyV2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3VjaEV2ZW50RGlk
U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp0b3VjaEV2
ZW50RGlkRmluaXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
bW91c2VNb3ZlZERpZFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6bW91c2VNb3ZlZERpZEZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpTdHlsZUNoYW5nZVNjb3BlOjp+U3R5bGVDaGFuZ2VTY29wZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRl
U3RhdGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VP
YnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoYXNP
YnNlcnZlZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5n
ZU9ic2VydmVyOjpzZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc1RvdWNoRXZlbnRCZWluZ0Rpc3BhdGNoZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpzZXRNb3Vz
ZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRjaGVkIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZpbmdDb250
ZW50Q2hhbmdlcyBjb25zdCk6CisKIDIwMTktMDgtMTUgIFRoaWJhdWx0IFNhdW5pZXIgIDx0c2F1
bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dlYlJUQ106IG9wZW5oMjY0
IGVuY29kZXIgYml0cmF0ZSBpcyBpbiBiaXRzIHBlciBzZWNvbmQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IGE3MDUxMGYwYTJl
NzQzNjIwOGU0ZjI4MzgwZGY3OTFmNmZhYzQ0MjEuLjdmNTY4YmZiNmM5MWMxZjZhMTg3ZGZmYmFk
NmE2OTc4YWY2ZTliMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVu
dENoYW5nZU9ic2VydmVyLmNwcApAQCAtMjE0LDYgKzIxNCw4IEBAIHZvaWQgQ29udGVudENoYW5n
ZU9ic2VydmVyOjpkaWRBZGRUcmFuc2l0aW9uKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IEFuaW1hCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkp
CiAgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWlzT2JzZXJ2aW5nQ29udGVudENoYW5nZXMoKSkK
KyAgICAgICAgcmV0dXJuOwogICAgIGlmICghaXNPYnNlcnZpbmdUcmFuc2l0aW9ucygpKQogICAg
ICAgICByZXR1cm47CiAgICAgaWYgKCF0cmFuc2l0aW9uLmlzRHVyYXRpb25TZXQoKSB8fCAhdHJh
bnNpdGlvbi5pc1Byb3BlcnR5U2V0KCkpCkBAIC0yNTEsNyArMjUzLDcgQEAgdm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVu
dCwgQ1NTUHJvcGUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAo
aXNDb25zaWRlcmVkQ2xpY2thYmxlKCp0YXJnZXRFbGVtZW50LCBFbGVtZW50SGFkUmVuZGVyZXI6
OlllcykpCi0gICAgICAgICAgICB3ZWFrVGhpcy0+Y29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Uo
KTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jb250ZW50VmlzaWJpbGl0eURpZENoYW5nZSgqdGFy
Z2V0RWxlbWVudCk7CiAgICAgICAgIHdlYWtUaGlzLT5hZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50
OjpDb21wbGV0ZWRUcmFuc2l0aW9uKTsKICAgICB9KTsKIH0KQEAgLTI3MSwxNCArMjczLDE2IEBA
IHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9N
VGltZXImIHRpbWVyLCBTZWNvbmRzIHRpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50LnNldHRpbmdz
KCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAg
aWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgfHwgIXNpbmds
ZVNob3QpCisgICAgaWYgKCFpc09ic2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkpCiAgICAgICAg
IHJldHVybjsKICAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCiAgICAgICAgIHJldHVy
bjsKKyAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBpZiAodGltZW91dCA+IG1heGltdW1EZWxheUZvclRpbWVycyB8
fCAhc2luZ2xlU2hvdCkKKyAgICAgICAgcmV0dXJuOwogICAgIExPR19XSVRIX1NUUkVBTShDb250
ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8PCAiZGlkSW5zdGFsbERPTVRpbWVyOiByZWdpc3RlciB0
aGlzIHRpbWVyOiAoIiA8PCAmdGltZXIgPDwgIikgYW5kIG9ic2VydmUgd2hlbiBpdCBmaXJlcy4i
KTsKIAogICAgIHJlZ2lzdGVyRE9NVGltZXIodGltZXIpOwpAQCAtMzU5LDEyICszNjMsMTUgQEAg
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0KCkKIHsKICAgICBzdG9wT2JzZXJ2aW5n
UGVuZGluZ0FjdGl2aXRpZXMoKTsKICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7CisKKyAgICBz
ZXRUb3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogICAgIHNldElzQmV0d2VlblRv
dWNoRW5kQW5kTW91c2VNb3ZlZChmYWxzZSk7CisgICAgc2V0TW91c2VNb3ZlZEV2ZW50SXNCZWlu
Z0Rpc3BhdGNoZWQoZmFsc2UpOwogCi0gICAgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQg
PSBmYWxzZTsKICAgICBtX2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjID0gZmFsc2U7CiAgICAgbV9v
YnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkID0gZmFsc2U7Ci0gICAgbV9tb3VzZU1vdmVk
RXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworCisgICAgbV92aXNpYmlsaXR5Q2FuZGlk
YXRlRWxlbWVudCA9IHsgfTsKIAogICAgIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuc3RvcCgp
OwogICAgIG1fZWxlbWVudHNXaXRoRGVzdHJveWVkVmlzaWJsZVJlbmRlcmVyLmNsZWFyKCk7CkBA
IC0zODksMTcgKzM5NiwyNCBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6cmVuZGVyZXJX
aWxsQmVEZXN0cm95ZWQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0dXJuOwog
ICAgIGlmICghaXNPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgpKQotICAgICAgICByZXR1cm47CiAgICAgTE9H
X1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJyZW5kZXJlcldpbGxC
ZURlc3Ryb3llZCBlbGVtZW50OiAiIDw8ICZlbGVtZW50KTsKIAogICAgIGlmICghaXNWaXN1YWxs
eUhpZGRlbihlbGVtZW50KSkKICAgICAgICAgbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxl
UmVuZGVyZXIuYWRkKCZlbGVtZW50KTsKKyAgICAvLyBDYW5kaWRhdGUgZWxlbWVudCBpcyBubyBs
b25nZXIgdmlzaWJsZS4KKyAgICBpZiAobV92aXNpYmlsaXR5Q2FuZGlkYXRlRWxlbWVudCA9PSAm
ZWxlbWVudCkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsc28gY2hlY2sgZm9yIG90
aGVyIHR5cGUgb2YgdmlzaWJsaXR5IGNoYW5nZXMuCisgICAgICAgIEFTU0VSVChoYXNWaXNpYmxl
Q2hhbmdlU3RhdGUoKSk7CisgICAgICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQgPSB7
IH07CisgICAgICAgIHNldEhhc0luZGV0ZXJtaW5hdGVTdGF0ZSgpOworICAgIH0KIH0KIAotdm9p
ZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hhbmdlKCkKK3Zv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShjb25z
dCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJjb250
ZW50VmlzaWJpbGl0eURpZENoYW5nZTogdmlzaWJsZSBjb250ZW50IGNoYW5nZSBkaWQgaGFwcGVu
LiIpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBldm9sdmUgaW50byBhIGxpc3Qgb2YgY2Fu
ZGlkYXRlIGVsZW1lbnRzLgorICAgIG1fdmlzaWJpbGl0eUNhbmRpZGF0ZUVsZW1lbnQgPSBtYWtl
V2Vha1B0cihlbGVtZW50KTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpDb250ZW50
VmlzaWJpbGl0eUNoYW5nZWQpOwogfQogCkBAIC00MTEsNyArNDI1LDcgQEAgdm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRTdGFydChQbGF0Zm9ybUV2ZW50OjpUeXBlIGV2
ZW50VHlwZSkKICAgICBpZiAoZXZlbnRUeXBlICE9IFBsYXRmb3JtRXZlbnQ6OlR5cGU6OlRvdWNo
U3RhcnQpCiAgICAgICAgIHJldHVybjsKICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAidG91
Y2hFdmVudERpZFN0YXJ0OiB0b3VjaCBzdGFydCBldmVudCBzdGFydGVkLiIpOwotICAgIG1fdG91
Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRUb3VjaEV2ZW50SXNCZWlu
Z0Rpc3BhdGNoZWQodHJ1ZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6U3RhcnRl
ZFRvdWNoU3RhcnRFdmVudERpc3BhdGNoaW5nKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGV2
ZW50VHlwZSk7CkBAIC00MjEsMTEgKzQzNSwxMSBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZl
cjo6dG91Y2hFdmVudERpZFN0YXJ0KFBsYXRmb3JtRXZlbnQ6OlR5cGUgZXZlbnRUeXBlKQogdm9p
ZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnRvdWNoRXZlbnREaWRGaW5pc2goKQogewogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCi0gICAgaWYgKCFtX3RvdWNoRXZlbnRJc0JlaW5nRGlzcGF0Y2hl
ZCkKKyAgICBpZiAoIWlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpKQogICAgICAgICByZXR1
cm47CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2
ZXJFbmFibGVkKCkpOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJ0b3VjaEV2ZW50RGlk
RmluaXNoOiB0b3VjaCBzdGFydCBldmVudCBmaW5pc2hlZC4iKTsKLSAgICBtX3RvdWNoRXZlbnRJ
c0JlaW5nRGlzcGF0Y2hlZCA9IGZhbHNlOworICAgIHNldFRvdWNoRXZlbnRJc0JlaW5nRGlzcGF0
Y2hlZChmYWxzZSk7CiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6RW5kZWRUb3VjaFN0
YXJ0RXZlbnREaXNwYXRjaGluZyk7CiAjZW5kaWYKIH0KQEAgLTQzNSwxOCArNDQ5LDE4IEBAIHZv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjptb3VzZU1vdmVkRGlkU3RhcnQoKQogICAgIGlmICgh
bV9kb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJtb3VzZU1vdmVkRGlk
U3RhcnQ6IG1vdXNlTW92ZWQgc3RhcnRlZC4iKTsKLSAgICBtX21vdXNlTW92ZWRFdmVudElzQmVp
bmdEaXNwYXRjaGVkID0gdHJ1ZTsKKyAgICBzZXRNb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0
Y2hlZCh0cnVlKTsKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpTdGFydGVkTW91c2VN
b3ZlZEV2ZW50RGlzcGF0Y2hpbmcpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
bW91c2VNb3ZlZERpZEZpbmlzaCgpCiB7Ci0gICAgaWYgKCFtX21vdXNlTW92ZWRFdmVudElzQmVp
bmdEaXNwYXRjaGVkKQorICAgIGlmICghaXNNb3VzZU1vdmVkRXZlbnRCZWluZ0Rpc3BhdGNoZWQo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChtX2RvY3VtZW50LnNldHRpbmdzKCkuY29u
dGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKTsKICAgICBMT0coQ29udGVudE9ic2VydmF0aW9u
LCAibW91c2VNb3ZlZERpZEZpbmlzaDogbW91c2VNb3ZlZCBmaW5pc2hlZC4iKTsKICAgICBhZGp1
c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpFbmRlZE1vdXNlTW92ZWRFdmVudERpc3BhdGNoaW5nKTsK
LSAgICBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkID0gZmFsc2U7CisgICAgc2V0
TW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQoZmFsc2UpOwogfQogCiB2b2lkIENvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6c2V0U2hvdWxkT2JzZXJ2ZU5leHRTdHlsZVJlY2FsYyhib29sIHNo
b3VsZE9ic2VydmUpCkBAIC00NTYsMTMgKzQ3MCw2IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2Vy
dmVyOjpzZXRTaG91bGRPYnNlcnZlTmV4dFN0eWxlUmVjYWxjKGJvb2wgc2hvdWxkT2JzZXJ2ZSkK
ICAgICBtX2lzV2FpdGluZ0ZvclN0eWxlUmVjYWxjID0gc2hvdWxkT2JzZXJ2ZTsKIH0KIAotYm9v
bCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRlU3RhdGUoKSBjb25zdAotewot
ICAgIGlmIChoYXNWaXNpYmxlQ2hhbmdlU3RhdGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlICYm
ICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKLX0KLQogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6
OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiB7CiAgICAgYXV0byByZXNldFRvU3Rh
cnRPYnNlcnZpbmcgPSBbJl0gewpAQCAtNDc3LDI3ICs0ODQsMzQgQEAgdm9pZCBDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiAgICAgfTsKIAog
ICAgIGF1dG8gbm90aWZ5Q2xpZW50SWZOZWVkZWQgPSBbJl0gewotICAgICAgICAvLyBGaXJzdCBk
ZW1vdGUgdG8gIm5vIGNoYW5nZSIgaWYgdGhlcmUncyBubyBwZW5kaW5nIGFjdGl2aXR5IGFueW1v
cmUuCi0gICAgICAgIGlmIChvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSA9PSBXS0NvbnRlbnRJbmRl
dGVybWluYXRlQ2hhbmdlICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKSkKLSAgICAgICAgICAgIHNl
dEhhc05vQ2hhbmdlU3RhdGUoKTsKLQorICAgICAgICBpZiAoaXNUb3VjaEV2ZW50QmVpbmdEaXNw
YXRjaGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3RpZnlD
bGllbnRJZk5lZWRlZDogVG91Y2ggZXZlbnQgaXMgYmVpbmcgZGlzcGF0Y2hlZC4gTm8gbmVlZCB0
byBub3RpZnkgdGhlIGNsaWVudC4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQog
ICAgICAgICBpZiAoaXNCZXR3ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkKCkpIHsKLSAgICAgICAg
ICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJhZGp1c3RTdGF0ZUFuZE5vdGlmeUNvbnRlbnRD
aGFuZ2VJZk5lZWRlZDogTm90IHJlYWNoZWQgbW91c2VNb3ZlZCB5ZXQuIE5vIG5lZWQgdG8gbm90
aWZ5IHRoZSBjbGllbnQuIik7CisgICAgICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAi
bm90aWZ5Q2xpZW50SWZOZWVkZWQ6IE5vdCByZWFjaGVkIG1vdXNlTW92ZWQgeWV0LiBObyBuZWVk
IHRvIG5vdGlmeSB0aGUgY2xpZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
Ci0gICAgICAgIGlmIChtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKSB7Ci0gICAg
ICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlDb250
ZW50Q2hhbmdlSWZOZWVkZWQ6IGluIG1vdXNlTW92ZWQgY2FsbC4gTm8gbmVlZCB0byBub3RpZnkg
dGhlIGNsaWVudC4iKTsKKyAgICAgICAgaWYgKGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRj
aGVkKCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJub3RpZnlDbGll
bnRJZk5lZWRlZDogaW4gbW91c2VNb3ZlZCBjYWxsLiBObyBuZWVkIHRvIG5vdGlmeSB0aGUgY2xp
ZW50LiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGlmIChpc09i
c2VydmF0aW9uVGltZVdpbmRvd0FjdGl2ZSgpKSB7Ci0gICAgICAgICAgICBMT0coQ29udGVudE9i
c2VydmF0aW9uLCAiYWRqdXN0U3RhdGVBbmROb3RpZnlDb250ZW50Q2hhbmdlSWZOZWVkZWQ6IElu
c2lkZSB0aGUgZml4ZWQgd2luZG93IG9ic2VydmF0aW9uLiBObyBuZWVkIHRvIG5vdGlmeSB0aGUg
Y2xpZW50LiIpOworICAgICAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIm5vdGlmeUNs
aWVudElmTmVlZGVkOiBJbnNpZGUgdGhlIGZpeGVkIHdpbmRvdyBvYnNlcnZhdGlvbi4gTm8gbmVl
ZCB0byBub3RpZnkgdGhlIGNsaWVudC4iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBpZiAoIWhhc0RldGVybWluYXRlU3RhdGUoKSkgewotICAgICAgICAgICAgTE9H
KENvbnRlbnRPYnNlcnZhdGlvbiwgImFkanVzdFN0YXRlQW5kTm90aWZ5Q29udGVudENoYW5nZUlm
TmVlZGVkOiBub3QgaW4gYSBkZXRlcm1pbmVkIHN0YXRlIHlldC4iKTsKKworICAgICAgICAvLyBU
aGUgZml4ZWQgb2JzZXJ2YXRpb24gd2luZG93ICh3aGljaCBpcyB0aGUgZmluYWwgc3RlcCBpbiBj
b250ZW50IG9ic2VydmF0aW9uKSBpcyBjbG9zZWQgYW5kIG5vdyB3ZSBjaGVjayBpZiBhcmUgc3Rp
bGwgd2FpdGluZyBmb3IgdGltZXJzIG9yIGFuaW1hdGlvbnMgdG8gZmluaXNoLgorICAgICAgICBp
ZiAoaGFzUGVuZGluZ0FjdGl2aXR5KCkpIHsKKyAgICAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2
YXRpb24sICJub3RpZnlDbGllbnRJZk5lZWRlZDogV2UgYXJlIHN0aWxsIHdhaXRpbmcgb24gc29t
ZSBldmVudHMuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgTE9H
X1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJhZGp1c3RTdGF0ZUFu
ZE5vdGlmeUNvbnRlbnRDaGFuZ2VJZk5lZWRlZDogc2VuZGluZyBvYnNlcnZlZENvbnRlbnRDaGFu
Z2UgLT4iIDw8IG9ic2VydmVkQ29udGVudENoYW5nZSgpKTsKKworICAgICAgICAvLyBGaXJzdCBk
ZW1vdGUgdG8gIm5vIGNoYW5nZSIgYmVjYXVzZSB3ZSd2ZSBnb3Qgbm8gcGVuZGluZyBhY3Rpdml0
eSBhbnltb3JlLgorICAgICAgICBpZiAob2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tDb250
ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSkKKyAgICAgICAgICAgIHNldEhhc05vQ2hhbmdlU3RhdGUo
KTsKKworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0g
PDwgIm5vdGlmeUNsaWVudElmTmVlZGVkOiBzZW5kaW5nIG9ic2VydmVkQ29udGVudENoYW5nZSAt
PiIgPDwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1bWVu
dC5wYWdlKCkpOwogICAgICAgICBBU1NFUlQobV9kb2N1bWVudC5mcmFtZSgpKTsKICAgICAgICAg
bV9kb2N1bWVudC5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmRpZEZpbmlzaENvbnRlbnRDaGFu
Z2VPYnNlcnZpbmcoKm1fZG9jdW1lbnQuZnJhbWUoKSwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkp
OwpAQCAtNTk1LDcgKzYwOSw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjphZGp1c3RP
YnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQogICAgIH0KICAgICAvLyBFaXRoZXIgdGhlIHBhZ2Ug
ZGVjaWRlZCB0byBjYWxsIHByZXZlbnREZWZhdWx0IG9uIHRoZSB0b3VjaCBhY3Rpb24gb3IgdGhl
IHRhcCBnZXN0dXJlIGV2b2x2ZWQgdG8gc29tZSBvdGhlciBnZXN0dXJlIChsb25nIHByZXNzLCBk
b3VibGUgdGFwKS4gCiAgICAgaWYgKGV2ZW50ID09IEV2ZW50OjpXaWxsTm90UHJvY2VlZFdpdGhD
bGljaykgewotICAgICAgICByZXNldCgpOworICAgICAgICBzdG9wQ29udGVudE9ic2VydmF0aW9u
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gVGhlIHBhZ2UgcHJvZHVjZWQgYW4g
dmlzaWJsZSBjaGFuZ2Ugb24gYW4gYWN0aW9uYWJsZSBjb250ZW50LgpAQCAtNjI4LDcgKzY0Miw3
IEBAIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VTY29wZTo6flN0eWxlQ2hhbmdl
U2NvcGUoKQogICAgIH07CiAKICAgICBpZiAoY2hhbmdlZEZyb21IaWRkZW5Ub1Zpc2libGUoKSAm
JiBpc0NvbnNpZGVyZWRDbGlja2FibGUobV9lbGVtZW50LCBtX2hhZFJlbmRlcmVyID8gRWxlbWVu
dEhhZFJlbmRlcmVyOjpZZXMgOiBFbGVtZW50SGFkUmVuZGVyZXI6Ok5vKSkKLSAgICAgICAgbV9j
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKKyAgICAg
ICAgbV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2UobV9l
bGVtZW50KTsKIH0KIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDFjMmI0ZDA4ZTZkYjI0
MzA1MjkxYTFlYTFjODZlYjYzNmUzZjM1MjYuLjMwOTRlMjg0NjRmZTkxYjU1YmY2NWNlMmUxYmI3
YzNhZDY2ZjgyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFu
Z2VPYnNlcnZlci5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlk
UmVjb2duaXplTG9uZ1ByZXNzKCk7CiAKLSAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hh
bmdlKCk7CisgICAgdm9pZCBjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZShjb25zdCBFbGVtZW50
Jik7CiAKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVET01UaW1lclNjaGVkdWxpbmdBbmRUcmFu
c2l0aW9ucyhib29sKTsKICAgICBib29sIGlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9pc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZzsgfQpAQCAtMTU5
LDExICsxNTksMTYgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudFZpc2li
aWxpdHlDaGFuZ2U7IH0KICAgICBib29sIGhhc09ic2VydmVkRE9NVGltZXIoKSBjb25zdCB7IHJl
dHVybiAhbV9ET01UaW1lckxpc3QuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNPYnNlcnZlZFRy
YW5zaXRpb24oKSBjb25zdCB7IHJldHVybiAhbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uLmlzRW1w
dHkoKTsgfQotICAgIGJvb2wgaGFzRGV0ZXJtaW5hdGVTdGF0ZSgpIGNvbnN0OwogCiAgICAgdm9p
ZCBzZXRJc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQoYm9vbCBpc0JldHdlZW4pIHsgbV9p
c0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgPSBpc0JldHdlZW47IH0KICAgICBib29sIGlz
QmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNCZXR3ZWVu
VG91Y2hFbmRBbmRNb3VzZU1vdmVkOyB9CiAKKyAgICB2b2lkIHNldFRvdWNoRXZlbnRJc0JlaW5n
RGlzcGF0Y2hlZChib29sIGRpc3BhdGNoaW5nKSB7IG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRj
aGVkID0gZGlzcGF0Y2hpbmc7IH0KKyAgICBib29sIGlzVG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkOyB9CisKKyAg
ICB2b2lkIHNldE1vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkKGJvb2wgZGlzcGF0Y2hp
bmcpIHsgbV9tb3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCA9IGRpc3BhdGNoaW5nOyB9
CisgICAgYm9vbCBpc01vdXNlTW92ZWRFdmVudEJlaW5nRGlzcGF0Y2hlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQ7IH0KKwogICAgIGJvb2wgaGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgeyByZXR1cm4gaGFzT2JzZXJ2ZWRET01UaW1lcigpIHx8
IGhhc09ic2VydmVkVHJhbnNpdGlvbigpIHx8IG1faXNXYWl0aW5nRm9yU3R5bGVSZWNhbGMgfHwg
aXNPYnNlcnZhdGlvblRpbWVXaW5kb3dBY3RpdmUoKTsgfQogICAgIGJvb2wgaXNPYnNlcnZhdGlv
blRpbWVXaW5kb3dBY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRPYnNlcnZhdGlvblRp
bWVyLmlzQWN0aXZlKCk7IH0KIApAQCAtMjAyLDYgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgSGFz
aFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxlUmVuZGVy
ZXI7CiAgICAgV0tDb250ZW50Q2hhbmdlIG1fb2JzZXJ2ZWRDb250ZW50U3RhdGUgeyBXS0NvbnRl
bnROb0NoYW5nZSB9OwogICAgIFdlYWtQdHI8RWxlbWVudD4gbV9oaWRkZW5Ub3VjaFRhcmdldEVs
ZW1lbnQ7CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX3Zpc2liaWxpdHlDYW5kaWRhdGVFbGVtZW50
OwogICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
SW5PYnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKQEAgLTIxNCw5ICsyMjAsOSBAQCBwcml2
YXRlOgogCiBpbmxpbmUgYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2aW5nQ29u
dGVudENoYW5nZXMoKSBjb25zdAogewotICAgIHJldHVybiBtX3RvdWNoRXZlbnRJc0JlaW5nRGlz
cGF0Y2hlZAotICAgICAgICB8fCBtX2lzQmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZAotICAg
ICAgICB8fCBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkCisgICAgcmV0dXJuIGlz
VG91Y2hFdmVudEJlaW5nRGlzcGF0Y2hlZCgpCisgICAgICAgIHx8IGlzQmV0d2VlblRvdWNoRW5k
QW5kTW91c2VNb3ZlZCgpCisgICAgICAgIHx8IGlzTW91c2VNb3ZlZEV2ZW50QmVpbmdEaXNwYXRj
aGVkKCkKICAgICAgICAgfHwgbV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkCiAgICAg
ICAgIHx8IG1faXNJbk9ic2VydmVkU3R5bGVSZWNhbGMKICAgICAgICAgfHwgaXNPYnNlcnZhdGlv
blRpbWVXaW5kb3dBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YTZkYzE5MWJkYWVhMWRiYzIzN2E5NmQ4NTNk
NmI4OTZmMjFlNTM3Li5mODViNjVhMmE4NTgyMGM1YTU4YTdmODBiZjMyZDY2NzkxYWIyMjJjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDgtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBEaXNwYXRjaCBzeW50
aGV0aWMgY2xpY2sgd2hlbiB0aGUgdmlzaWJpbGl0eSBjYW5kaWRhdGUgZWxlbWVudCBiZWNvbWVz
IGhpZGRlbiBhZ2Fpbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMDc3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTE3Mjg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91
Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vZ29pbmctZnJvbS1oaWRkZW4tdG8tdmlzaWJsZS1h
bmQtdG8taGlkZGVuLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2li
bGUtYW5kLXRvLWhpZGRlbi5odG1sOiBBZGRlZC4KKwogMjAxOS0wOC0xNCAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSExTTF0gVmFyaWFibGVz
IHNob3VsZG4ndCBiZSBhYmxlIHRvIGhhdmUgdm9pZCB0eXBlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9t
LWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vZ29pbmctZnJvbS1o
aWRkZW4tdG8tdmlzaWJsZS1hbmQtdG8taGlkZGVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NzdlM2EzMWU0ZDI3NTkzYWE5NGRiZDYzN2E0NTNhZjhjZWRkZDc4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24v
Z29pbmctZnJvbS1oaWRkZW4tdG8tdmlzaWJsZS1hbmQtdG8taGlkZGVuLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIgQEAKK1BBU1MgaWYgJ2NsaWNrZWQnIHRleHQgaXMgc2hvd24gYmVsb3cuCitj
bGlja2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29u
dGVudC1vYnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRk
ZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2Vy
dmF0aW9uL2dvaW5nLWZyb20taGlkZGVuLXRvLXZpc2libGUtYW5kLXRvLWhpZGRlbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA5NTFlMmMzOGUyOTk4YmVlZjY5OTQwZDU2NWE1ODJkMWU2MjQ3MzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1v
YnNlcnZhdGlvbi9nb2luZy1mcm9tLWhpZGRlbi10by12aXNpYmxlLWFuZC10by1oaWRkZW4uaHRt
bApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5UaGlzIHRlc3RzIHRoZSBjYXNlIHdoZW4gdmlzaWJsZSBhbmQgYWN0aW9uYWJsZSBjb250ZW50
IHNob3dzIHVwIGFuZCBnZXRzIGRlc3Ryb3llZCByaWdodCBhd2F5LjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CisjdGFwVGhpcyB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7
CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Cit9CisKKyN3aWxsQmVjb21lVmlzaWJsZU1v
bWVudGFyaWx5IHsKKyAgICBkaXNwbGF5OiBub25lOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4K
KzxzY3JpcHQ+Cithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIgfHwgIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisgICAgICAgIHJldHVybjsKKyAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENvbnRl
bnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQodHJ1ZSk7CisKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudCh0YXBUaGlzKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD10YXBUaGlzPlBBU1MgaWYgJ2NsaWNrZWQnIHRl
eHQgaXMgc2hvd24gYmVsb3cuPC9kaXY+Cis8ZGl2IGlkPXdpbGxCZWNvbWVWaXNpYmxlTW9tZW50
YXJpbHk+PC9kaXY+Cis8cHJlIGlkPXJlc3VsdD48L3ByZT4KKzxzY3JpcHQ+Cit0YXBUaGlzLmFk
ZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBmdW5jdGlvbiggZXZlbnQgKSB7CisJd2lsbEJl
Y29tZVZpc2libGVNb21lbnRhcmlseS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKK30sIGZhbHNl
KTsKKwordGFwVGhpcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbiggZXZl
bnQgKSB7CisJd2lsbEJlY29tZVZpc2libGVNb21lbnRhcmlseS5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworfSwgZmFsc2UpOworCit3aWxsQmVjb21lVmlzaWJsZU1vbWVudGFyaWx5LmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oIGV2ZW50ICkgeworICAgIHJlc3VsdC5pbm5lckhU
TUwgPSAiY2xpY2tlZCB3aWxsQmVjb21lVmlzaWJsZU1vbWVudGFyaWx5IjsKK30sIGZhbHNlKTsK
KwordGFwVGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsg
ICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gImNsaWNrZWQiOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9LCBmYWxzZSk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>