<?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>208285</bug_id>
          
          <creation_ts>2020-02-26 21:27:14 -0800</creation_ts>
          <short_desc>Remove initial layout throttle</short_desc>
          <delta_ts>2020-03-05 10:15:55 -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>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>
          <dependson>208536</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Nham">nham</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jacob_uphoff</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>nham</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>1623374</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2020-02-26 21:27:14 -0800</bug_when>
    <thetext>Remove initial layout throttler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623375</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-26 21:34:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/59835321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623376</commentid>
    <comment_count>2</comment_count>
      <attachid>391837</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2020-02-26 21:35:17 -0800</bug_when>
    <thetext>Created attachment 391837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623377</commentid>
    <comment_count>3</comment_count>
      <attachid>391837</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-02-26 22:41:07 -0800</bug_when>
    <thetext>Comment on attachment 391837
Patch

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

&gt; Source/WebCore/page/SettingsBase.cpp:-67
&gt; -// This amount of time must have elapsed before we will even consider scheduling a layout without a delay.
&gt; -// FIXME: For faster machines this value can really be lowered to 200. 250 is adequate, but a little high
&gt; -// for dual G5s. :)
&gt; -static const Seconds layoutScheduleThreshold = 250_ms;

My dual G5s are going to fly!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623533</commentid>
    <comment_count>4</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2020-02-27 09:51:29 -0800</bug_when>
    <thetext>*** Bug 204031 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623894</commentid>
    <comment_count>5</comment_count>
      <attachid>391966</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2020-02-27 23:48:34 -0800</bug_when>
    <thetext>Created attachment 391966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623978</commentid>
    <comment_count>6</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2020-02-28 09:40:51 -0800</bug_when>
    <thetext>Alan said he could take a look at the layout test issues here, so assigning to him. I already put in a couple workarounds for LayoutTests in the latest patch for ios-wk2:

 - tiled-drawing-async-frame-scrolling.html: the third iframe wasn&apos;t in the render tree, which was causing this to fail; worked around this by waiting for the entire window and all iframes to load before starting the test
 - autoscroll-in-iframe-body.html: I think this was issuing a click event in an iframe before the iframe had rendered

There are also a couple of mac-wk2 layout tests that are failing now that are somewhat similar (they attempt to move/click the mouse after an onload event).

As Alan said, we should probably remove the workarounds and make sure we fully understand the implications of removing the layout timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624939</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-02 21:28:18 -0800</bug_when>
    <thetext>LayoutTests/compositing/tiling/tiled-drawing-async-frame-scrolling.html is fixed at r257752</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625110</commentid>
    <comment_count>8</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 10:18:07 -0800</bug_when>
    <thetext>animations/cross-fade-list-style-image.html is fixed at r257764</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625112</commentid>
    <comment_count>9</comment_count>
      <attachid>392291</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 10:18:40 -0800</bug_when>
    <thetext>Created attachment 392291
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625369</commentid>
    <comment_count>10</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 19:41:49 -0800</bug_when>
    <thetext>fast/images/animated-gif-no-layout.html is fixed at r257811</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625377</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 20:27:45 -0800</bug_when>
    <thetext>fast/events/autoscroll-in-iframe.html fails on trunk (run locally)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625536</commentid>
    <comment_count>12</comment_count>
      <attachid>392417</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-04 08:55:01 -0800</bug_when>
    <thetext>Created attachment 392417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625539</commentid>
    <comment_count>13</comment_count>
      <attachid>392418</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-04 09:02:04 -0800</bug_when>
    <thetext>Created attachment 392418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625629</commentid>
    <comment_count>14</comment_count>
      <attachid>392418</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-04 11:05:02 -0800</bug_when>
    <thetext>Comment on attachment 392418
Patch

Clearing flags on attachment: 392418

Committed r257862: &lt;https://trac.webkit.org/changeset/257862&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625630</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-04 11:05:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626163</commentid>
    <comment_count>16</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-03-05 10:15:55 -0800</bug_when>
    <thetext>The changes made here caused https://bugs.webkit.org/show_bug.cgi?id=208653</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391837</attachid>
            <date>2020-02-26 21:35:17 -0800</date>
            <delta_ts>2020-02-27 23:48:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208285-20200226213517.patch</filename>
            <type>text/plain</type>
            <size>18229</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVhZjk2N2IzOGQzN2Q2
YjI2NTAwNjBhZmE0NDUwNmE0YjFhZWZlMi4uZDM0NDk1OTIzYmM5ZDYyZjFjYmE5YWYyY2M2Yjdj
ZDIxYWU5NTg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTAyLTI2ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0
aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcg
b3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0
aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRo
YXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBv
ZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNh
eXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFs
cmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAg
ICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSk6IERlbGV0ZWQuCisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGFyc2luZyBjb25zdCk6
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZUxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVkdWxlTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0Lmg6CisgICAgICAgICogcGFnZS9TZXR0
aW5nc0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpTZXR0aW5nc0Jh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9TZXR0aW5nc0Jhc2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzQmFzZTo6bGF5b3V0SW50ZXJ2YWwgY29uc3QpOiBEZWxldGVkLgorCiAyMDIw
LTAyLTI2ICBKYWNvYiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTczNzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQzOTc3NjZlNWRh
OTBjMDUwMjA4NjAyYzVlMDFmMmFlZjUxNWFmZjUuLjdjZDQwZTFjYmU5YzUxZjQ4MGIxY2NlZWQ5
YmQ2ZTUzNGE2ZDhkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDItMjYgIEJl
biBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGluaXRpYWwgbGF5b3V0
IHRocm90dGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4Mjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyByZW1vdmVzIGEgdGhyb3R0bGUgdGhhdCBjYW4gcHJldmVudCB1cyBmcm9tIGxheWlu
ZyBvdXQgZHVyaW5nIHRoZSBmaXJzdCAyNTAgbXMgb2YgcGFnZQorICAgICAgICBsb2FkLiBUaGlz
IHRocm90dGxlIGlzIGdlbmVyYWxseSBub3QgZWZmZWN0aXZlIChtYW55IHBhZ2VzIGhhdmUgSlMg
dGhhdCBmb3JjZSBhIHN5bmMgbGF5b3V0CisgICAgICAgIGJlZm9yZSB0aGUgZmlyc3QgMjUwIG1z
IG9mIGxvYWRpbmcpIGFuZCBpcyBhbHNvIGV4dHJlbWVseSBvdXRkYXRlZCAodGhlIGNvbW1lbnQg
c2F5cyB0aGUKKyAgICAgICAgaW50ZXJ2YWwgaXMgdG9vIGhpZ2ggZm9yIGR1YWwgRzVzKS4gV2Ug
YWxyZWFkeSBoYXZlIHRvbyBtYW55IHRocm90dGxlcyBpbiB0b28gbWFueSBwbGFjZXMsCisgICAg
ICAgIHNvIGxldCdzIHJlbW92ZSB0aGlzIG9uZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCiAyMDIwLTAy
LTI2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBT
ZW5kIGZvY3VzIHVwZGF0ZSBpbW1lZGlhdGVseSBvbiBiZWNvbWluZyBvciByZXNpZ25pbmcgZmly
c3QgcmVzcG9uZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMDdjNjVhYmUxM2Ri
ZWRlMGU0OGI5NzVkMTI3ZWNmNTVkNjdjOGNhNi4uZjg4Y2ZlNjcwMTRiMzY5Y2ZjOTFhODBjYzQ2
MDZiM2UwNGY3NTdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIwLTAyLTI2ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBpbml0aWFsIGxheW91dCB0aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHBy
ZXZlbnQgdXMgZnJvbSBsYXlpbmcgb3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UK
KyAgICAgICAgbG9hZC4gVGhpcyB0aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAo
bWFueSBwYWdlcyBoYXZlIEpTIHRoYXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZv
cmUgdGhlIGZpcnN0IDI1MCBtcyBvZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0
ZGF0ZWQgKHRoZSBjb21tZW50IHNheXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdo
IGZvciBkdWFsIEc1cykuIFdlIGFscmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9v
IG1hbnkgcGxhY2VzLAorICAgICAgICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxp
emVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldExheW91dEludGVydmFsOl0pOiBE
ZWxldGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfbGF5b3V0SW50ZXJ2YWxdKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wMi0yNSAgTWVnYW4gR2FyZG5lciAgPG1l
Z2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIEZpeApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggNjBmNWZhNmMyZjUzNjM5ZjdmMjMxNzA0MGFhMTNjYjJkZTgzM2Q4Ny4u
ZDNhZWY3ZjRiNDUyNWNhNzQyNjUzMGMwNDUzM2M2OWM0NGIxYzEwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC0zMDUyLDE0ICszMDUyLDYgQEAgdm9pZCBEb2N1bWVudDo6aW1wbGljaXRD
bG9zZSgpCiAgICAgLy8gZmlyZXMuIFRoaXMgd2lsbCBpbXByb3ZlIG9ubG9hZCBzY29yZXMsIGFu
ZCBvdGhlciBicm93c2VycyBkbyBpdC4KICAgICAvLyBJZiB0aGV5IHdhbm5hIGNoZWF0LCB3ZSBj
YW4gdG9vLiAtZHdoCiAKLSAgICBpZiAoZnJhbWUoKS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLmxv
Y2F0aW9uQ2hhbmdlUGVuZGluZygpICYmIHRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKSA8IHNl
dHRpbmdzKCkubGF5b3V0SW50ZXJ2YWwoKSkgewotICAgICAgICAvLyBKdXN0IGJhaWwgb3V0LiBC
ZWZvcmUgb3IgZHVyaW5nIHRoZSBvbmxvYWQgd2Ugd2VyZSBzaGlmdGVkIHRvIGFub3RoZXIgcGFn
ZS4KLSAgICAgICAgLy8gVGhlIG9sZCBpLUJlbmNoIHN1aXRlIGRvZXMgdGhpcy4gV2hlbiB0aGlz
IGhhcHBlbnMgZG9uJ3QgYm90aGVyIHBhaW50aW5nIG9yIGxheWluZyBvdXQuICAgICAgICAKLSAg
ICAgICAgbV9wcm9jZXNzaW5nTG9hZEV2ZW50ID0gZmFsc2U7Ci0gICAgICAgIHZpZXcoKS0+bGF5
b3V0Q29udGV4dCgpLnVuc2NoZWR1bGVMYXlvdXQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQogICAgIGZyYW1lKCktPmxvYWRlcigpLmNoZWNrQ2FsbEltcGxpY2l0Q2xvc2UoKTsKICAgICAK
ICAgICAvLyBXZSB1c2VkIHRvIGZvcmNlIGEgc3luY2hyb25vdXMgZGlzcGxheSBhbmQgZmx1c2gg
aGVyZS4gIFRoaXMgcmVhbGx5IGlzbid0CkBAIC0zMTMyLDE5ICszMTI0LDcgQEAgYm9vbCBEb2N1
bWVudDo6c2hvdWxkU2NoZWR1bGVMYXlvdXQoKQogICAgIAogYm9vbCBEb2N1bWVudDo6aXNMYXlv
dXRUaW1lckFjdGl2ZSgpCiB7Ci0gICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dENv
bnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhbWluaW11bUxheW91dERlbGF5KCk7Ci19Ci0K
LVNlY29uZHMgRG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSgpCi17Ci0gICAgaWYgKG1fb3Zl
ck1pbmltdW1MYXlvdXRUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiAwX3M7Ci0gICAgCi0gICAg
YXV0byBlbGFwc2VkID0gdGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpOwotICAgIG1fb3Zlck1p
bmltdW1MYXlvdXRUaHJlc2hvbGQgPSBlbGFwc2VkID4gc2V0dGluZ3MoKS5sYXlvdXRJbnRlcnZh
bCgpOwotCi0gICAgLy8gV2UnbGwgd2FudCB0byBzY2hlZHVsZSB0aGUgdGltZXIgdG8gZmlyZSBh
dCB0aGUgbWluaW11bSBsYXlvdXQgdGhyZXNob2xkLgotICAgIHJldHVybiBzdGQ6Om1heCgwX3Ms
IHNldHRpbmdzKCkubGF5b3V0SW50ZXJ2YWwoKSAtIGVsYXBzZWQpOworICAgIHJldHVybiB2aWV3
KCkgJiYgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCk7CiB9CiAKIFNl
Y29uZHMgRG9jdW1lbnQ6OnRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCBiYzIwNWQwOTc1ODFhNTEyMTU2YzBjM2RhNjU2ZDk4OWE2YWIyZWIw
Li5mMzNmMTkwZDIxNWEyZmRlNDRjZGZmMGRlODQyNGIwOWIxYmRmY2U5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtNzMyLDcgKzczMiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlYWR5U3Rh
dGUoUmVhZHlTdGF0ZSk7CiAgICAgdm9pZCBzZXRQYXJzaW5nKGJvb2wpOwogICAgIGJvb2wgcGFy
c2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYlBhcnNpbmc7IH0KLSAgICBTZWNvbmRzIG1pbmltdW1M
YXlvdXREZWxheSgpOwogCiAgICAgYm9vbCBzaG91bGRTY2hlZHVsZUxheW91dCgpOwogICAgIGJv
b2wgaXNMYXlvdXRUaW1lckFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHAKaW5kZXggOWVhYTJhNzhjZmIxZWM0NzM4ODczMjEwZDRiYWJl
ZTU4NTc3MjEzNS4uZmY2NGE2NDdmNGY3ZDdjOTgwM2Q4ZGM3MGYyMmYwOGY5NjUzOWQ3NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCkBAIC0y
MDgsNyArMjA4LDYgQEAgdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpsYXlvdXQoKQogICAg
IFdlYWtQdHI8UmVuZGVyRWxlbWVudD4gbGF5b3V0Um9vdDsKICAgICAKICAgICBtX2xheW91dFRp
bWVyLnN0b3AoKTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKICAgICBtX3NldE5lZWRz
TGF5b3V0V2FzRGVmZXJyZWQgPSBmYWxzZTsKIAogI2lmICFMT0dfRElTQUJMRUQKQEAgLTMzNSw3
ICszMzQsNiBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OnJlc2V0KCkKICAgICBjbGVh
clN1YnRyZWVMYXlvdXRSb290KCk7CiAgICAgbV9sYXlvdXRDb3VudCA9IDA7CiAgICAgbV9sYXlv
dXRTY2hlZHVsaW5nSXNFbmFibGVkID0gdHJ1ZTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxz
ZTsKICAgICBtX2xheW91dFRpbWVyLnN0b3AoKTsKICAgICBtX2ZpcnN0TGF5b3V0ID0gdHJ1ZTsK
ICAgICBtX2FzeW5jaHJvbm91c1Rhc2tzVGltZXIuc3RvcCgpOwpAQCAtNDAwLDIxICszOTgsMTUg
QEAgdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZUxheW91dCgpCiAgICAgaWYg
KGZyYW1lKCkub3duZXJSZW5kZXJlcigpICYmIHZpZXcoKS5pc0luQ2hpbGRGcmFtZVdpdGhGcmFt
ZUZsYXR0ZW5pbmcoKSkKICAgICAgICAgZnJhbWUoKS5vd25lclJlbmRlcmVyKCktPnNldE5lZWRz
TGF5b3V0KE1hcmtDb250YWluaW5nQmxvY2tDaGFpbik7CiAKLSAgICBTZWNvbmRzIGRlbGF5ID0g
ZnJhbWUoKS5kb2N1bWVudCgpLT5taW5pbXVtTGF5b3V0RGVsYXkoKTsKLSAgICBpZiAobV9sYXlv
dXRUaW1lci5pc0FjdGl2ZSgpICYmIG1fZGVsYXllZExheW91dCAmJiAhZGVsYXkpCi0gICAgICAg
IHVuc2NoZWR1bGVMYXlvdXQoKTsKLQogICAgIGlmIChtX2xheW91dFRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZGVsYXllZExheW91dCA9IGRlbGF5LnZhbHVlKCk7
Ci0KICNpZiAhTE9HX0RJU0FCTEVECiAgICAgaWYgKCFmcmFtZSgpLmRvY3VtZW50KCktPm93bmVy
RWxlbWVudCgpKQogICAgICAgICBMT0coTGF5b3V0LCAiRnJhbWVWaWV3ICVwIHNjaGVkdWxpbmcg
bGF5b3V0IGZvciAlLjNmcyIsIHRoaXMsIGRlbGF5LnZhbHVlKCkpOwogI2VuZGlmCiAKLSAgICBt
X2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9sYXlvdXRUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVk
dWxlTGF5b3V0KCkKQEAgLTQzMSw3ICs0MjMsNiBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnVuc2NoZWR1bGVMYXlvdXQoKQogI2VuZGlmCiAKICAgICBtX2xheW91dFRpbWVyLnN0b3Ao
KTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKIH0KIAogdm9pZCBGcmFtZVZpZXdMYXlv
dXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQoUmVuZGVyRWxlbWVudCYgbGF5b3V0Um9v
dCkKQEAgLTQ0OSwxMiArNDQwLDEwIEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2No
ZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvb3QpCiAgICAgfQogCiAg
ICAgaWYgKCFpc0xheW91dFBlbmRpbmcoKSAmJiBpc0xheW91dFNjaGVkdWxpbmdFbmFibGVkKCkp
IHsKLSAgICAgICAgU2Vjb25kcyBkZWxheSA9IHJlbmRlclZpZXcuZG9jdW1lbnQoKS5taW5pbXVt
TGF5b3V0RGVsYXkoKTsKICAgICAgICAgQVNTRVJUKCFsYXlvdXRSb290LmNvbnRhaW5lcigpIHx8
IGlzPFJlbmRlclZpZXc+KGxheW91dFJvb3QuY29udGFpbmVyKCkpIHx8ICFsYXlvdXRSb290LmNv
bnRhaW5lcigpLT5uZWVkc0xheW91dCgpKTsKICAgICAgICAgc2V0U3VidHJlZUxheW91dFJvb3Qo
bGF5b3V0Um9vdCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxp
ZGF0ZUxheW91dChmcmFtZSgpKTsKLSAgICAgICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkudmFs
dWUoKTsKLSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgICAg
ICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCmluZGV4
IGZmYjUwYTBkMTNjOTg2ZTEyNTc3ZGM4OTBkYTFhZjVmYzYxZTJiZTguLjY1ZWE5MzhlZDRlZmMx
YTllOWFhMGQ0YmRjYzAyZmIyZjQ2MzEyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC0xNzgsNyArMTc4LDYgQEAgcHJpdmF0ZToKICAgICBX
ZWFrUHRyPFJlbmRlckVsZW1lbnQ+IG1fc3VidHJlZUxheW91dFJvb3Q7CiAKICAgICBib29sIG1f
bGF5b3V0U2NoZWR1bGluZ0lzRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1fZGVsYXllZExh
eW91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2ZpcnN0TGF5b3V0IHsgdHJ1ZSB9OwogICAgIGJv
b2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pbkFzeW5jaHJvbm91
c1Rhc2tzIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3NCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcAppbmRleCBj
OTg5OWFkZWYwOTNmYjRmMWMxNTA4N2NkY2Y3YTJhM2RiYjRmMDM3Li43ODQ3N2E5YjkyODYxYTVi
OTYxNjIzYmIxZjUwMTE0MTZiY2I0MGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2Uu
Y3BwCkBAIC02MSwxNSArNjEsOSBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlQWZ0ZXJHZW5lcmlj
RmFtaWx5Q2hhbmdlKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2UtPnNldE5lZWRzUmVjYWxjU3R5
bGVJbkFsbEZyYW1lcygpOwogfQogCi0vLyBUaGlzIGFtb3VudCBvZiB0aW1lIG11c3QgaGF2ZSBl
bGFwc2VkIGJlZm9yZSB3ZSB3aWxsIGV2ZW4gY29uc2lkZXIgc2NoZWR1bGluZyBhIGxheW91dCB3
aXRob3V0IGEgZGVsYXkuCi0vLyBGSVhNRTogRm9yIGZhc3RlciBtYWNoaW5lcyB0aGlzIHZhbHVl
IGNhbiByZWFsbHkgYmUgbG93ZXJlZCB0byAyMDAuIDI1MCBpcyBhZGVxdWF0ZSwgYnV0IGEgbGl0
dGxlIGhpZ2gKLS8vIGZvciBkdWFsIEc1cy4gOikKLXN0YXRpYyBjb25zdCBTZWNvbmRzIGxheW91
dFNjaGVkdWxlVGhyZXNob2xkID0gMjUwX21zOwotCiBTZXR0aW5nc0Jhc2U6OlNldHRpbmdzQmFz
ZShQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKG51bGxwdHIpCiAgICAgLCBtX2ZvbnRHZW5lcmlj
RmFtaWxpZXMobWFrZVVuaXF1ZTxGb250R2VuZXJpY0ZhbWlsaWVzPigpKQotICAgICwgbV9sYXlv
dXRJbnRlcnZhbChsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCkKICAgICAsIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWwoRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSkKICAgICAsIG1f
c2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzQmFzZTo6aW1hZ2VM
b2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogewpAQCAtMjM0LDEzICsyMjgsNiBAQCB2b2lkIFNl
dHRpbmdzQmFzZTo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkK
ICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRz
IGxheW91dEludGVydmFsKQotewotICAgIC8vIEZJWE1FOiBJdCBzZWVtcyB3ZWlyZCB0aGF0IHRo
aXMgZnVuY3Rpb24gbWF5IGRpc3JlZ2FyZCB0aGUgc3BlY2lmaWVkIGxheW91dCBpbnRlcnZhbC4K
LSAgICAvLyBXZSBzaG91bGQgZWl0aGVyIGV4cG9zZSBsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCBv
ciBiZXR0ZXIgY29tbXVuaWNhdGUgdGhpcyBpbnZhcmlhbnQuCi0gICAgbV9sYXlvdXRJbnRlcnZh
bCA9IHN0ZDo6bWF4KGxheW91dEludGVydmFsLCBsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCk7Ci19
Ci0KIHZvaWQgU2V0dGluZ3NCYXNlOjpzZXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3
YXJlU3VwcG9ydChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlcykKIHsKICAgICBtX21lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0LnNocmluaygwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzQmFzZS5oCmluZGV4IDI1MWI3ZTYxMzdlZTVkMGM5NzQyOWVkOWZhOWQ0NDdiOWU2
ZjJmZDIuLjRjMGIzOWYxMjk5YWM4MTcwNWJlY2NlZDA2Nzg2MDhhZGYzNzY4NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5nc0Jhc2UuaApAQCAtMTU5LDkgKzE1OSw2IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAv
LyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgogICAg
IFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmlt
dW1ET01UaW1lckludGVydmFsOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91
dEludGVydmFsKFNlY29uZHMpOwotICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX2xheW91dEludGVydmFsOyB9Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQogICAgIGZsb2F0IG9uZUxpbmVUZXh0TXVsdGlwbGllckNvZWZmaWNpZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9vbmVMaW5lVGV4dE11bHRpcGxpZXJDb2VmZmljaWVudDsgfQogICAgIGZsb2F0IG11
bHRpTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQoKSBjb25zdCB7IHJldHVybiBtX211bHRp
TGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQ7IH0KQEAgLTIwNiw3ICsyMDMsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgUGFnZSogbV9wYWdlOwogCiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZv
bnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKLSAgICBTZWNvbmRzIG1f
bGF5b3V0SW50ZXJ2YWw7CiAgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwog
CiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMGEyYzg0ZTc2MWJmNzBjOTIyMzI0MGE0
YTA5ODNlNTM4YzNhOGNjNC4uNjkzODM5ODQ4ZjBjZWRhZDkxMTc2OGI0ZTg3MWE1OTk4MzUzN2Uy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzMsMTEg
KzkzMyw2IEBAIERlZmF1bHRGaXhlZEZvbnRTaXplOgogICB0eXBlOiBkb3VibGUKICAgZGVmYXVs
dFZhbHVlOiAxMwogCi1MYXlvdXRJbnRlcnZhbDoKLSAgdHlwZTogZG91YmxlCi0gIGRlZmF1bHRW
YWx1ZTogLTEKLSAgd2ViY29yZUJpbmRpbmc6IGN1c3RvbQotCiBNYXhQYXJzZUR1cmF0aW9uOgog
ICB0eXBlOiBkb3VibGUKICAgZGVmYXVsdFZhbHVlOiAtMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAzZjA3YmQ4NWFmYTcwYWJlMzJlYmExYmMy
YmFjMzNhZTdmNjc3ZjE1Li4yODViNWNkZjU1NmUyNTI1N2IxNDkxYzI2NmE0MjFmZDNiM2RjOTMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzYyNCw3ICszNjI0LDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYSA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVx
dWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSk7CiAgICAgc2V0dGluZ3Muc2V0
VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEF1
ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVz
VXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRMYXlv
dXRJbnRlcnZhbChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeT4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lLZXkoKSkpKTsKICAgICBzZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc3RhdGljX2Nhc3Q8VGV4dERpcmVjdGlvbj4oc3RvcmUu
Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN5c3RlbUxheW91dERpcmVj
dGlvbktleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEphdmFTY3JpcHRSdW50aW1lRmxhZ3Moc3Rh
dGljX2Nhc3Q8UnVudGltZUZsYWdzPihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6amF2YVNjcmlwdFJ1bnRpbWVGbGFnc0tleSgpKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKaW5kZXggMTMxN2I0OWYxNmY2NzJlMWUxN2ZmMjljNGJiZmRlZmU4MmI0Y2M5ZC4uMDIy
Zjc4YWZjODE1YjE0NmJhYjQyZmFhYmRlYWRjN2MyNTE4NzFkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0yNDAsNyArMjQwLDYgQEAKICNkZWZpbmUgV2ViS2l0VGVsZXBob25lUGFyc2luZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VGVsZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5IgogI2RlZmluZSBXZWJLaXRBbGxvd011bHRpRWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1p
c3Npb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1T
dWJtaXNzaW9uUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWx3YXlzUmVxdWVzdEdlb2xv
Y2F0aW9uUGVybWlzc2lvblByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbHdheXNSZXF1ZXN0R2VvbG9j
YXRpb25QZXJtaXNzaW9uIgotI2RlZmluZSBXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdE1h
eFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWF4UGFyc2VEdXJhdGlvblByZWZl
cmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VUcmFja2VyRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRTdG9yYWdlVHJhY2tlckVuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBX
ZWJLaXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsUHJlZmVyZW5jZUtleSBAIldl
YktpdEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBlMjBlZTc0NDVj
YTliMzUyZmE2N2Q4NWYzNDFmMjIxMmEwZDYyMGU1Li40MGU1ZjM0ZTdhMjc0ODFkZjAxMWQ4YzUz
ZjBhMzJhNDZlZmY4YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTU3Niw3ICs1NzYsNiBAQCArICh2b2lkKWluaXRpYWxp
emUKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgICAgICBAWUVTLCBXZWJLaXRDb250ZW50
Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRU
ZWxlcGhvbmVQYXJzaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoSW50Oi0xXSwgV2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0Oi0xLjBmXSwgV2ViS2l0TWF4UGFyc2VEdXJh
dGlvblByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJ
bXBsaWNpdEZvcm1TdWJtaXNzaW9uUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRB
bHdheXNSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uUHJlZmVyZW5jZUtleSwKQEAgLTE2NzMs
MTYgKzE2NzIsNiBAQCAtIChCT09MKV90ZXh0QXV0b3NpemluZ0VuYWJsZWQKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLS0gKHZvaWQpX3NldExheW91dEludGVydmFsOihpbnQp
bAotewotICAgIFtzZWxmIF9zZXRJbnRlZ2VyVmFsdWU6bCBmb3JLZXk6V2ViS2l0TGF5b3V0SW50
ZXJ2YWxQcmVmZXJlbmNlS2V5XTsKLX0KLQotLSAoaW50KV9sYXlvdXRJbnRlcnZhbAotewotICAg
IHJldHVybiBbc2VsZiBfaW50ZWdlclZhbHVlRm9yS2V5OldlYktpdExheW91dEludGVydmFsUHJl
ZmVyZW5jZUtleV07Ci19Ci0KIC0gKHZvaWQpX3NldE1heFBhcnNlRHVyYXRpb246KGZsb2F0KWQK
IHsKICAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTpkIGZvcktleTpXZWJLaXRNYXhQYXJzZUR1cmF0
aW9uUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAzYmMzNzQxZjM3YzlkMzE3Mzg0
ZGVjYjJjYzY4ZjE1Y2Y0ZDliZDM5Li44ZDQ4MzIwNDIzNzk0YzBlYTdhMjExMzUwM2Y3ZDBjMmVj
OGJhNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTM4OSw4ICszODksNiBAQCBleHRlcm4gTlNTdHJp
bmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBX
RUJLSVRfREVQUgogLSAoQk9PTClfYWx3YXlzUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbjsK
IC0gKHZvaWQpX3NldEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGw6KEJPT0wpZmxh
ZzsKIC0gKEJPT0wpX2Fsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGw7Ci0tICh2b2lk
KV9zZXRMYXlvdXRJbnRlcnZhbDooaW50KW1pbGxpc2Vjb25kczsKLS0gKGludClfbGF5b3V0SW50
ZXJ2YWw7IC8vIE1pbGxpc2VvbmRzLgogLSAodm9pZClfc2V0TWF4UGFyc2VEdXJhdGlvbjooZmxv
YXQpZDsKIC0gKGZsb2F0KV9tYXhQYXJzZUR1cmF0aW9uOwogLSAodm9pZClfc2V0SW50ZXJwb2xh
dGlvblF1YWxpdHk6KGludClxdWFsaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDI4OTc5ZThhNmY1NGQ0OTM0N2JhMGY5MzU3Mzc0YjJlODNjN2M1
OWYuLjkxNDg4ODIwOWY4ZDRkZjljMmFjYzc0MWMwM2NlMjhhYjZkM2QxMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwNDIsNyArMzA0Miw2IEBA
IC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNl
cwogICAgIHNldHRpbmdzLnNldFN0YW5kYWxvbmUoW3ByZWZlcmVuY2VzIF9zdGFuZGFsb25lXSk7
CiAgICAgc2V0dGluZ3Muc2V0VGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIF90ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldEFs
bG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uKFtwcmVmZXJlbmNlcyBfYWxsb3dNdWx0
aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uXSk7Ci0gICAgc2V0dGluZ3Muc2V0TGF5b3V0
SW50ZXJ2YWwoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhbcHJlZmVyZW5jZXMgX2xheW91dElu
dGVydmFsXSkpOwogICAgIHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24oW3ByZWZlcmVuY2Vz
IF9tYXhQYXJzZUR1cmF0aW9uXSk7CiAgICAgc2V0dGluZ3Muc2V0QWx3YXlzVXNlQWNjZWxlcmF0
ZWRPdmVyZmxvd1Njcm9sbChbcHJlZmVyZW5jZXMgX2Fsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZs
b3dTY3JvbGxdKTsKICAgICBzZXR0aW5ncy5zZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVk
KFtwcmVmZXJlbmNlcyBjb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391966</attachid>
            <date>2020-02-27 23:48:34 -0800</date>
            <delta_ts>2020-03-03 10:18:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208285-20200227234834.patch</filename>
            <type>text/plain</type>
            <size>19768</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU3NTNkZGJiNzhlZmVj
NmNkM2VhOTMwMDZmYTAzNDYzYTkwODlmNC4uZTY4ZTA5NzMyYzc2ZGIyZTIxYzQ5MzliYWEzYjg0
YjA0MDc3MGUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTAyLTI3ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0
aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcg
b3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0
aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRo
YXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBv
ZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNh
eXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFs
cmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAg
ICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSk6IERlbGV0ZWQuCisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGFyc2luZyBjb25zdCk6
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZUxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVkdWxlTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0Lmg6CisgICAgICAgICogcGFnZS9TZXR0
aW5nc0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpTZXR0aW5nc0Jh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9TZXR0aW5nc0Jhc2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzQmFzZTo6bGF5b3V0SW50ZXJ2YWwgY29uc3QpOiBEZWxldGVkLgorCiAyMDIw
LTAyLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IFN1cHBvcnQgaW4tYmFuZCBnZW5lcmljIGN1ZXMgd2hlbiBsb2FkaW5nIG1lZGlhIGluIHRoZSBH
UFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA5NmY4Yzc5Zjc5MzVkN2Y5ZWFhYmNlNDA1ZjQ2NDcyZDNi
NmVlYmI4Li4zYzk1OThiYzJiZjY4MzA4ODc2MmYyYmNhYzRhZDliMDgzNDExZmVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAyLTI3ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0aHJvdHRsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgcmVtb3ZlcyBhIHRocm90
dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcgb3V0IGR1cmluZyB0aGUgZmlyc3Qg
MjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0aHJvdHRsZSBpcyBnZW5lcmFsbHkg
bm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRoYXQgZm9yY2UgYSBzeW5jIGxheW91
dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBvZiBsb2FkaW5nKSBhbmQgaXMgYWxz
byBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNheXMgdGhlCisgICAgICAgIGludGVy
dmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFscmVhZHkgaGF2ZSB0b28gbWFueSB0
aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAgICBzbyBsZXQncyByZW1vdmUgdGhp
cyBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAyMC0wMi0yNyAgRXJpYyBDYXJsc29uICA8ZXJp
Yy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGluLWJhbmQgZ2VuZXJpYyBj
dWVzIHdoZW4gbG9hZGluZyBtZWRpYSBpbiB0aGUgR1BVIFByb2Nlc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCBjMTI3OWE3MmQwMjQyNGFkOThiYzI3MjllMDhhZjMyOGEzYWEzZGIw
Li42Yzg2NzI4MjhkNGFkOWE5Y2FhZmJlNDc1ZTQyZWY3ODUxNmY4NDM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDItMjcgIEJlbiBOaGFtICA8
bmhhbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGluaXRpYWwgbGF5b3V0IHRocm90dGxl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Mjg1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgVGhpcyBy
ZW1vdmVzIGEgdGhyb3R0bGUgdGhhdCBjYW4gcHJldmVudCB1cyBmcm9tIGxheWluZyBvdXQgZHVy
aW5nIHRoZSBmaXJzdCAyNTAgbXMgb2YgcGFnZQorICAgICAgICBsb2FkLiBUaGlzIHRocm90dGxl
IGlzIGdlbmVyYWxseSBub3QgZWZmZWN0aXZlIChtYW55IHBhZ2VzIGhhdmUgSlMgdGhhdCBmb3Jj
ZSBhIHN5bmMgbGF5b3V0CisgICAgICAgIGJlZm9yZSB0aGUgZmlyc3QgMjUwIG1zIG9mIGxvYWRp
bmcpIGFuZCBpcyBhbHNvIGV4dHJlbWVseSBvdXRkYXRlZCAodGhlIGNvbW1lbnQgc2F5cyB0aGUK
KyAgICAgICAgaW50ZXJ2YWwgaXMgdG9vIGhpZ2ggZm9yIGR1YWwgRzVzKS4gV2UgYWxyZWFkeSBo
YXZlIHRvbyBtYW55IHRocm90dGxlcyBpbiB0b28gbWFueSBwbGFjZXMsCisgICAgICAgIHNvIGxl
dCdzIHJlbW92ZSB0aGlzIG9uZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAg
ICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBfc2V0TGF5b3V0SW50ZXJ2YWw6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlByZWZl
cmVuY2VzIF9sYXlvdXRJbnRlcnZhbF0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAy
MDIwLTAyLTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBD
aGFuZ2UgSGl0VGVzdFJlcXVlc3RUeXBlIHRvIGFuIE9wdGlvblNldApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggNjBmNWZhNmMyZjUzNjM5ZjdmMjMxNzA0MGFhMTNjYjJkZTgzM2Q4Ny4uZDNh
ZWY3ZjRiNDUyNWNhNzQyNjUzMGMwNDUzM2M2OWM0NGIxYzEwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC0zMDUyLDE0ICszMDUyLDYgQEAgdm9pZCBEb2N1bWVudDo6aW1wbGljaXRDbG9z
ZSgpCiAgICAgLy8gZmlyZXMuIFRoaXMgd2lsbCBpbXByb3ZlIG9ubG9hZCBzY29yZXMsIGFuZCBv
dGhlciBicm93c2VycyBkbyBpdC4KICAgICAvLyBJZiB0aGV5IHdhbm5hIGNoZWF0LCB3ZSBjYW4g
dG9vLiAtZHdoCiAKLSAgICBpZiAoZnJhbWUoKS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLmxvY2F0
aW9uQ2hhbmdlUGVuZGluZygpICYmIHRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKSA8IHNldHRp
bmdzKCkubGF5b3V0SW50ZXJ2YWwoKSkgewotICAgICAgICAvLyBKdXN0IGJhaWwgb3V0LiBCZWZv
cmUgb3IgZHVyaW5nIHRoZSBvbmxvYWQgd2Ugd2VyZSBzaGlmdGVkIHRvIGFub3RoZXIgcGFnZS4K
LSAgICAgICAgLy8gVGhlIG9sZCBpLUJlbmNoIHN1aXRlIGRvZXMgdGhpcy4gV2hlbiB0aGlzIGhh
cHBlbnMgZG9uJ3QgYm90aGVyIHBhaW50aW5nIG9yIGxheWluZyBvdXQuICAgICAgICAKLSAgICAg
ICAgbV9wcm9jZXNzaW5nTG9hZEV2ZW50ID0gZmFsc2U7Ci0gICAgICAgIHZpZXcoKS0+bGF5b3V0
Q29udGV4dCgpLnVuc2NoZWR1bGVMYXlvdXQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQog
ICAgIGZyYW1lKCktPmxvYWRlcigpLmNoZWNrQ2FsbEltcGxpY2l0Q2xvc2UoKTsKICAgICAKICAg
ICAvLyBXZSB1c2VkIHRvIGZvcmNlIGEgc3luY2hyb25vdXMgZGlzcGxheSBhbmQgZmx1c2ggaGVy
ZS4gIFRoaXMgcmVhbGx5IGlzbid0CkBAIC0zMTMyLDE5ICszMTI0LDcgQEAgYm9vbCBEb2N1bWVu
dDo6c2hvdWxkU2NoZWR1bGVMYXlvdXQoKQogICAgIAogYm9vbCBEb2N1bWVudDo6aXNMYXlvdXRU
aW1lckFjdGl2ZSgpCiB7Ci0gICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dENvbnRl
eHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhbWluaW11bUxheW91dERlbGF5KCk7Ci19Ci0KLVNl
Y29uZHMgRG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSgpCi17Ci0gICAgaWYgKG1fb3Zlck1p
bmltdW1MYXlvdXRUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiAwX3M7Ci0gICAgCi0gICAgYXV0
byBlbGFwc2VkID0gdGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpOwotICAgIG1fb3Zlck1pbmlt
dW1MYXlvdXRUaHJlc2hvbGQgPSBlbGFwc2VkID4gc2V0dGluZ3MoKS5sYXlvdXRJbnRlcnZhbCgp
OwotCi0gICAgLy8gV2UnbGwgd2FudCB0byBzY2hlZHVsZSB0aGUgdGltZXIgdG8gZmlyZSBhdCB0
aGUgbWluaW11bSBsYXlvdXQgdGhyZXNob2xkLgotICAgIHJldHVybiBzdGQ6Om1heCgwX3MsIHNl
dHRpbmdzKCkubGF5b3V0SW50ZXJ2YWwoKSAtIGVsYXBzZWQpOworICAgIHJldHVybiB2aWV3KCkg
JiYgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCk7CiB9CiAKIFNlY29u
ZHMgRG9jdW1lbnQ6OnRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBiYzIwNWQwOTc1ODFhNTEyMTU2YzBjM2RhNjU2ZDk4OWE2YWIyZWIwLi5m
MzNmMTkwZDIxNWEyZmRlNDRjZGZmMGRlODQyNGIwOWIxYmRmY2U5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtNzMyLDcgKzczMiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlYWR5U3RhdGUo
UmVhZHlTdGF0ZSk7CiAgICAgdm9pZCBzZXRQYXJzaW5nKGJvb2wpOwogICAgIGJvb2wgcGFyc2lu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fYlBhcnNpbmc7IH0KLSAgICBTZWNvbmRzIG1pbmltdW1MYXlv
dXREZWxheSgpOwogCiAgICAgYm9vbCBzaG91bGRTY2hlZHVsZUxheW91dCgpOwogICAgIGJvb2wg
aXNMYXlvdXRUaW1lckFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
TGF5b3V0Q29udGV4dC5jcHAKaW5kZXggOWVhYTJhNzhjZmIxZWM0NzM4ODczMjEwZDRiYWJlZTU4
NTc3MjEzNS4uYzMwNGNmMWNlMTZlMDZhNGYwNTM2NzFmYmE3OGNlMGZjZTg2MzdlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCkBAIC0yMDgs
NyArMjA4LDYgQEAgdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpsYXlvdXQoKQogICAgIFdl
YWtQdHI8UmVuZGVyRWxlbWVudD4gbGF5b3V0Um9vdDsKICAgICAKICAgICBtX2xheW91dFRpbWVy
LnN0b3AoKTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKICAgICBtX3NldE5lZWRzTGF5
b3V0V2FzRGVmZXJyZWQgPSBmYWxzZTsKIAogI2lmICFMT0dfRElTQUJMRUQKQEAgLTMzNSw3ICsz
MzQsNiBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OnJlc2V0KCkKICAgICBjbGVhclN1
YnRyZWVMYXlvdXRSb290KCk7CiAgICAgbV9sYXlvdXRDb3VudCA9IDA7CiAgICAgbV9sYXlvdXRT
Y2hlZHVsaW5nSXNFbmFibGVkID0gdHJ1ZTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsK
ICAgICBtX2xheW91dFRpbWVyLnN0b3AoKTsKICAgICBtX2ZpcnN0TGF5b3V0ID0gdHJ1ZTsKICAg
ICBtX2FzeW5jaHJvbm91c1Rhc2tzVGltZXIuc3RvcCgpOwpAQCAtNDAwLDIxICszOTgsMTUgQEAg
dm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZUxheW91dCgpCiAgICAgaWYgKGZy
YW1lKCkub3duZXJSZW5kZXJlcigpICYmIHZpZXcoKS5pc0luQ2hpbGRGcmFtZVdpdGhGcmFtZUZs
YXR0ZW5pbmcoKSkKICAgICAgICAgZnJhbWUoKS5vd25lclJlbmRlcmVyKCktPnNldE5lZWRzTGF5
b3V0KE1hcmtDb250YWluaW5nQmxvY2tDaGFpbik7CiAKLSAgICBTZWNvbmRzIGRlbGF5ID0gZnJh
bWUoKS5kb2N1bWVudCgpLT5taW5pbXVtTGF5b3V0RGVsYXkoKTsKLSAgICBpZiAobV9sYXlvdXRU
aW1lci5pc0FjdGl2ZSgpICYmIG1fZGVsYXllZExheW91dCAmJiAhZGVsYXkpCi0gICAgICAgIHVu
c2NoZWR1bGVMYXlvdXQoKTsKLQogICAgIGlmIChtX2xheW91dFRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fZGVsYXllZExheW91dCA9IGRlbGF5LnZhbHVlKCk7Ci0K
ICNpZiAhTE9HX0RJU0FCTEVECiAgICAgaWYgKCFmcmFtZSgpLmRvY3VtZW50KCktPm93bmVyRWxl
bWVudCgpKQotICAgICAgICBMT0coTGF5b3V0LCAiRnJhbWVWaWV3ICVwIHNjaGVkdWxpbmcgbGF5
b3V0IGZvciAlLjNmcyIsIHRoaXMsIGRlbGF5LnZhbHVlKCkpOworICAgICAgICBMT0coTGF5b3V0
LCAiRnJhbWVWaWV3ICVwIGxheW91dCB0aW1lciBzY2hlZHVsZWQgYXQgJS4zZnMiLCB0aGlzLCBm
cmFtZSgpLmRvY3VtZW50KCktPnRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKS52YWx1ZSgpKTsK
ICNlbmRpZgogCi0gICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1f
bGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3TGF5b3V0
Q29udGV4dDo6dW5zY2hlZHVsZUxheW91dCgpCkBAIC00MzEsNyArNDIzLDYgQEAgdm9pZCBGcmFt
ZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVkdWxlTGF5b3V0KCkKICNlbmRpZgogCiAgICAgbV9s
YXlvdXRUaW1lci5zdG9wKCk7Ci0gICAgbV9kZWxheWVkTGF5b3V0ID0gZmFsc2U7CiB9CiAKIHZv
aWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVs
ZW1lbnQmIGxheW91dFJvb3QpCkBAIC00NDksMTIgKzQ0MCwxMCBAQCB2b2lkIEZyYW1lVmlld0xh
eW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dChSZW5kZXJFbGVtZW50JiBsYXlvdXRS
b290KQogICAgIH0KIAogICAgIGlmICghaXNMYXlvdXRQZW5kaW5nKCkgJiYgaXNMYXlvdXRTY2hl
ZHVsaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgIFNlY29uZHMgZGVsYXkgPSByZW5kZXJWaWV3LmRv
Y3VtZW50KCkubWluaW11bUxheW91dERlbGF5KCk7CiAgICAgICAgIEFTU0VSVCghbGF5b3V0Um9v
dC5jb250YWluZXIoKSB8fCBpczxSZW5kZXJWaWV3PihsYXlvdXRSb290LmNvbnRhaW5lcigpKSB8
fCAhbGF5b3V0Um9vdC5jb250YWluZXIoKS0+bmVlZHNMYXlvdXQoKSk7CiAgICAgICAgIHNldFN1
YnRyZWVMYXlvdXRSb290KGxheW91dFJvb3QpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQoZnJhbWUoKSk7Ci0gICAgICAgIG1fZGVsYXllZExh
eW91dCA9IGRlbGF5LnZhbHVlKCk7Ci0gICAgICAgIG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5KTsKKyAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXdMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91
dENvbnRleHQuaAppbmRleCBmZmI1MGEwZDEzYzk4NmUxMjU3N2RjODkwZGExYWY1ZmM2MWUyYmU4
Li42NWVhOTM4ZWQ0ZWZjMWE5ZTlhYTBkNGJkY2MwMmZiMmY0NjMxMmQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaApAQCAtMTc4LDcgKzE3OCw2IEBA
IHByaXZhdGU6CiAgICAgV2Vha1B0cjxSZW5kZXJFbGVtZW50PiBtX3N1YnRyZWVMYXlvdXRSb290
OwogCiAgICAgYm9vbCBtX2xheW91dFNjaGVkdWxpbmdJc0VuYWJsZWQgeyB0cnVlIH07Ci0gICAg
Ym9vbCBtX2RlbGF5ZWRMYXlvdXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9maXJzdExheW91dCB7
IHRydWUgfTsKICAgICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRydWUgfTsKICAgICBib29s
IG1faW5Bc3luY2hyb25vdXNUYXNrcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
QmFzZS5jcHAKaW5kZXggYzk4OTlhZGVmMDkzZmI0ZjFjMTUwODdjZGNmN2EyYTNkYmI0ZjAzNy4u
Nzg0NzdhOWI5Mjg2MWE1Yjk2MTYyM2JiMWY1MDExNDE2YmNiNDBiNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3NCYXNlLmNwcApAQCAtNjEsMTUgKzYxLDkgQEAgc3RhdGljIHZvaWQgaW52YWxp
ZGF0ZUFmdGVyR2VuZXJpY0ZhbWlseUNoYW5nZShQYWdlKiBwYWdlKQogICAgICAgICBwYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKIH0KIAotLy8gVGhpcyBhbW91bnQgb2Yg
dGltZSBtdXN0IGhhdmUgZWxhcHNlZCBiZWZvcmUgd2Ugd2lsbCBldmVuIGNvbnNpZGVyIHNjaGVk
dWxpbmcgYSBsYXlvdXQgd2l0aG91dCBhIGRlbGF5LgotLy8gRklYTUU6IEZvciBmYXN0ZXIgbWFj
aGluZXMgdGhpcyB2YWx1ZSBjYW4gcmVhbGx5IGJlIGxvd2VyZWQgdG8gMjAwLiAyNTAgaXMgYWRl
cXVhdGUsIGJ1dCBhIGxpdHRsZSBoaWdoCi0vLyBmb3IgZHVhbCBHNXMuIDopCi1zdGF0aWMgY29u
c3QgU2Vjb25kcyBsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCA9IDI1MF9tczsKLQogU2V0dGluZ3NC
YXNlOjpTZXR0aW5nc0Jhc2UoUGFnZSogcGFnZSkKICAgICA6IG1fcGFnZShudWxscHRyKQogICAg
ICwgbV9mb250R2VuZXJpY0ZhbWlsaWVzKG1ha2VVbmlxdWU8Rm9udEdlbmVyaWNGYW1pbGllcz4o
KSkKLSAgICAsIG1fbGF5b3V0SW50ZXJ2YWwobGF5b3V0U2NoZWR1bGVUaHJlc2hvbGQpCiAgICAg
LCBtX21pbmltdW1ET01UaW1lckludGVydmFsKERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVy
dmFsKCkpCiAgICAgLCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIoKnRoaXMsICZTZXR0
aW5nc0Jhc2U6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCkKIHsKQEAgLTIzNCwxMyAr
MjI4LDYgQEAgdm9pZCBTZXR0aW5nc0Jhc2U6OnNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNl
Y29uZHMgaW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFNldHRpbmdzQmFzZTo6c2V0TGF5b3V0
SW50ZXJ2YWwoU2Vjb25kcyBsYXlvdXRJbnRlcnZhbCkKLXsKLSAgICAvLyBGSVhNRTogSXQgc2Vl
bXMgd2VpcmQgdGhhdCB0aGlzIGZ1bmN0aW9uIG1heSBkaXNyZWdhcmQgdGhlIHNwZWNpZmllZCBs
YXlvdXQgaW50ZXJ2YWwuCi0gICAgLy8gV2Ugc2hvdWxkIGVpdGhlciBleHBvc2UgbGF5b3V0U2No
ZWR1bGVUaHJlc2hvbGQgb3IgYmV0dGVyIGNvbW11bmljYXRlIHRoaXMgaW52YXJpYW50LgotICAg
IG1fbGF5b3V0SW50ZXJ2YWwgPSBzdGQ6Om1heChsYXlvdXRJbnRlcnZhbCwgbGF5b3V0U2NoZWR1
bGVUaHJlc2hvbGQpOwotfQotCiB2b2lkIFNldHRpbmdzQmFzZTo6c2V0TWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZXMpCiB7
CiAgICAgbV9tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydC5zaHJpbmso
MCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuaAppbmRleCAyNTFiN2U2MTM3ZWU1ZDBjOTc0
MjllZDlmYTlkNDQ3YjllNmYyZmQyLi40YzBiMzlmMTI5OWFjODE3MDViZWNjZWQwNjc4NjA4YWRm
Mzc2ODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgKQEAgLTE1OSw5ICsxNTksNiBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRl
cnZhbChTZWNvbmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVt
SW50ZXJ2YWwoKS4KICAgICBTZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRzKTsKLSAgICBTZWNvbmRzIGxheW91dElu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZhbDsgfQotCiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKICAgICBmbG9hdCBvbmVMaW5lVGV4dE11bHRpcGxpZXJDb2VmZmlj
aWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fb25lTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQ7
IH0KICAgICBmbG9hdCBtdWx0aUxpbmVUZXh0TXVsdGlwbGllckNvZWZmaWNpZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9tdWx0aUxpbmVUZXh0TXVsdGlwbGllckNvZWZmaWNpZW50OyB9CkBAIC0yMDYs
NyArMjAzLDYgQEAgcHJvdGVjdGVkOgogICAgIFBhZ2UqIG1fcGFnZTsKIAogICAgIGNvbnN0IHN0
ZDo6dW5pcXVlX3B0cjxGb250R2VuZXJpY0ZhbWlsaWVzPiBtX2ZvbnRHZW5lcmljRmFtaWxpZXM7
Ci0gICAgU2Vjb25kcyBtX2xheW91dEludGVydmFsOwogICAgIFNlY29uZHMgbV9taW5pbXVtRE9N
VGltZXJJbnRlcnZhbDsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDBhMmM4NGU3
NjFiZjcwYzkyMjMyNDBhNGEwOTgzZTUzOGMzYThjYzQuLjY5MzgzOTg0OGYwY2VkYWQ5MTE3Njhi
NGU4NzFhNTk5ODM1MzdlMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbApAQCAtOTMzLDExICs5MzMsNiBAQCBEZWZhdWx0Rml4ZWRGb250U2l6ZToKICAgdHlwZTog
ZG91YmxlCiAgIGRlZmF1bHRWYWx1ZTogMTMKIAotTGF5b3V0SW50ZXJ2YWw6Ci0gIHR5cGU6IGRv
dWJsZQotICBkZWZhdWx0VmFsdWU6IC0xCi0gIHdlYmNvcmVCaW5kaW5nOiBjdXN0b20KLQogTWF4
UGFyc2VEdXJhdGlvbjoKICAgdHlwZTogZG91YmxlCiAgIGRlZmF1bHRWYWx1ZTogLTEKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZTI0NTcwNDNh
NDhjODFlMTYzMGZiYTYwZDUyMWVjNDQwMGJiOTU2Ni4uNTM1ZWI4M2RlYzUzNWZhOTkwOTk4YjRk
N2Q5Mjc2YWVhMmRhMTQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTM2MzcsNyArMzYzNyw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgYm9vbCByZXF1
aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgPSBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCkpOwog
ICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCkpKTsKICAg
ICBzZXR0aW5ncy5zZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShyZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja0tleSgpKSk7Ci0gICAg
c2V0dGluZ3Muc2V0TGF5b3V0SW50ZXJ2YWwoU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0SW50ZXJ2YWxLZXkoKSkpKTsKICAgICBzZXR0
aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KHN0YXRpY19jYXN0PFdlYkNvcmU6
OlVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5S2V5KCkpKSk7
CiAgICAgc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKHN0YXRpY19jYXN0PFRleHRE
aXJlY3Rpb24+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpz
eXN0ZW1MYXlvdXREaXJlY3Rpb25LZXkoKSkpKTsKICAgICBzZXR0aW5ncy5zZXRKYXZhU2NyaXB0
UnVudGltZUZsYWdzKHN0YXRpY19jYXN0PFJ1bnRpbWVGbGFncz4oc3RvcmUuZ2V0VUludDMyVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmphdmFTY3JpcHRSdW50aW1lRmxhZ3NLZXkoKSkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDEzMTdiNDlmMTZmNjcyZTFlMTdmZjI5YzRiYmZk
ZWZlODJiNGNjOWQuLjAyMmY3OGFmYzgxNWIxNDZiYWI0MmZhYWJkZWFkYzdjMjUxODcxZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMjQwLDcgKzI0MCw2IEBACiAjZGVmaW5lIFdlYktpdFRl
bGVwaG9uZVBhcnNpbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFRlbGVwaG9uZVBhcnNp
bmdFbmFibGVkUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJ
bXBsaWNpdEZvcm1TdWJtaXNzaW9uUHJlZmVyZW5jZUtleSBAIldlYktpdEFsbG93TXVsdGlFbGVt
ZW50SW1wbGljaXRGb3JtU3VibWlzc2lvblByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEFs
d2F5c1JlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWx3
YXlzUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbiIKLSNkZWZpbmUgV2ViS2l0TGF5b3V0SW50
ZXJ2YWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5Igog
I2RlZmluZSBXZWJLaXRNYXhQYXJzZUR1cmF0aW9uUHJlZmVyZW5jZUtleSBAIldlYktpdE1heFBh
cnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRTdG9yYWdlVHJhY2tlckVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U3RvcmFnZVRyYWNrZXJFbmFibGVkUHJlZmVyZW5j
ZUtleSIKICNkZWZpbmUgV2ViS2l0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0K
aW5kZXggZTIwZWU3NDQ1Y2E5YjM1MmZhNjdkODVmMzQxZjIyMTJhMGQ2MjBlNS4uNDBlNWYzNGU3
YTI3NDgxZGYwMTFkOGM1M2YwYTMyYTQ2ZWZmOGEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC01NzYsNyArNTc2LDYgQEAg
KyAodm9pZClpbml0aWFsaXplCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgQFlF
UywgV2ViS2l0Q29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBOTywgV2ViS2l0VGVsZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDotMV0sIFdlYktpdExheW91dEludGVydmFsUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDotMS4wZl0sIFdl
YktpdE1heFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdEFs
bG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlzc2lvblByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBOTywgV2ViS2l0QWx3YXlzUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvblByZWZlcmVu
Y2VLZXksCkBAIC0xNjczLDE2ICsxNjcyLDYgQEAgLSAoQk9PTClfdGV4dEF1dG9zaXppbmdFbmFi
bGVkCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0tICh2b2lkKV9zZXRMYXlv
dXRJbnRlcnZhbDooaW50KWwKLXsKLSAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOmwgZm9yS2V5
OldlYktpdExheW91dEludGVydmFsUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKGludClfbGF5b3V0
SW50ZXJ2YWwKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ludGVnZXJWYWx1ZUZvcktleTpXZWJLaXRM
YXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXldOwotfQotCiAtICh2b2lkKV9zZXRNYXhQYXJzZUR1
cmF0aW9uOihmbG9hdClkCiB7CiAgICAgW3NlbGYgX3NldEZsb2F0VmFsdWU6ZCBmb3JLZXk6V2Vi
S2l0TWF4UGFyc2VEdXJhdGlvblByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggM2Jj
Mzc0MWYzN2M5ZDMxNzM4NGRlY2IyY2M2OGYxNWNmNGQ5YmQzOS4uOGQ0ODMyMDQyMzc5NGMwZWE3
YTIxMTM1MDNmN2QwYzJlYzhiYTc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0zODksOCArMzg5LDYg
QEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJu
YWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKEJPT0wpX2Fsd2F5c1JlcXVlc3RHZW9sb2Nh
dGlvblBlcm1pc3Npb247CiAtICh2b2lkKV9zZXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93
U2Nyb2xsOihCT09MKWZsYWc7CiAtIChCT09MKV9hbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93
U2Nyb2xsOwotLSAodm9pZClfc2V0TGF5b3V0SW50ZXJ2YWw6KGludCltaWxsaXNlY29uZHM7Ci0t
IChpbnQpX2xheW91dEludGVydmFsOyAvLyBNaWxsaXNlb25kcy4KIC0gKHZvaWQpX3NldE1heFBh
cnNlRHVyYXRpb246KGZsb2F0KWQ7CiAtIChmbG9hdClfbWF4UGFyc2VEdXJhdGlvbjsKIC0gKHZv
aWQpX3NldEludGVycG9sYXRpb25RdWFsaXR5OihpbnQpcXVhbGl0eTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyODk3OWU4YTZmNTRkNDkzNDdiYTBm
OTM1NzM3NGIyZTgzYzdjNTlmLi45MTQ4ODgyMDlmOGQ0ZGY5YzJhY2M3NDFjMDNjZTI4YWI2ZDNk
MTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0z
MDQyLDcgKzMwNDIsNiBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVu
Y2VzICopcHJlZmVyZW5jZXMKICAgICBzZXR0aW5ncy5zZXRTdGFuZGFsb25lKFtwcmVmZXJlbmNl
cyBfc3RhbmRhbG9uZV0pOwogICAgIHNldHRpbmdzLnNldFRlbGVwaG9uZU51bWJlclBhcnNpbmdF
bmFibGVkKFtwcmVmZXJlbmNlcyBfdGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWRdKTsKICAg
ICBzZXR0aW5ncy5zZXRBbGxvd011bHRpRWxlbWVudEltcGxpY2l0U3VibWlzc2lvbihbcHJlZmVy
ZW5jZXMgX2FsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlzc2lvbl0pOwotICAgIHNl
dHRpbmdzLnNldExheW91dEludGVydmFsKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoW3ByZWZl
cmVuY2VzIF9sYXlvdXRJbnRlcnZhbF0pKTsKICAgICBzZXR0aW5ncy5zZXRNYXhQYXJzZUR1cmF0
aW9uKFtwcmVmZXJlbmNlcyBfbWF4UGFyc2VEdXJhdGlvbl0pOwogICAgIHNldHRpbmdzLnNldEFs
d2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwoW3ByZWZlcmVuY2VzIF9hbHdheXNVc2VB
Y2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsXSk7CiAgICAgc2V0dGluZ3Muc2V0Q29udGVudENoYW5n
ZU9ic2VydmVyRW5hYmxlZChbcHJlZmVyZW5jZXMgY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxl
ZF0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL3RpbGVkLWRy
YXdpbmctYXN5bmMtZnJhbWUtc2Nyb2xsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy90aWxpbmcvdGlsZWQtZHJhd2luZy1hc3luYy1mcmFtZS1zY3JvbGxpbmcuaHRtbAppbmRleCA3
YmI2ODNkM2RjZGM0Y2NlMWYzODU3NGM4N2E0MWY1Zjg5NmE3OTA2Li4wMjg1YWQ0OThhNzlmMzdm
NWE3NGZhMTQxN2ExYjEyN2ZhOWM4ZmQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy90aWxpbmcvdGlsZWQtZHJhd2luZy1hc3luYy1mcmFtZS1zY3JvbGxpbmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvdGlsZWQtZHJhd2luZy1hc3luYy1mcmFt
ZS1zY3JvbGxpbmcuaHRtbApAQCAtMTksMTIgKzE5LDE0IEBACiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAotCXZhciBmcmFtZVRvTG9hZENvdW50ID0gMzsKKwl2YXIgZnJhbWVUb0xvYWRDb3Vu
dCA9IDQ7CiAJZnVuY3Rpb24gbmV3RnJhbWVMb2FkZWQoKSB7CiAJICAgIGZyYW1lVG9Mb2FkQ291
bnQtLTsKIAkgICAgaWYgKGZyYW1lVG9Mb2FkQ291bnQgPT09IDApCiAJICAgICAgICBkb1Rlc3Qo
KTsKICAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
bmV3RnJhbWVMb2FkZWQpOwogICAgIDwvc2NyaXB0PgogICAgIDxzdHlsZT4KICAgICAgICAgZnJh
bWUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYXV0b3Njcm9sbC1pbi1p
ZnJhbWUtYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYXV0b3Njcm9sbC1pbi1p
ZnJhbWUtYm9keS5odG1sCmluZGV4IDY0ZGNjYTczN2UwZWIzNGY1OGIwMjI5M2EyYTMzOTJlZmEy
ZmM2NmIuLjVkNjdhNWEwZTRlNWNhMjQ1MmJhMzZjMzY1NzQ1ZWI4YWYxNjI1NWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2F1dG9zY3JvbGwtaW4taWZyYW1lLWJvZHkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLWluLWlmcmFtZS1ib2R5
Lmh0bWwKQEAgLTUxLDcgKzUxLDcgQEAKICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZURvd24oKTsKICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGF1dG9zY3JvbGxUZXN0UGFydDEsIDApOwor
ICAgICAgICAgICAgc2V0VGltZW91dChhdXRvc2Nyb2xsVGVzdFBhcnQxLCAxMDApOwogICAgICAg
ICB9CiAKICAgICAgICAgZnVuY3Rpb24gYXV0b3Njcm9sbFRlc3RQYXJ0MSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392291</attachid>
            <date>2020-03-03 10:18:40 -0800</date>
            <delta_ts>2020-03-04 08:55:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208285-20200303101839.patch</filename>
            <type>text/plain</type>
            <size>27817</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4MmMyZGZiYTRmZjg2
N2Y3NTZlYjU3Njc5NjM0ZTc3YjliN2RmZS4uZGY1ZDM0YWUyOGJkMzA3MjE3MzhjZmM2OTVhZmNl
OTg1NmU0NGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTAzLTAzICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0
aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcg
b3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0
aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRo
YXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBv
ZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNh
eXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFs
cmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAg
ICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSk6IERlbGV0ZWQuCisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGFyc2luZyBjb25zdCk6
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZUxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVkdWxlTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0Lmg6CisgICAgICAgICogcGFnZS9TZXR0
aW5nc0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpTZXR0aW5nc0Jh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9TZXR0aW5nc0Jhc2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzQmFzZTo6bGF5b3V0SW50ZXJ2YWwgY29uc3QpOiBEZWxldGVkLgorCiAyMDIw
LTAzLTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXVtXUEVdIEZpeCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uIGZvcm1hdHRpbmcg
aW4gbWVkaWEgY29udHJvbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDBjNzk2ZDIwZmIwOThiODExMmRjMjE1NmE2
NWZjYWY1NTEzOWI5MS4uZGJlYTI1NzI1YzIwNDQ4ZDVjYmE4MTI1M2RkZjExMmY2MWU1YTg3YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMy0wMyAgQmVuIE5oYW0gIDxuaGFtQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgaW5pdGlhbCBsYXlvdXQgdGhyb3R0bGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBUaGlzIHJlbW92ZXMg
YSB0aHJvdHRsZSB0aGF0IGNhbiBwcmV2ZW50IHVzIGZyb20gbGF5aW5nIG91dCBkdXJpbmcgdGhl
IGZpcnN0IDI1MCBtcyBvZiBwYWdlCisgICAgICAgIGxvYWQuIFRoaXMgdGhyb3R0bGUgaXMgZ2Vu
ZXJhbGx5IG5vdCBlZmZlY3RpdmUgKG1hbnkgcGFnZXMgaGF2ZSBKUyB0aGF0IGZvcmNlIGEgc3lu
YyBsYXlvdXQKKyAgICAgICAgYmVmb3JlIHRoZSBmaXJzdCAyNTAgbXMgb2YgbG9hZGluZykgYW5k
IGlzIGFsc28gZXh0cmVtZWx5IG91dGRhdGVkICh0aGUgY29tbWVudCBzYXlzIHRoZQorICAgICAg
ICBpbnRlcnZhbCBpcyB0b28gaGlnaCBmb3IgZHVhbCBHNXMpLiBXZSBhbHJlYWR5IGhhdmUgdG9v
IG1hbnkgdGhyb3R0bGVzIGluIHRvbyBtYW55IHBsYWNlcywKKyAgICAgICAgc28gbGV0J3MgcmVt
b3ZlIHRoaXMgb25lLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMjAtMDMtMDMgIENvbW1pdCBRdWV1
ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIyNTc3NTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggODg2ZGRlYTVm
NmYwMzJlOWE4ODI2ZWYxZGI2MDA3NGJiNjk3NzBkMi4uYjY0ZDIxZjYyYjNhY2I0OGJlNzBkNWFk
NWQwMjIwMDZhYWVkNzVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI0IEBACisyMDIwLTAzLTAzICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBpbml0aWFsIGxheW91dCB0aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2Fu
IHByZXZlbnQgdXMgZnJvbSBsYXlpbmcgb3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBh
Z2UKKyAgICAgICAgbG9hZC4gVGhpcyB0aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2
ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRoYXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBi
ZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBvZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkg
b3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNheXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBo
aWdoIGZvciBkdWFsIEc1cykuIFdlIGFscmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4g
dG9vIG1hbnkgcGxhY2VzLAorICAgICAgICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRp
YWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldExheW91dEludGVydmFsOl0p
OiBEZWxldGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfbGF5b3V0SW50ZXJ2YWxdKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wMy0wMiAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSXRlbXMgaW4gdGhl
IHRvb2xiYXIgdGFrZSB1cCB0byBtdWNoIHZlcnRpY2FsIHNwYWNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA2MGY1ZmE2YzJmNTM2MzlmN2YyMzE3MDQwYWExM2NiMmRlODMzZDg3Li5kM2Fl
ZjdmNGI0NTI1Y2E3NDI2NTMwYzA0NTMzYzY5YzQ0YjFjMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTMwNTIsMTQgKzMwNTIsNiBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3Nl
KCkKICAgICAvLyBmaXJlcy4gVGhpcyB3aWxsIGltcHJvdmUgb25sb2FkIHNjb3JlcywgYW5kIG90
aGVyIGJyb3dzZXJzIGRvIGl0LgogICAgIC8vIElmIHRoZXkgd2FubmEgY2hlYXQsIHdlIGNhbiB0
b28uIC1kd2gKIAotICAgIGlmIChmcmFtZSgpLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkubG9jYXRp
b25DaGFuZ2VQZW5kaW5nKCkgJiYgdGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpIDwgc2V0dGlu
Z3MoKS5sYXlvdXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIC8vIEp1c3QgYmFpbCBvdXQuIEJlZm9y
ZSBvciBkdXJpbmcgdGhlIG9ubG9hZCB3ZSB3ZXJlIHNoaWZ0ZWQgdG8gYW5vdGhlciBwYWdlLgot
ICAgICAgICAvLyBUaGUgb2xkIGktQmVuY2ggc3VpdGUgZG9lcyB0aGlzLiBXaGVuIHRoaXMgaGFw
cGVucyBkb24ndCBib3RoZXIgcGFpbnRpbmcgb3IgbGF5aW5nIG91dC4gICAgICAgIAotICAgICAg
ICBtX3Byb2Nlc3NpbmdMb2FkRXZlbnQgPSBmYWxzZTsKLSAgICAgICAgdmlldygpLT5sYXlvdXRD
b250ZXh0KCkudW5zY2hlZHVsZUxheW91dCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAg
ICAgZnJhbWUoKS0+bG9hZGVyKCkuY2hlY2tDYWxsSW1wbGljaXRDbG9zZSgpOwogICAgIAogICAg
IC8vIFdlIHVzZWQgdG8gZm9yY2UgYSBzeW5jaHJvbm91cyBkaXNwbGF5IGFuZCBmbHVzaCBoZXJl
LiAgVGhpcyByZWFsbHkgaXNuJ3QKQEAgLTMxMzIsMTkgKzMxMjQsNyBAQCBib29sIERvY3VtZW50
OjpzaG91bGRTY2hlZHVsZUxheW91dCgpCiAgICAgCiBib29sIERvY3VtZW50Ojppc0xheW91dFRp
bWVyQWN0aXZlKCkKIHsKLSAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLmlzTGF5b3V0UGVuZGluZygpICYmICFtaW5pbXVtTGF5b3V0RGVsYXkoKTsKLX0KLQotU2Vj
b25kcyBEb2N1bWVudDo6bWluaW11bUxheW91dERlbGF5KCkKLXsKLSAgICBpZiAobV9vdmVyTWlu
aW11bUxheW91dFRocmVzaG9sZCkKLSAgICAgICAgcmV0dXJuIDBfczsKLSAgICAKLSAgICBhdXRv
IGVsYXBzZWQgPSB0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uKCk7Ci0gICAgbV9vdmVyTWluaW11
bUxheW91dFRocmVzaG9sZCA9IGVsYXBzZWQgPiBzZXR0aW5ncygpLmxheW91dEludGVydmFsKCk7
Ci0KLSAgICAvLyBXZSdsbCB3YW50IHRvIHNjaGVkdWxlIHRoZSB0aW1lciB0byBmaXJlIGF0IHRo
ZSBtaW5pbXVtIGxheW91dCB0aHJlc2hvbGQuCi0gICAgcmV0dXJuIHN0ZDo6bWF4KDBfcywgc2V0
dGluZ3MoKS5sYXlvdXRJbnRlcnZhbCgpIC0gZWxhcHNlZCk7CisgICAgcmV0dXJuIHZpZXcoKSAm
JiB2aWV3KCktPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKTsKIH0KIAogU2Vjb25k
cyBEb2N1bWVudDo6dGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IGJjMjA1ZDA5NzU4MWE1MTIxNTZjMGMzZGE2NTZkOTg5YTZhYjJlYjAuLmYz
M2YxOTBkMjE1YTJmZGU0NGNkZmYwZGU4NDI0YjA5YjFiZGZjZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC03MzIsNyArNzMyLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShS
ZWFkeVN0YXRlKTsKICAgICB2b2lkIHNldFBhcnNpbmcoYm9vbCk7CiAgICAgYm9vbCBwYXJzaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9iUGFyc2luZzsgfQotICAgIFNlY29uZHMgbWluaW11bUxheW91
dERlbGF5KCk7CiAKICAgICBib29sIHNob3VsZFNjaGVkdWxlTGF5b3V0KCk7CiAgICAgYm9vbCBp
c0xheW91dFRpbWVyQWN0aXZlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlld0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdM
YXlvdXRDb250ZXh0LmNwcAppbmRleCA5ZWFhMmE3OGNmYjFlYzQ3Mzg4NzMyMTBkNGJhYmVlNTg1
NzcyMTM1Li5jMzA0Y2YxY2UxNmUwNmE0ZjA1MzY3MWZiYTc4Y2UwZmNlODYzN2UxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIwOCw3
ICsyMDgsNiBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCgpCiAgICAgV2Vh
a1B0cjxSZW5kZXJFbGVtZW50PiBsYXlvdXRSb290OwogICAgIAogICAgIG1fbGF5b3V0VGltZXIu
c3RvcCgpOwotICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwogICAgIG1fc2V0TmVlZHNMYXlv
dXRXYXNEZWZlcnJlZCA9IGZhbHNlOwogCiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMzM1LDcgKzMz
NCw2IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6cmVzZXQoKQogICAgIGNsZWFyU3Vi
dHJlZUxheW91dFJvb3QoKTsKICAgICBtX2xheW91dENvdW50ID0gMDsKICAgICBtX2xheW91dFNj
aGVkdWxpbmdJc0VuYWJsZWQgPSB0cnVlOwotICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwog
ICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOwogICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVlOwogICAg
IG1fYXN5bmNocm9ub3VzVGFza3NUaW1lci5zdG9wKCk7CkBAIC00MDAsMjEgKzM5OCwxNSBAQCB2
b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlTGF5b3V0KCkKICAgICBpZiAoZnJh
bWUoKS5vd25lclJlbmRlcmVyKCkgJiYgdmlldygpLmlzSW5DaGlsZEZyYW1lV2l0aEZyYW1lRmxh
dHRlbmluZygpKQogICAgICAgICBmcmFtZSgpLm93bmVyUmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlv
dXQoTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKTsKIAotICAgIFNlY29uZHMgZGVsYXkgPSBmcmFt
ZSgpLmRvY3VtZW50KCktPm1pbmltdW1MYXlvdXREZWxheSgpOwotICAgIGlmIChtX2xheW91dFRp
bWVyLmlzQWN0aXZlKCkgJiYgbV9kZWxheWVkTGF5b3V0ICYmICFkZWxheSkKLSAgICAgICAgdW5z
Y2hlZHVsZUxheW91dCgpOwotCiAgICAgaWYgKG1fbGF5b3V0VGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkudmFsdWUoKTsKLQog
I2lmICFMT0dfRElTQUJMRUQKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3duZXJFbGVt
ZW50KCkpCi0gICAgICAgIExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAgc2NoZWR1bGluZyBsYXlv
dXQgZm9yICUuM2ZzIiwgdGhpcywgZGVsYXkudmFsdWUoKSk7CisgICAgICAgIExPRyhMYXlvdXQs
ICJGcmFtZVZpZXcgJXAgbGF5b3V0IHRpbWVyIHNjaGVkdWxlZCBhdCAlLjNmcyIsIHRoaXMsIGZy
YW1lKCkuZG9jdW1lbnQoKS0+dGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpLnZhbHVlKCkpOwog
I2VuZGlmCiAKLSAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9s
YXlvdXRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBGcmFtZVZpZXdMYXlvdXRD
b250ZXh0Ojp1bnNjaGVkdWxlTGF5b3V0KCkKQEAgLTQzMSw3ICs0MjMsNiBAQCB2b2lkIEZyYW1l
Vmlld0xheW91dENvbnRleHQ6OnVuc2NoZWR1bGVMYXlvdXQoKQogI2VuZGlmCiAKICAgICBtX2xh
eW91dFRpbWVyLnN0b3AoKTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKIH0KIAogdm9p
ZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQoUmVuZGVyRWxl
bWVudCYgbGF5b3V0Um9vdCkKQEAgLTQ0OSwxMiArNDQwLDEwIEBAIHZvaWQgRnJhbWVWaWV3TGF5
b3V0Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJv
b3QpCiAgICAgfQogCiAgICAgaWYgKCFpc0xheW91dFBlbmRpbmcoKSAmJiBpc0xheW91dFNjaGVk
dWxpbmdFbmFibGVkKCkpIHsKLSAgICAgICAgU2Vjb25kcyBkZWxheSA9IHJlbmRlclZpZXcuZG9j
dW1lbnQoKS5taW5pbXVtTGF5b3V0RGVsYXkoKTsKICAgICAgICAgQVNTRVJUKCFsYXlvdXRSb290
LmNvbnRhaW5lcigpIHx8IGlzPFJlbmRlclZpZXc+KGxheW91dFJvb3QuY29udGFpbmVyKCkpIHx8
ICFsYXlvdXRSb290LmNvbnRhaW5lcigpLT5uZWVkc0xheW91dCgpKTsKICAgICAgICAgc2V0U3Vi
dHJlZUxheW91dFJvb3QobGF5b3V0Um9vdCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkSW52YWxpZGF0ZUxheW91dChmcmFtZSgpKTsKLSAgICAgICAgbV9kZWxheWVkTGF5
b3V0ID0gZGVsYXkudmFsdWUoKTsKLSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3Qo
ZGVsYXkpOworICAgICAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlld0xheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0
Q29udGV4dC5oCmluZGV4IGZmYjUwYTBkMTNjOTg2ZTEyNTc3ZGM4OTBkYTFhZjVmYzYxZTJiZTgu
LjY1ZWE5MzhlZDRlZmMxYTllOWFhMGQ0YmRjYzAyZmIyZjQ2MzEyZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC0xNzgsNyArMTc4LDYgQEAg
cHJpdmF0ZToKICAgICBXZWFrUHRyPFJlbmRlckVsZW1lbnQ+IG1fc3VidHJlZUxheW91dFJvb3Q7
CiAKICAgICBib29sIG1fbGF5b3V0U2NoZWR1bGluZ0lzRW5hYmxlZCB7IHRydWUgfTsKLSAgICBi
b29sIG1fZGVsYXllZExheW91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2ZpcnN0TGF5b3V0IHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wg
bV9pbkFzeW5jaHJvbm91c1Rhc2tzIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NC
YXNlLmNwcAppbmRleCBjOTg5OWFkZWYwOTNmYjRmMWMxNTA4N2NkY2Y3YTJhM2RiYjRmMDM3Li43
ODQ3N2E5YjkyODYxYTViOTYxNjIzYmIxZjUwMTE0MTZiY2I0MGI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5nc0Jhc2UuY3BwCkBAIC02MSwxNSArNjEsOSBAQCBzdGF0aWMgdm9pZCBpbnZhbGlk
YXRlQWZ0ZXJHZW5lcmljRmFtaWx5Q2hhbmdlKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2UtPnNl
dE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwogfQogCi0vLyBUaGlzIGFtb3VudCBvZiB0
aW1lIG11c3QgaGF2ZSBlbGFwc2VkIGJlZm9yZSB3ZSB3aWxsIGV2ZW4gY29uc2lkZXIgc2NoZWR1
bGluZyBhIGxheW91dCB3aXRob3V0IGEgZGVsYXkuCi0vLyBGSVhNRTogRm9yIGZhc3RlciBtYWNo
aW5lcyB0aGlzIHZhbHVlIGNhbiByZWFsbHkgYmUgbG93ZXJlZCB0byAyMDAuIDI1MCBpcyBhZGVx
dWF0ZSwgYnV0IGEgbGl0dGxlIGhpZ2gKLS8vIGZvciBkdWFsIEc1cy4gOikKLXN0YXRpYyBjb25z
dCBTZWNvbmRzIGxheW91dFNjaGVkdWxlVGhyZXNob2xkID0gMjUwX21zOwotCiBTZXR0aW5nc0Jh
c2U6OlNldHRpbmdzQmFzZShQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKG51bGxwdHIpCiAgICAg
LCBtX2ZvbnRHZW5lcmljRmFtaWxpZXMobWFrZVVuaXF1ZTxGb250R2VuZXJpY0ZhbWlsaWVzPigp
KQotICAgICwgbV9sYXlvdXRJbnRlcnZhbChsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCkKICAgICAs
IG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwoRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2
YWwoKSkKICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRp
bmdzQmFzZTo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogewpAQCAtMjM0LDEzICsy
MjgsNiBAQCB2b2lkIFNldHRpbmdzQmFzZTo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vj
b25kcyBpbnRlcnZhbCkKICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJ
bnRlcnZhbChTZWNvbmRzIGxheW91dEludGVydmFsKQotewotICAgIC8vIEZJWE1FOiBJdCBzZWVt
cyB3ZWlyZCB0aGF0IHRoaXMgZnVuY3Rpb24gbWF5IGRpc3JlZ2FyZCB0aGUgc3BlY2lmaWVkIGxh
eW91dCBpbnRlcnZhbC4KLSAgICAvLyBXZSBzaG91bGQgZWl0aGVyIGV4cG9zZSBsYXlvdXRTY2hl
ZHVsZVRocmVzaG9sZCBvciBiZXR0ZXIgY29tbXVuaWNhdGUgdGhpcyBpbnZhcmlhbnQuCi0gICAg
bV9sYXlvdXRJbnRlcnZhbCA9IHN0ZDo6bWF4KGxheW91dEludGVydmFsLCBsYXlvdXRTY2hlZHVs
ZVRocmVzaG9sZCk7Ci19Ci0KIHZvaWQgU2V0dGluZ3NCYXNlOjpzZXRNZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlcykKIHsK
ICAgICBtX21lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0LnNocmluaygw
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oCmluZGV4IDI1MWI3ZTYxMzdlZTVkMGM5NzQy
OWVkOWZhOWQ0NDdiOWU2ZjJmZDIuLjRjMGIzOWYxMjk5YWM4MTcwNWJlY2NlZDA2Nzg2MDhhZGYz
NzY4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuaApAQCAtMTU5LDkgKzE1OSw2IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVy
dmFsKFNlY29uZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1J
bnRlcnZhbCgpLgogICAgIFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldExheW91dEludGVydmFsKFNlY29uZHMpOwotICAgIFNlY29uZHMgbGF5b3V0SW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEludGVydmFsOyB9Ci0KICNpZiBFTkFCTEUo
VEVYVF9BVVRPU0laSU5HKQogICAgIGZsb2F0IG9uZUxpbmVUZXh0TXVsdGlwbGllckNvZWZmaWNp
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9vbmVMaW5lVGV4dE11bHRpcGxpZXJDb2VmZmljaWVudDsg
fQogICAgIGZsb2F0IG11bHRpTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQoKSBjb25zdCB7
IHJldHVybiBtX211bHRpTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQ7IH0KQEAgLTIwNiw3
ICsyMDMsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgUGFnZSogbV9wYWdlOwogCiAgICAgY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsK
LSAgICBTZWNvbmRzIG1fbGF5b3V0SW50ZXJ2YWw7CiAgICAgU2Vjb25kcyBtX21pbmltdW1ET01U
aW1lckludGVydmFsOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggNTAxMDRhOWM5
YmJjYWE5ODJmZDJmM2Q3MWFhMjNmNWEzZjZlZTk4YS4uYTc3OWUzM2Y0NDIzZGQxODY0MDY1Zjlm
YTcyNjdlOWQwOWQ4ZDE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCkBAIC05MzMsMTEgKzkzMyw2IEBAIERlZmF1bHRGaXhlZEZvbnRTaXplOgogICB0eXBlOiBk
b3VibGUKICAgZGVmYXVsdFZhbHVlOiAxMwogCi1MYXlvdXRJbnRlcnZhbDoKLSAgdHlwZTogZG91
YmxlCi0gIGRlZmF1bHRWYWx1ZTogLTEKLSAgd2ViY29yZUJpbmRpbmc6IGN1c3RvbQotCiBNYXhQ
YXJzZUR1cmF0aW9uOgogICB0eXBlOiBkb3VibGUKICAgZGVmYXVsdFZhbHVlOiAtMQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5ZDk1ZGUyYTIw
MmE4N2M2YzZhY2ZiNGJiOGM0ZDk4YTA1YmNiODA5Li5hMWJiN2NlNjRmOGQxMjU2NGEwY2FmOWNk
ZjBmMTllYWQzZjBiOTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtMzYzOCw3ICszNjM4LDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBib29sIHJlcXVp
cmVzVXNlckdlc3R1cmVGb3JNZWRpYSA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSk7CiAg
ICAgc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tLZXkoKSkpOwogICAg
IHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVzVXNl
ckdlc3R1cmVGb3JNZWRpYSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCkpKTsKLSAgICBz
ZXR0aW5ncy5zZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkpOwogICAgIHNldHRp
bmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeT4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lLZXkoKSkpKTsK
ICAgICBzZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc3RhdGljX2Nhc3Q8VGV4dERp
cmVjdGlvbj4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN5
c3RlbUxheW91dERpcmVjdGlvbktleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEphdmFTY3JpcHRS
dW50aW1lRmxhZ3Moc3RhdGljX2Nhc3Q8UnVudGltZUZsYWdzPihzdG9yZS5nZXRVSW50MzJWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdFJ1bnRpbWVGbGFnc0tleSgpKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMTMxN2I0OWYxNmY2NzJlMWUxN2ZmMjljNGJiZmRl
ZmU4MmI0Y2M5ZC4uMDIyZjc4YWZjODE1YjE0NmJhYjQyZmFhYmRlYWRjN2MyNTE4NzFkMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yNDAsNyArMjQwLDYgQEAKICNkZWZpbmUgV2ViS2l0VGVs
ZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VGVsZXBob25lUGFyc2lu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRBbGxvd011bHRpRWxlbWVudElt
cGxpY2l0Rm9ybVN1Ym1pc3Npb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWxsb3dNdWx0aUVsZW1l
bnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWx3
YXlzUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvblByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbHdh
eXNSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uIgotI2RlZmluZSBXZWJLaXRMYXlvdXRJbnRl
cnZhbFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXkiCiAj
ZGVmaW5lIFdlYktpdE1heFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWF4UGFy
c2VEdXJhdGlvblByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VUcmFja2VyRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdG9yYWdlVHJhY2tlckVuYWJsZWRQcmVmZXJlbmNl
S2V5IgogI2RlZmluZSBXZWJLaXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsUHJl
ZmVyZW5jZUtleSBAIldlYktpdEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpp
bmRleCBlMjBlZTc0NDVjYTliMzUyZmE2N2Q4NWYzNDFmMjIxMmEwZDYyMGU1Li40MGU1ZjM0ZTdh
Mjc0ODFkZjAxMWQ4YzUzZjBhMzJhNDZlZmY4YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTU3Niw3ICs1NzYsNiBAQCBw
dWJsaWM6CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgQFlFUywgV2ViS2l0Q29u
dGVudENoYW5nZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2Vi
S2l0VGVsZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEludDotMV0sIFdlYktpdExheW91dEludGVydmFsUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDotMS4wZl0sIFdlYktpdE1heFBhcnNl
RHVyYXRpb25QcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdEFsbG93TXVsdGlFbGVt
ZW50SW1wbGljaXRGb3JtU3VibWlzc2lvblByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2Vi
S2l0QWx3YXlzUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvblByZWZlcmVuY2VLZXksCkBAIC0x
NjczLDE2ICsxNjcyLDYgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotLSAodm9pZClfc2V0TGF5b3V0SW50ZXJ2YWw6KGludClsCi17Ci0gICAgW3NlbGYgX3Nl
dEludGVnZXJWYWx1ZTpsIGZvcktleTpXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXld
OwotfQotCi0tIChpbnQpX2xheW91dEludGVydmFsCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbnRl
Z2VyVmFsdWVGb3JLZXk6V2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5XTsKLX0KLQog
LSAodm9pZClfc2V0TWF4UGFyc2VEdXJhdGlvbjooZmxvYXQpZAogewogICAgIFtzZWxmIF9zZXRG
bG9hdFZhbHVlOmQgZm9yS2V5OldlYktpdE1heFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5XTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDNiYzM3NDFmMzdjOWQzMTczODRkZWNiMmNjNjhmMTVjZjRkOWJk
MzkuLjhkNDgzMjA0MjM3OTRjMGVhN2EyMTEzNTAzZjdkMGMyZWM4YmE3NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaApAQCAtMzg5LDggKzM4OSw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiAtIChCT09M
KV9hbHdheXNSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uOwogLSAodm9pZClfc2V0QWx3YXlz
VXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbDooQk9PTClmbGFnOwogLSAoQk9PTClfYWx3YXlz
VXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbDsKLS0gKHZvaWQpX3NldExheW91dEludGVydmFs
OihpbnQpbWlsbGlzZWNvbmRzOwotLSAoaW50KV9sYXlvdXRJbnRlcnZhbDsgLy8gTWlsbGlzZW9u
ZHMuCiAtICh2b2lkKV9zZXRNYXhQYXJzZUR1cmF0aW9uOihmbG9hdClkOwogLSAoZmxvYXQpX21h
eFBhcnNlRHVyYXRpb247CiAtICh2b2lkKV9zZXRJbnRlcnBvbGF0aW9uUXVhbGl0eTooaW50KXF1
YWxpdHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXgg
Mjg5NzllOGE2ZjU0ZDQ5MzQ3YmEwZjkzNTczNzRiMmU4M2M3YzU5Zi4uOTE0ODg4MjA5ZjhkNGRm
OWMyYWNjNzQxYzAzY2UyOGFiNmQzZDEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMzA0Miw3ICszMDQyLDYgQEAgc3RhdGljIGJvb2wgbmVlZHNT
ZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldFN0YW5kYWxvbmUo
W3ByZWZlcmVuY2VzIF9zdGFuZGFsb25lXSk7CiAgICAgc2V0dGluZ3Muc2V0VGVsZXBob25lTnVt
YmVyUGFyc2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIF90ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5h
YmxlZF0pOwogICAgIHNldHRpbmdzLnNldEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNz
aW9uKFtwcmVmZXJlbmNlcyBfYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9u
XSk7Ci0gICAgc2V0dGluZ3Muc2V0TGF5b3V0SW50ZXJ2YWwoU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhbcHJlZmVyZW5jZXMgX2xheW91dEludGVydmFsXSkpOwogICAgIHNldHRpbmdzLnNldE1h
eFBhcnNlRHVyYXRpb24oW3ByZWZlcmVuY2VzIF9tYXhQYXJzZUR1cmF0aW9uXSk7CiAgICAgc2V0
dGluZ3Muc2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbChbcHJlZmVyZW5jZXMg
X2Fsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGxdKTsKICAgICBzZXR0aW5ncy5zZXRD
b250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKFtwcmVmZXJlbmNlcyBjb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJFbmFibGVkXSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xs
YmFycy1jbGlja2VkLWV4cGVjdGVkLnR4dAppbmRleCAyNjg1YzFiODk2ZTE5ZmNiOGNlZjhhMTZk
NzUzOTg2MWU0MWQ2YzZmLi41OWFjMWE5M2RlYzhmYzhjZDg1ZTM0Njg0Njg4NDllNWI2MjcwN2U0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3It
b3ZlcmxheS1zY3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tl
ZC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTkgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MzogTWFpbkZyYW1lVmlldzogZGlkQWRkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMzogTWFpbkZyYW1lVmlldzogZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDEzOiBGcmFtZVZpZXc6IGRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFy
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IEZyYW1lVmlldzogd2lsbFJlbW92ZVZlcnRpY2Fs
U2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IE1haW5GcmFtZVZpZXc6IG1vdXNl
RW50ZXJlZENvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IE1h
aW5GcmFtZVZpZXc6IG1vdXNlRW50ZXJlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTg6IEZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxODogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogTWFpbkZyYW1lVmlldzogbW91c2VJc0Rvd25JblZl
cnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IE1haW5GcmFtZVZpZXc6
IG1vdXNlSXNVcEluVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMTog
TWFpbkZyYW1lVmlldzogbW91c2VFeGl0ZWRWZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIxOiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKK0NPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogZGlkQWRkVmVydGljYWxTY3JvbGxiYXIKK0NPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcgorQ09OU09M
RSBNRVNTQUdFOiBGcmFtZVZpZXc6IGRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyCitDT05TT0xFIE1F
U1NBR0U6IEZyYW1lVmlldzogd2lsbFJlbW92ZVZlcnRpY2FsU2Nyb2xsYmFyCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzQ6IEZyYW1lVmlldzogZGlkQWRkVmVydGljYWxTY3JvbGxiYXIKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAzNDogRnJhbWVWaWV3OiB3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxi
YXIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVk
Q29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogTWFpbkZyYW1lVmlldzogbW91
c2VNb3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogTWFpbkZyYW1l
VmlldzogbW91c2VFbnRlcmVkVmVydGljYWxTY3JvbGxiYXIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMTogRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIxOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIyOiBNYWluRnJhbWVWaWV3OiBtb3VzZUlzRG93bkluVmVydGljYWxT
Y3JvbGxiYXIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogTWFpbkZyYW1lVmlldzogbW91c2VJ
c1VwSW5WZXJ0aWNhbFNjcm9sbGJhcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI0OiBNYWluRnJh
bWVWaWV3OiBtb3VzZUV4aXRlZFZlcnRpY2FsU2Nyb2xsYmFyCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjQ6IEZyYW1lVmlldzogbW91c2VFeGl0ZWRDb250ZW50QXJlYQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDI0OiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxi
YXJzLWNsaWNrZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmlt
YXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC5odG1sCmluZGV4IGYwNjRkNzA1N2I5MDEz
NmU0OGNiYTEzYjU5MDI3ZDE0M2NmNWY5YzYuLjQ5ZjNiZjM3YmU3ZGQyZDIxNWYxNzViZDAyMTc5
NDFkYTE3YWZiNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9s
bC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xp
Y2tlZC5odG1sCkBAIC0xLDM0ICsxLDM3IEBACiA8aHRtbD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlc01vY2tTY3JvbGxB
bmltYXRvcih0cnVlKTsKLSAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3Jv
bGxiYXJzKHRydWUpOwotICB9Ci0gIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgfQotICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewotICAgICAgZG9jdW1lbnQuYm9k
eS5vZmZzZXRUb3A7IC8vIGZvcmNlIGxheW91dC4KLSAgICAgIHNldFRpbWVvdXQoKCkgPT4gewot
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKDAsIDApOwotICAgICAgICAgIC8vIE1vdmUgdG8gYSBwb3NpdGlvbiB0aGF0IGlz
IG92ZXIgdGhlIHZlcnRpY2FsIHNjcm9sbGJhciBhbmQgdGhlIGlmcmFtZS4KLSAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyh3aW5kb3cuaW5uZXJXaWR0aCAtIDQsIDEwMCk7Ci0gICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOwotICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOwotICAgICAg
fQotICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgICB9LCAwKTsKLSAgfTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXRVc2VzTW9ja1Njcm9sbEFuaW1hdG9yKHRydWUpOworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworfQorCitp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICBmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworICAg
IGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOyAvLyBmb3JjZSBsYXlvdXQuCisgICAgc2V0VGltZW91
dCgoKSA9PiB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICAgICAgLy8gTW92ZSB0byBh
IHBvc2l0aW9uIHRoYXQgaXMgb3ZlciB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIGFuZCB0aGUgaWZy
YW1lLgorICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8od2luZG93LmlubmVyV2lk
dGggLSA0LCAxMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbygwLCAwKTsKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsKK307
CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDxib2R5PgogICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDU2Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDU2PC9hPi48L3A+Ci0gIDxpZnJhbWUgd2lkdGg9IjEwMjQi
IGhlaWdodD0iNzY4IiBpZD0iZnJhbWUiIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGh0bWw+PC9odG1s
PiI+PC9pZnJhbWU+CisgIDxpZnJhbWUgb25sb2FkPSJydW5UZXN0KCkiIHdpZHRoPSIxMDI0IiBo
ZWlnaHQ9Ijc2OCIgaWQ9ImZyYW1lIiBzcmM9ImRhdGE6dGV4dC9odG1sLDxodG1sPjwvaHRtbD4i
PjwvaWZyYW1lPgogICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1v
dmVybGF5LXNjcm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDQzNjQ1YjNlYmU3ZDFiMzY1NjY0MWZkOTI4YTYxMjdmMGI1N2JiZjUu
LjhiYjAzZmExMzUwMzJkMjhjZDFlYjNiYjc2MzQwNTY1NjFiYTdhMmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJh
cnMtaG92ZXJlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
c2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dApA
QCAtMSwxNSArMSwxNyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBNYWluRnJhbWVWaWV3
OiBkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBGcmFt
ZVZpZXc6IGRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IEZyYW1lVmlldzogZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE1OiBGcmFtZVZpZXc6IHdpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE1OiBNYWluRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250
ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBGcmFtZVZpZXc6IG1vdXNlRW50ZXJl
ZEhvcml6b250YWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogRnJhbWVWaWV3
OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBNYWlu
RnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE3OiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkSG9yaXpvbnRhbFNjcm9sbGJhcgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE3OiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKK0NPTlNP
TEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogZGlkQWRkVmVydGljYWxTY3JvbGxiYXIKK0NPTlNP
TEUgTUVTU0FHRTogRnJhbWVWaWV3OiBkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcgorQ09OU09MRSBN
RVNTQUdFOiBGcmFtZVZpZXc6IHdpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDMwOiBGcmFtZVZpZXc6IGRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzA6IEZyYW1lVmlldzogZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJh
cgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMwOiBGcmFtZVZpZXc6IHdpbGxSZW1vdmVWZXJ0aWNh
bFNjcm9sbGJhcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiBNYWluRnJhbWVWaWV3OiBtb3Vz
ZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiBNYWluRnJhbWVW
aWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE4OiBG
cmFtZVZpZXc6IG1vdXNlRW50ZXJlZEhvcml6b250YWxTY3JvbGxiYXIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxODogRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE4OiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkSG9yaXpvbnRh
bFNjcm9sbGJhcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBGcmFtZVZpZXc6IG1vdXNlRXhp
dGVkQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogTWFpbkZyYW1lVmlldzog
bW91c2VNb3ZlZEluQ29udGVudEFyZWEKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
c2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhv
dmVyZWQuaHRtbAppbmRleCBjYjVlMGFjM2U5ZDBiMmE2OTNjZTk3ODE1ZmIyMDZlZWEwYWEzNTQ3
Li43ZmQ0NzMwNzNlZmNiNzQ4MDFlNWNlMjkzOWJlMTE2NGY2YWJmNTlkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxi
YXJzLWhvdmVyZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwt
YW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQuaHRtbApAQCAtMSwyOSArMSwzMSBA
QAogPGh0bWw+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldFVzZXNNb2NrU2Nyb2xsQW5pbWF0b3IodHJ1ZSk7Ci0gICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKLSAgfQotICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gIH0KLSAgd2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uICgpIHsKLSAgICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
cmFtZSIpOwotICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOwotICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKGZyYW1lLm9mZnNldExlZnQgKyA0LCBmcmFtZS5vZmZzZXRUb3AgKyBmcmFtZS5vZmZzZXRI
ZWlnaHQgLSA0KTsKLSAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKLSAg
ICAgIH0KLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgfTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXRVc2VzTW9ja1Njcm9sbEFuaW1hdG9yKHRydWUpOworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworfQoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Cit9CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBmcmFt
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZSIpOworICAgIGZyYW1lLmNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CisgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRIZWlnaHQ7CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
ZnJhbWUub2Zmc2V0TGVmdCArIDQsIGZyYW1lLm9mZnNldFRvcCArIGZyYW1lLm9mZnNldEhlaWdo
dCAtIDQpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgICB9Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKK307CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KIDxib2R5PgogICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMzA0Ij5odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMzA0PC9hPi48L3A+Ci0gIDxpZnJhbWUgd2lkdGg9
MTIwIHNjcm9sbGluZz15ZXMgaWQ9ImZyYW1lIiBzcmM9ImRhdGE6dGV4dC9odG1sLAorICA8aWZy
YW1lIG9ubG9hZD0icnVuVGVzdCgpIiB3aWR0aD0xMjAgc2Nyb2xsaW5nPXllcyBpZD0iZnJhbWUi
IHNyYz0iZGF0YTp0ZXh0L2h0bWwsCiAgICAgICA8cCBzdHlsZT0nd2hpdGUtc3BhY2U6IG5vd3Jh
cCc+U2Nyb2xsIGFuaW1hdG9yIHNob3VsZCBiZSBub3RpZmllZCB3aGVuIG92ZXJsYXkgc2Nyb2xs
YmFycyBpbiBtYWluIGZyYW1lIGFyZSBob3ZlcmVkPC9wPgogICAgICAgIj4KICAgPC9pZnJhbWU+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392417</attachid>
            <date>2020-03-04 08:55:01 -0800</date>
            <delta_ts>2020-03-04 09:00:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208285-20200304085500.patch</filename>
            <type>text/plain</type>
            <size>19723</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE3YzNlNTI4YTY4ZTcw
ZDY0ZjE0Y2QyODliMmJhMDg4NDZhNmViZS4uMTA4ODhjN2NlZGNhMmRkZTY2N2M5OWY0YWY3NDVh
ODgxOWJhMTU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTAzLTA0ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0
aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcg
b3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0
aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRo
YXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBv
ZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNh
eXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFs
cmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAg
ICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnNob3VsZFNjaGVkdWxlTGF5b3V0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzaG91bGRTY2hlZHVsZUxheW91dCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNMYXlvdXRUaW1lckFjdGl2ZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bWluaW11bUxheW91dERlbGF5KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpwYXJzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojp0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlld0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0
Q29udGV4dDo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OnNj
aGVkdWxlTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6
OnVuc2NoZWR1bGVMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0Q29u
dGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlld0xh
eW91dENvbnRleHQuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nc0Jhc2U6OlNldHRpbmdzQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nc0Jhc2U6OnNldExheW91dEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpsYXlv
dXRJbnRlcnZhbCBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjAtMDMtMDQgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbRmlyc3QgcGFpbnRdIEdvaW5nIGZyb20gdmlz
dWFsbHkgZW1wdHkgdG8gbm9uLWVtcHR5IHNob3VsZCBpbW1lZGlhdGVseSB0cmlnZ2VyIGxheWVy
IHVuZnJlZXppbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjlhNWM0ZjNkNmI0NTIxMTg4ODZkMzYxZmNjMWY1MWIz
MzRkZjViNC4uYjg0MDljNGQ2Zjk2NWYxYmZiZGJhYTdlMGNmOWU3OTgzMjM3MjE5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMy0wNCAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgaW5pdGlhbCBsYXlvdXQgdGhyb3R0bGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgyODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCiAyMDIwLTAzLTA0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZpcnN0IHBhaW50
XSBHb2luZyBmcm9tIHZpc3VhbGx5IGVtcHR5IHRvIG5vbi1lbXB0eSBzaG91bGQgaW1tZWRpYXRl
bHkgdHJpZ2dlciBsYXllciB1bmZyZWV6aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggMTY3ZmZjN2JiNTBiOWJhM2QyNTViZjA5NzY4YjM0YTk2ZDg3OTQzMS4uZDY5ODA5YTlmNTBj
NmQ1NjQzZDQ4NzNhMzhhMDdmMGFmYzI1MzVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTA0ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0aHJvdHRsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIF9zZXRMYXlvdXRJbnRlcnZhbDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgX2xheW91dEludGVydmFsXSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06
CisKIDIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHJlLWFkZCBgSW5zcGVjdG9yRnJvbnRlbmRIb3N0YCBzdXBwb3J0
IGZvciBtb3ZpbmcgdGhlIGluc3BlY3RlZCB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDhlMWIwNDA3NmUwYjc5ODQxZmQ3ZTc1Mzk0MTIxMzk3NjFiODJlN2EuLmIxYjJkYjdhYjlk
NzhmNzg4NzJjN2MwMzhhYTVjZDllMTQ3OWY1ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMzA0OCwyNCArMzA0OCwxMSBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIE1ha2Ugc3VyZSBib3RoIHRoZSBpbml0aWFs
IGxheW91dCBhbmQgcmVmbG93IGhhcHBlbiBhZnRlciB0aGUgb25sb2FkCi0gICAgLy8gZmlyZXMu
IFRoaXMgd2lsbCBpbXByb3ZlIG9ubG9hZCBzY29yZXMsIGFuZCBvdGhlciBicm93c2VycyBkbyBp
dC4KLSAgICAvLyBJZiB0aGV5IHdhbm5hIGNoZWF0LCB3ZSBjYW4gdG9vLiAtZHdoCi0KLSAgICBp
ZiAoZnJhbWUoKS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLmxvY2F0aW9uQ2hhbmdlUGVuZGluZygp
ICYmIHRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKSA8IHNldHRpbmdzKCkubGF5b3V0SW50ZXJ2
YWwoKSkgewotICAgICAgICAvLyBKdXN0IGJhaWwgb3V0LiBCZWZvcmUgb3IgZHVyaW5nIHRoZSBv
bmxvYWQgd2Ugd2VyZSBzaGlmdGVkIHRvIGFub3RoZXIgcGFnZS4KLSAgICAgICAgLy8gVGhlIG9s
ZCBpLUJlbmNoIHN1aXRlIGRvZXMgdGhpcy4gV2hlbiB0aGlzIGhhcHBlbnMgZG9uJ3QgYm90aGVy
IHBhaW50aW5nIG9yIGxheWluZyBvdXQuICAgICAgICAKLSAgICAgICAgbV9wcm9jZXNzaW5nTG9h
ZEV2ZW50ID0gZmFsc2U7Ci0gICAgICAgIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLnVuc2NoZWR1
bGVMYXlvdXQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGZyYW1lKCktPmxvYWRl
cigpLmNoZWNrQ2FsbEltcGxpY2l0Q2xvc2UoKTsKICAgICAKLSAgICAvLyBXZSB1c2VkIHRvIGZv
cmNlIGEgc3luY2hyb25vdXMgZGlzcGxheSBhbmQgZmx1c2ggaGVyZS4gIFRoaXMgcmVhbGx5IGlz
bid0CisgICAgLy8gV2UgdXNlZCB0byBmb3JjZSBhIHN5bmNocm9ub3VzIGRpc3BsYXkgYW5kIGZs
dXNoIGhlcmUuIFRoaXMgcmVhbGx5IGlzbid0CiAgICAgLy8gbmVjZXNzYXJ5IGFuZCBjYW4gaW4g
ZmFjdCBiZSBhY3RpdmVseSBoYXJtZnVsIGlmIHBhZ2VzIGFyZSBsb2FkaW5nIGF0IGEgcmF0ZSBv
ZiA+IDYwZnBzCiAgICAgLy8gKGlmIHlvdXIgcGxhdGZvcm0gaXMgc3luY2luZyBmbHVzaGVzIGFu
ZCBsaW1pdGluZyB0aGVtIHRvIDYwZnBzKS4KLSAgICBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNo
b2xkID0gdHJ1ZTsKICAgICBpZiAoIW93bmVyRWxlbWVudCgpIHx8IChvd25lckVsZW1lbnQoKS0+
cmVuZGVyZXIoKSAmJiAhb3duZXJFbGVtZW50KCktPnJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkp
KSB7CiAgICAgICAgIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICAgICAgCkBAIC0zMTE1LDcg
KzMxMDIsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRQYXJzaW5nKGJvb2wgYikKICAgICAgICAgdmll
dygpLT5maXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCgpOwogfQogCi1ib29sIERv
Y3VtZW50OjpzaG91bGRTY2hlZHVsZUxheW91dCgpCitib29sIERvY3VtZW50OjpzaG91bGRTY2hl
ZHVsZUxheW91dCgpIGNvbnN0CiB7CiAgICAgaWYgKCFkb2N1bWVudEVsZW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMzEzMCwyNiArMzExNyw5IEBAIGJvb2wgRG9jdW1lbnQ6OnNo
b3VsZFNjaGVkdWxlTGF5b3V0KCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KICAgICAKLWJvb2wgRG9j
dW1lbnQ6OmlzTGF5b3V0VGltZXJBY3RpdmUoKQotewotICAgIHJldHVybiB2aWV3KCkgJiYgdmll
dygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIW1pbmltdW1MYXlvdXRE
ZWxheSgpOwotfQotCi1TZWNvbmRzIERvY3VtZW50OjptaW5pbXVtTGF5b3V0RGVsYXkoKQotewot
ICAgIGlmIChtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkKQotICAgICAgICByZXR1cm4gMF9z
OwotICAgIAotICAgIGF1dG8gZWxhcHNlZCA9IHRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKTsK
LSAgICBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkID0gZWxhcHNlZCA+IHNldHRpbmdzKCku
bGF5b3V0SW50ZXJ2YWwoKTsKLQotICAgIC8vIFdlJ2xsIHdhbnQgdG8gc2NoZWR1bGUgdGhlIHRp
bWVyIHRvIGZpcmUgYXQgdGhlIG1pbmltdW0gbGF5b3V0IHRocmVzaG9sZC4KLSAgICByZXR1cm4g
c3RkOjptYXgoMF9zLCBzZXR0aW5ncygpLmxheW91dEludGVydmFsKCkgLSBlbGFwc2VkKTsKLX0K
LQotU2Vjb25kcyBEb2N1bWVudDo6dGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpIGNvbnN0Citi
b29sIERvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
TW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2RvY3VtZW50Q3JlYXRpb25UaW1lOworICAgIHJldHVy
biB2aWV3KCkgJiYgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCk7CiB9
CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3cml0ZShEb2N1bWVudCogcmVzcG9uc2li
bGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggYmMyMDVkMDk3NTgxYTUxMjE1NmMwYzNkYTY1NmQ5ODlhNmFiMmViMC4uNGUzNzYwZGFmOTMw
MGYyYzdkNjcxM2NlZDlkYjA0NjM1NzgyYjQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTcz
MiwxMiArNzMyLDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlYWR5U3RhdGUoUmVhZHlTdGF0
ZSk7CiAgICAgdm9pZCBzZXRQYXJzaW5nKGJvb2wpOwogICAgIGJvb2wgcGFyc2luZygpIGNvbnN0
IHsgcmV0dXJuIG1fYlBhcnNpbmc7IH0KLSAgICBTZWNvbmRzIG1pbmltdW1MYXlvdXREZWxheSgp
OwogCi0gICAgYm9vbCBzaG91bGRTY2hlZHVsZUxheW91dCgpOwotICAgIGJvb2wgaXNMYXlvdXRU
aW1lckFjdGl2ZSgpOwotICAgIFNlY29uZHMgdGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpIGNv
bnN0OwotICAgIAorICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVMYXlvdXQoKSBjb25zdDsKKyAgICBi
b29sIGlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb25zdDsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAg
U2Vjb25kcyB0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uKCkgY29uc3QgeyByZXR1cm4gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX2RvY3VtZW50Q3JlYXRpb25UaW1lOyB9OworI2VuZGlmCiAgICAg
dm9pZCBzZXRUZXh0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKSB7IG1fdGV4dENvbG9yID0gY29s
b3I7IH0KICAgICBjb25zdCBDb2xvciYgdGV4dENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0
Q29sb3I7IH0KIApAQCAtMTc0Myw5ICsxNzQzLDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8TGF6eUxvYWRJbWFnZU9ic2VydmVyPiBtX2xhenlMb2FkSW1hZ2VPYnNlcnZlcjsKIAog
ICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fcGVuZGluZ1N0YXRlT2JqZWN0Owor
I2lmICFMT0dfRElTQUJMRUQKICAgICBNb25vdG9uaWNUaW1lIG1fZG9jdW1lbnRDcmVhdGlvblRp
bWU7Ci0gICAgYm9vbCBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkIHsgZmFsc2UgfTsKLSAg
ICAKKyNlbmRpZgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRSdW5uZXI+IG1fc2NyaXB0UnVu
bmVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRNb2R1bGVMb2FkZXI+IG1fbW9kdWxlTG9h
ZGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNw
cAppbmRleCA5ZWFhMmE3OGNmYjFlYzQ3Mzg4NzMyMTBkNGJhYmVlNTg1NzcyMTM1Li5jMzA0Y2Yx
Y2UxNmUwNmE0ZjA1MzY3MWZiYTc4Y2UwZmNlODYzN2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIwOCw3ICsyMDgsNiBAQCB2b2lk
IEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCgpCiAgICAgV2Vha1B0cjxSZW5kZXJFbGVt
ZW50PiBsYXlvdXRSb290OwogICAgIAogICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOwotICAgIG1f
ZGVsYXllZExheW91dCA9IGZhbHNlOwogICAgIG1fc2V0TmVlZHNMYXlvdXRXYXNEZWZlcnJlZCA9
IGZhbHNlOwogCiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMzM1LDcgKzMzNCw2IEBAIHZvaWQgRnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6cmVzZXQoKQogICAgIGNsZWFyU3VidHJlZUxheW91dFJvb3Qo
KTsKICAgICBtX2xheW91dENvdW50ID0gMDsKICAgICBtX2xheW91dFNjaGVkdWxpbmdJc0VuYWJs
ZWQgPSB0cnVlOwotICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwogICAgIG1fbGF5b3V0VGlt
ZXIuc3RvcCgpOwogICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVlOwogICAgIG1fYXN5bmNocm9ub3Vz
VGFza3NUaW1lci5zdG9wKCk7CkBAIC00MDAsMjEgKzM5OCwxNSBAQCB2b2lkIEZyYW1lVmlld0xh
eW91dENvbnRleHQ6OnNjaGVkdWxlTGF5b3V0KCkKICAgICBpZiAoZnJhbWUoKS5vd25lclJlbmRl
cmVyKCkgJiYgdmlldygpLmlzSW5DaGlsZEZyYW1lV2l0aEZyYW1lRmxhdHRlbmluZygpKQogICAg
ICAgICBmcmFtZSgpLm93bmVyUmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQoTWFya0NvbnRhaW5p
bmdCbG9ja0NoYWluKTsKIAotICAgIFNlY29uZHMgZGVsYXkgPSBmcmFtZSgpLmRvY3VtZW50KCkt
Pm1pbmltdW1MYXlvdXREZWxheSgpOwotICAgIGlmIChtX2xheW91dFRpbWVyLmlzQWN0aXZlKCkg
JiYgbV9kZWxheWVkTGF5b3V0ICYmICFkZWxheSkKLSAgICAgICAgdW5zY2hlZHVsZUxheW91dCgp
OwotCiAgICAgaWYgKG1fbGF5b3V0VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkudmFsdWUoKTsKLQogI2lmICFMT0dfRElTQUJM
RUQKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpCi0gICAgICAg
IExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAgc2NoZWR1bGluZyBsYXlvdXQgZm9yICUuM2ZzIiwg
dGhpcywgZGVsYXkudmFsdWUoKSk7CisgICAgICAgIExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAg
bGF5b3V0IHRpbWVyIHNjaGVkdWxlZCBhdCAlLjNmcyIsIHRoaXMsIGZyYW1lKCkuZG9jdW1lbnQo
KS0+dGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpLnZhbHVlKCkpOwogI2VuZGlmCiAKLSAgICBt
X2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9sYXlvdXRUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0Ojp1bnNjaGVk
dWxlTGF5b3V0KCkKQEAgLTQzMSw3ICs0MjMsNiBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnVuc2NoZWR1bGVMYXlvdXQoKQogI2VuZGlmCiAKICAgICBtX2xheW91dFRpbWVyLnN0b3Ao
KTsKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKIH0KIAogdm9pZCBGcmFtZVZpZXdMYXlv
dXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQoUmVuZGVyRWxlbWVudCYgbGF5b3V0Um9v
dCkKQEAgLTQ0OSwxMiArNDQwLDEwIEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2No
ZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvb3QpCiAgICAgfQogCiAg
ICAgaWYgKCFpc0xheW91dFBlbmRpbmcoKSAmJiBpc0xheW91dFNjaGVkdWxpbmdFbmFibGVkKCkp
IHsKLSAgICAgICAgU2Vjb25kcyBkZWxheSA9IHJlbmRlclZpZXcuZG9jdW1lbnQoKS5taW5pbXVt
TGF5b3V0RGVsYXkoKTsKICAgICAgICAgQVNTRVJUKCFsYXlvdXRSb290LmNvbnRhaW5lcigpIHx8
IGlzPFJlbmRlclZpZXc+KGxheW91dFJvb3QuY29udGFpbmVyKCkpIHx8ICFsYXlvdXRSb290LmNv
bnRhaW5lcigpLT5uZWVkc0xheW91dCgpKTsKICAgICAgICAgc2V0U3VidHJlZUxheW91dFJvb3Qo
bGF5b3V0Um9vdCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxp
ZGF0ZUxheW91dChmcmFtZSgpKTsKLSAgICAgICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkudmFs
dWUoKTsKLSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgICAg
ICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCmluZGV4
IGZmYjUwYTBkMTNjOTg2ZTEyNTc3ZGM4OTBkYTFhZjVmYzYxZTJiZTguLjY1ZWE5MzhlZDRlZmMx
YTllOWFhMGQ0YmRjYzAyZmIyZjQ2MzEyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC0xNzgsNyArMTc4LDYgQEAgcHJpdmF0ZToKICAgICBX
ZWFrUHRyPFJlbmRlckVsZW1lbnQ+IG1fc3VidHJlZUxheW91dFJvb3Q7CiAKICAgICBib29sIG1f
bGF5b3V0U2NoZWR1bGluZ0lzRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1fZGVsYXllZExh
eW91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2ZpcnN0TGF5b3V0IHsgdHJ1ZSB9OwogICAgIGJv
b2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pbkFzeW5jaHJvbm91
c1Rhc2tzIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3NCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcAppbmRleCBj
OTg5OWFkZWYwOTNmYjRmMWMxNTA4N2NkY2Y3YTJhM2RiYjRmMDM3Li43ODQ3N2E5YjkyODYxYTVi
OTYxNjIzYmIxZjUwMTE0MTZiY2I0MGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2Uu
Y3BwCkBAIC02MSwxNSArNjEsOSBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlQWZ0ZXJHZW5lcmlj
RmFtaWx5Q2hhbmdlKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2UtPnNldE5lZWRzUmVjYWxjU3R5
bGVJbkFsbEZyYW1lcygpOwogfQogCi0vLyBUaGlzIGFtb3VudCBvZiB0aW1lIG11c3QgaGF2ZSBl
bGFwc2VkIGJlZm9yZSB3ZSB3aWxsIGV2ZW4gY29uc2lkZXIgc2NoZWR1bGluZyBhIGxheW91dCB3
aXRob3V0IGEgZGVsYXkuCi0vLyBGSVhNRTogRm9yIGZhc3RlciBtYWNoaW5lcyB0aGlzIHZhbHVl
IGNhbiByZWFsbHkgYmUgbG93ZXJlZCB0byAyMDAuIDI1MCBpcyBhZGVxdWF0ZSwgYnV0IGEgbGl0
dGxlIGhpZ2gKLS8vIGZvciBkdWFsIEc1cy4gOikKLXN0YXRpYyBjb25zdCBTZWNvbmRzIGxheW91
dFNjaGVkdWxlVGhyZXNob2xkID0gMjUwX21zOwotCiBTZXR0aW5nc0Jhc2U6OlNldHRpbmdzQmFz
ZShQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKG51bGxwdHIpCiAgICAgLCBtX2ZvbnRHZW5lcmlj
RmFtaWxpZXMobWFrZVVuaXF1ZTxGb250R2VuZXJpY0ZhbWlsaWVzPigpKQotICAgICwgbV9sYXlv
dXRJbnRlcnZhbChsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCkKICAgICAsIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWwoRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSkKICAgICAsIG1f
c2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzQmFzZTo6aW1hZ2VM
b2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogewpAQCAtMjM0LDEzICsyMjgsNiBAQCB2b2lkIFNl
dHRpbmdzQmFzZTo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkK
ICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3NCYXNlOjpzZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRz
IGxheW91dEludGVydmFsKQotewotICAgIC8vIEZJWE1FOiBJdCBzZWVtcyB3ZWlyZCB0aGF0IHRo
aXMgZnVuY3Rpb24gbWF5IGRpc3JlZ2FyZCB0aGUgc3BlY2lmaWVkIGxheW91dCBpbnRlcnZhbC4K
LSAgICAvLyBXZSBzaG91bGQgZWl0aGVyIGV4cG9zZSBsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCBv
ciBiZXR0ZXIgY29tbXVuaWNhdGUgdGhpcyBpbnZhcmlhbnQuCi0gICAgbV9sYXlvdXRJbnRlcnZh
bCA9IHN0ZDo6bWF4KGxheW91dEludGVydmFsLCBsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCk7Ci19
Ci0KIHZvaWQgU2V0dGluZ3NCYXNlOjpzZXRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3
YXJlU3VwcG9ydChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlcykKIHsKICAgICBtX21lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0LnNocmluaygwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzQmFzZS5oCmluZGV4IDI1MWI3ZTYxMzdlZTVkMGM5NzQyOWVkOWZhOWQ0NDdiOWU2
ZjJmZDIuLjRjMGIzOWYxMjk5YWM4MTcwNWJlY2NlZDA2Nzg2MDhhZGYzNzY4NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5nc0Jhc2UuaApAQCAtMTU5LDkgKzE1OSw2IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAv
LyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgogICAg
IFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmlt
dW1ET01UaW1lckludGVydmFsOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91
dEludGVydmFsKFNlY29uZHMpOwotICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX2xheW91dEludGVydmFsOyB9Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQogICAgIGZsb2F0IG9uZUxpbmVUZXh0TXVsdGlwbGllckNvZWZmaWNpZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9vbmVMaW5lVGV4dE11bHRpcGxpZXJDb2VmZmljaWVudDsgfQogICAgIGZsb2F0IG11
bHRpTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQoKSBjb25zdCB7IHJldHVybiBtX211bHRp
TGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQ7IH0KQEAgLTIwNiw3ICsyMDMsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgUGFnZSogbV9wYWdlOwogCiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZv
bnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKLSAgICBTZWNvbmRzIG1f
bGF5b3V0SW50ZXJ2YWw7CiAgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwog
CiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggNTAxMDRhOWM5YmJjYWE5ODJmZDJmM2Q3
MWFhMjNmNWEzZjZlZTk4YS4uYTc3OWUzM2Y0NDIzZGQxODY0MDY1ZjlmYTcyNjdlOWQwOWQ4ZDE3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzMsMTEg
KzkzMyw2IEBAIERlZmF1bHRGaXhlZEZvbnRTaXplOgogICB0eXBlOiBkb3VibGUKICAgZGVmYXVs
dFZhbHVlOiAxMwogCi1MYXlvdXRJbnRlcnZhbDoKLSAgdHlwZTogZG91YmxlCi0gIGRlZmF1bHRW
YWx1ZTogLTEKLSAgd2ViY29yZUJpbmRpbmc6IGN1c3RvbQotCiBNYXhQYXJzZUR1cmF0aW9uOgog
ICB0eXBlOiBkb3VibGUKICAgZGVmYXVsdFZhbHVlOiAtMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlMjEyOWI1ZGExMGE4MDNiNzdhMzExOTQw
MDBmNjc1YjM4ZmYyZjJiLi5jYzBkNzU4NDg0OTQ3YzBjNGQxMzU2ZGI1ZjAxNmQ0Zjg4MDhmMzc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzY0Nyw3ICszNjQ3LDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYSA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVx
dWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSk7CiAgICAgc2V0dGluZ3Muc2V0
VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEF1
ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVz
VXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRMYXlv
dXRJbnRlcnZhbChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeT4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lLZXkoKSkpKTsKICAgICBzZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc3RhdGljX2Nhc3Q8VGV4dERpcmVjdGlvbj4oc3RvcmUu
Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN5c3RlbUxheW91dERpcmVj
dGlvbktleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEphdmFTY3JpcHRSdW50aW1lRmxhZ3Moc3Rh
dGljX2Nhc3Q8UnVudGltZUZsYWdzPihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6amF2YVNjcmlwdFJ1bnRpbWVGbGFnc0tleSgpKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKaW5kZXggMTMxN2I0OWYxNmY2NzJlMWUxN2ZmMjljNGJiZmRlZmU4MmI0Y2M5ZC4uMDIy
Zjc4YWZjODE1YjE0NmJhYjQyZmFhYmRlYWRjN2MyNTE4NzFkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0yNDAsNyArMjQwLDYgQEAKICNkZWZpbmUgV2ViS2l0VGVsZXBob25lUGFyc2luZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VGVsZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5IgogI2RlZmluZSBXZWJLaXRBbGxvd011bHRpRWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1p
c3Npb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1T
dWJtaXNzaW9uUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWx3YXlzUmVxdWVzdEdlb2xv
Y2F0aW9uUGVybWlzc2lvblByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbHdheXNSZXF1ZXN0R2VvbG9j
YXRpb25QZXJtaXNzaW9uIgotI2RlZmluZSBXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdE1h
eFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWF4UGFyc2VEdXJhdGlvblByZWZl
cmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VUcmFja2VyRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRTdG9yYWdlVHJhY2tlckVuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBX
ZWJLaXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsUHJlZmVyZW5jZUtleSBAIldl
YktpdEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBlMjBlZTc0NDVj
YTliMzUyZmE2N2Q4NWYzNDFmMjIxMmEwZDYyMGU1Li40MGU1ZjM0ZTdhMjc0ODFkZjAxMWQ4YzUz
ZjBhMzJhNDZlZmY4YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTU3Niw3ICs1NzYsNiBAQCBwdWJsaWM6CiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgQFlFUywgV2ViS2l0Q29udGVudENoYW5nZU9ic2Vy
dmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VGVsZXBob25lUGFy
c2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aElu
dDotMV0sIFdlYktpdExheW91dEludGVydmFsUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhGbG9hdDotMS4wZl0sIFdlYktpdE1heFBhcnNlRHVyYXRpb25QcmVmZXJl
bmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3Jt
U3VibWlzc2lvblByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0QWx3YXlzUmVxdWVz
dEdlb2xvY2F0aW9uUGVybWlzc2lvblByZWZlcmVuY2VLZXksCkBAIC0xNjczLDE2ICsxNjcyLDYg
QEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotLSAodm9pZClf
c2V0TGF5b3V0SW50ZXJ2YWw6KGludClsCi17Ci0gICAgW3NlbGYgX3NldEludGVnZXJWYWx1ZTps
IGZvcktleTpXZWJLaXRMYXlvdXRJbnRlcnZhbFByZWZlcmVuY2VLZXldOwotfQotCi0tIChpbnQp
X2xheW91dEludGVydmFsCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbnRlZ2VyVmFsdWVGb3JLZXk6
V2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5XTsKLX0KLQogLSAodm9pZClfc2V0TWF4
UGFyc2VEdXJhdGlvbjooZmxvYXQpZAogewogICAgIFtzZWxmIF9zZXRGbG9hdFZhbHVlOmQgZm9y
S2V5OldlYktpdE1heFBhcnNlRHVyYXRpb25QcmVmZXJlbmNlS2V5XTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmlu
ZGV4IDNiYzM3NDFmMzdjOWQzMTczODRkZWNiMmNjNjhmMTVjZjRkOWJkMzkuLjhkNDgzMjA0MjM3
OTRjMGVhN2EyMTEzNTAzZjdkMGMyZWM4YmE3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMzg5LDgg
KzM4OSw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdl
ZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiAtIChCT09MKV9hbHdheXNSZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uOwogLSAodm9pZClfc2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRP
dmVyZmxvd1Njcm9sbDooQk9PTClmbGFnOwogLSAoQk9PTClfYWx3YXlzVXNlQWNjZWxlcmF0ZWRP
dmVyZmxvd1Njcm9sbDsKLS0gKHZvaWQpX3NldExheW91dEludGVydmFsOihpbnQpbWlsbGlzZWNv
bmRzOwotLSAoaW50KV9sYXlvdXRJbnRlcnZhbDsgLy8gTWlsbGlzZW9uZHMuCiAtICh2b2lkKV9z
ZXRNYXhQYXJzZUR1cmF0aW9uOihmbG9hdClkOwogLSAoZmxvYXQpX21heFBhcnNlRHVyYXRpb247
CiAtICh2b2lkKV9zZXRJbnRlcnBvbGF0aW9uUXVhbGl0eTooaW50KXF1YWxpdHk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMjg5NzllOGE2ZjU0ZDQ5
MzQ3YmEwZjkzNTczNzRiMmU4M2M3YzU5Zi4uOTE0ODg4MjA5ZjhkNGRmOWMyYWNjNzQxYzAzY2Uy
OGFiNmQzZDEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQpAQCAtMzA0Miw3ICszMDQyLDYgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVM
b2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldFN0YW5kYWxvbmUoW3ByZWZlcmVuY2VzIF9z
dGFuZGFsb25lXSk7CiAgICAgc2V0dGluZ3Muc2V0VGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJs
ZWQoW3ByZWZlcmVuY2VzIF90ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZF0pOwogICAgIHNl
dHRpbmdzLnNldEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uKFtwcmVmZXJlbmNl
cyBfYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uXSk7Ci0gICAgc2V0dGlu
Z3Muc2V0TGF5b3V0SW50ZXJ2YWwoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhbcHJlZmVyZW5j
ZXMgX2xheW91dEludGVydmFsXSkpOwogICAgIHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24o
W3ByZWZlcmVuY2VzIF9tYXhQYXJzZUR1cmF0aW9uXSk7CiAgICAgc2V0dGluZ3Muc2V0QWx3YXlz
VXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbChbcHJlZmVyZW5jZXMgX2Fsd2F5c1VzZUFjY2Vs
ZXJhdGVkT3ZlcmZsb3dTY3JvbGxdKTsKICAgICBzZXR0aW5ncy5zZXRDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJFbmFibGVkKFtwcmVmZXJlbmNlcyBjb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkXSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392418</attachid>
            <date>2020-03-04 09:02:04 -0800</date>
            <delta_ts>2020-03-04 11:05:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208285-20200304090203.patch</filename>
            <type>text/plain</type>
            <size>20223</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE3YzNlNTI4YTY4ZTcw
ZDY0ZjE0Y2QyODliMmJhMDg4NDZhNmViZS4uMTA4ODhjN2NlZGNhMmRkZTY2N2M5OWY0YWY3NDVh
ODgxOWJhMTU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTAzLTA0ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0
aHJvdHRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwODI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IFRoaXMgcmVtb3ZlcyBhIHRocm90dGxlIHRoYXQgY2FuIHByZXZlbnQgdXMgZnJvbSBsYXlpbmcg
b3V0IGR1cmluZyB0aGUgZmlyc3QgMjUwIG1zIG9mIHBhZ2UKKyAgICAgICAgbG9hZC4gVGhpcyB0
aHJvdHRsZSBpcyBnZW5lcmFsbHkgbm90IGVmZmVjdGl2ZSAobWFueSBwYWdlcyBoYXZlIEpTIHRo
YXQgZm9yY2UgYSBzeW5jIGxheW91dAorICAgICAgICBiZWZvcmUgdGhlIGZpcnN0IDI1MCBtcyBv
ZiBsb2FkaW5nKSBhbmQgaXMgYWxzbyBleHRyZW1lbHkgb3V0ZGF0ZWQgKHRoZSBjb21tZW50IHNh
eXMgdGhlCisgICAgICAgIGludGVydmFsIGlzIHRvbyBoaWdoIGZvciBkdWFsIEc1cykuIFdlIGFs
cmVhZHkgaGF2ZSB0b28gbWFueSB0aHJvdHRsZXMgaW4gdG9vIG1hbnkgcGxhY2VzLAorICAgICAg
ICBzbyBsZXQncyByZW1vdmUgdGhpcyBvbmUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnNob3VsZFNjaGVkdWxlTGF5b3V0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzaG91bGRTY2hlZHVsZUxheW91dCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNMYXlvdXRUaW1lckFjdGl2ZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bWluaW11bUxheW91dERlbGF5KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpwYXJzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojp0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlld0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0
Q29udGV4dDo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6OnNj
aGVkdWxlTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRleHQ6
OnVuc2NoZWR1bGVMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0Q29u
dGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlld0xh
eW91dENvbnRleHQuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nc0Jhc2U6OlNldHRpbmdzQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nc0Jhc2U6OnNldExheW91dEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpsYXlv
dXRJbnRlcnZhbCBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjAtMDMtMDQgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbRmlyc3QgcGFpbnRdIEdvaW5nIGZyb20gdmlz
dWFsbHkgZW1wdHkgdG8gbm9uLWVtcHR5IHNob3VsZCBpbW1lZGlhdGVseSB0cmlnZ2VyIGxheWVy
IHVuZnJlZXppbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjlhNWM0ZjNkNmI0NTIxMTg4ODZkMzYxZmNjMWY1MWIz
MzRkZjViNC4uYjg0MDljNGQ2Zjk2NWYxYmZiZGJhYTdlMGNmOWU3OTgzMjM3MjE5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMy0wNCAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgaW5pdGlhbCBsYXlvdXQgdGhyb3R0bGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgyODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCiAyMDIwLTAzLTA0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZpcnN0IHBhaW50
XSBHb2luZyBmcm9tIHZpc3VhbGx5IGVtcHR5IHRvIG5vbi1lbXB0eSBzaG91bGQgaW1tZWRpYXRl
bHkgdHJpZ2dlciBsYXllciB1bmZyZWV6aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggMTY3ZmZjN2JiNTBiOWJhM2QyNTViZjA5NzY4YjM0YTk2ZDg3OTQzMS4uZDY5ODA5YTlmNTBj
NmQ1NjQzZDQ4NzNhMzhhMDdmMGFmYzI1MzVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTA0ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbml0aWFsIGxheW91dCB0aHJvdHRsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIF9zZXRMYXlvdXRJbnRlcnZhbDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgX2xheW91dEludGVydmFsXSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06
CisKIDIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHJlLWFkZCBgSW5zcGVjdG9yRnJvbnRlbmRIb3N0YCBzdXBwb3J0
IGZvciBtb3ZpbmcgdGhlIGluc3BlY3RlZCB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDhlMWIwNDA3NmUwYjc5ODQxZmQ3ZTc1Mzk0MTIxMzk3NjFiODJlN2EuLjg3ZDE0Zjk0OTc5
YTU3OTMwMDQwYTgxNmIzZWVjOWMzYzI2Zjc0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtNTQ2LDcgKzU0Niw5IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2lnCiAgICAgLCBtX3Zpc2l0
ZWRMaW5rU3RhdGUobWFrZVVuaXF1ZTxWaXNpdGVkTGlua1N0YXRlPigqdGhpcykpCiAgICAgLCBt
X21hcmtlcnMobWFrZVVuaXF1ZTxEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI+KCp0aGlzKSkKICAg
ICAsIG1fc3R5bGVSZWNhbGNUaW1lcihbdGhpc10geyB1cGRhdGVTdHlsZUlmTmVlZGVkKCk7IH0p
CisjaWYgIUxPR19ESVNBQkxFRAogICAgICwgbV9kb2N1bWVudENyZWF0aW9uVGltZShNb25vdG9u
aWNUaW1lOjpub3coKSkKKyNlbmRpZgogICAgICwgbV9zY3JpcHRSdW5uZXIobWFrZVVuaXF1ZTxT
Y3JpcHRSdW5uZXI+KCp0aGlzKSkKICAgICAsIG1fbW9kdWxlTG9hZGVyKG1ha2VVbmlxdWU8U2Ny
aXB0TW9kdWxlTG9hZGVyPigqdGhpcykpCiAjaWYgRU5BQkxFKFhTTFQpCkBAIC0zMDQ4LDI0ICsz
MDUwLDExIEBAIHZvaWQgRG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UoKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgLy8gTWFrZSBzdXJlIGJvdGggdGhlIGluaXRpYWwgbGF5b3V0IGFuZCBy
ZWZsb3cgaGFwcGVuIGFmdGVyIHRoZSBvbmxvYWQKLSAgICAvLyBmaXJlcy4gVGhpcyB3aWxsIGlt
cHJvdmUgb25sb2FkIHNjb3JlcywgYW5kIG90aGVyIGJyb3dzZXJzIGRvIGl0LgotICAgIC8vIElm
IHRoZXkgd2FubmEgY2hlYXQsIHdlIGNhbiB0b28uIC1kd2gKLQotICAgIGlmIChmcmFtZSgpLT5u
YXZpZ2F0aW9uU2NoZWR1bGVyKCkubG9jYXRpb25DaGFuZ2VQZW5kaW5nKCkgJiYgdGltZVNpbmNl
RG9jdW1lbnRDcmVhdGlvbigpIDwgc2V0dGluZ3MoKS5sYXlvdXRJbnRlcnZhbCgpKSB7Ci0gICAg
ICAgIC8vIEp1c3QgYmFpbCBvdXQuIEJlZm9yZSBvciBkdXJpbmcgdGhlIG9ubG9hZCB3ZSB3ZXJl
IHNoaWZ0ZWQgdG8gYW5vdGhlciBwYWdlLgotICAgICAgICAvLyBUaGUgb2xkIGktQmVuY2ggc3Vp
dGUgZG9lcyB0aGlzLiBXaGVuIHRoaXMgaGFwcGVucyBkb24ndCBib3RoZXIgcGFpbnRpbmcgb3Ig
bGF5aW5nIG91dC4gICAgICAgIAotICAgICAgICBtX3Byb2Nlc3NpbmdMb2FkRXZlbnQgPSBmYWxz
ZTsKLSAgICAgICAgdmlldygpLT5sYXlvdXRDb250ZXh0KCkudW5zY2hlZHVsZUxheW91dCgpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgZnJhbWUoKS0+bG9hZGVyKCkuY2hlY2tDYWxs
SW1wbGljaXRDbG9zZSgpOwogICAgIAotICAgIC8vIFdlIHVzZWQgdG8gZm9yY2UgYSBzeW5jaHJv
bm91cyBkaXNwbGF5IGFuZCBmbHVzaCBoZXJlLiAgVGhpcyByZWFsbHkgaXNuJ3QKKyAgICAvLyBX
ZSB1c2VkIHRvIGZvcmNlIGEgc3luY2hyb25vdXMgZGlzcGxheSBhbmQgZmx1c2ggaGVyZS4gVGhp
cyByZWFsbHkgaXNuJ3QKICAgICAvLyBuZWNlc3NhcnkgYW5kIGNhbiBpbiBmYWN0IGJlIGFjdGl2
ZWx5IGhhcm1mdWwgaWYgcGFnZXMgYXJlIGxvYWRpbmcgYXQgYSByYXRlIG9mID4gNjBmcHMKICAg
ICAvLyAoaWYgeW91ciBwbGF0Zm9ybSBpcyBzeW5jaW5nIGZsdXNoZXMgYW5kIGxpbWl0aW5nIHRo
ZW0gdG8gNjBmcHMpLgotICAgIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQgPSB0cnVlOwog
ICAgIGlmICghb3duZXJFbGVtZW50KCkgfHwgKG93bmVyRWxlbWVudCgpLT5yZW5kZXJlcigpICYm
ICFvd25lckVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSkpIHsKICAgICAgICAg
dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgICAgICAKQEAgLTMxMTUsNyArMzEwNCw3IEBAIHZv
aWQgRG9jdW1lbnQ6OnNldFBhcnNpbmcoYm9vbCBiKQogICAgICAgICB2aWV3KCktPmZpcmVMYXlv
dXRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7CiB9CiAKLWJvb2wgRG9jdW1lbnQ6OnNob3Vs
ZFNjaGVkdWxlTGF5b3V0KCkKK2Jvb2wgRG9jdW1lbnQ6OnNob3VsZFNjaGVkdWxlTGF5b3V0KCkg
Y29uc3QKIHsKICAgICBpZiAoIWRvY3VtZW50RWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC0zMTMwLDI2ICszMTE5LDkgQEAgYm9vbCBEb2N1bWVudDo6c2hvdWxkU2NoZWR1bGVM
YXlvdXQoKQogICAgIHJldHVybiB0cnVlOwogfQogICAgIAotYm9vbCBEb2N1bWVudDo6aXNMYXlv
dXRUaW1lckFjdGl2ZSgpCi17Ci0gICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dENv
bnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhbWluaW11bUxheW91dERlbGF5KCk7Ci19Ci0K
LVNlY29uZHMgRG9jdW1lbnQ6Om1pbmltdW1MYXlvdXREZWxheSgpCi17Ci0gICAgaWYgKG1fb3Zl
ck1pbmltdW1MYXlvdXRUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiAwX3M7Ci0gICAgCi0gICAg
YXV0byBlbGFwc2VkID0gdGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpOwotICAgIG1fb3Zlck1p
bmltdW1MYXlvdXRUaHJlc2hvbGQgPSBlbGFwc2VkID4gc2V0dGluZ3MoKS5sYXlvdXRJbnRlcnZh
bCgpOwotCi0gICAgLy8gV2UnbGwgd2FudCB0byBzY2hlZHVsZSB0aGUgdGltZXIgdG8gZmlyZSBh
dCB0aGUgbWluaW11bSBsYXlvdXQgdGhyZXNob2xkLgotICAgIHJldHVybiBzdGQ6Om1heCgwX3Ms
IHNldHRpbmdzKCkubGF5b3V0SW50ZXJ2YWwoKSAtIGVsYXBzZWQpOwotfQotCi1TZWNvbmRzIERv
Y3VtZW50Ojp0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uKCkgY29uc3QKK2Jvb2wgRG9jdW1lbnQ6
OmlzTGF5b3V0VGltZXJBY3RpdmUoKSBjb25zdAogewotICAgIHJldHVybiBNb25vdG9uaWNUaW1l
Ojpub3coKSAtIG1fZG9jdW1lbnRDcmVhdGlvblRpbWU7CisgICAgcmV0dXJuIHZpZXcoKSAmJiB2
aWV3KCktPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKTsKIH0KIAogRXhjZXB0aW9u
T3I8dm9pZD4gRG9jdW1lbnQ6OndyaXRlKERvY3VtZW50KiByZXNwb25zaWJsZURvY3VtZW50LCBT
ZWdtZW50ZWRTdHJpbmcmJiB0ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBiYzIwNWQwOTc1
ODFhNTEyMTU2YzBjM2RhNjU2ZDk4OWE2YWIyZWIwLi40ZTM3NjBkYWY5MzAwZjJjN2Q2NzEzY2Vk
OWRiMDQ2MzU3ODJiNDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzMyLDEyICs3MzIsMTIg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlKTsKICAgICB2b2lk
IHNldFBhcnNpbmcoYm9vbCk7CiAgICAgYm9vbCBwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9i
UGFyc2luZzsgfQotICAgIFNlY29uZHMgbWluaW11bUxheW91dERlbGF5KCk7CiAKLSAgICBib29s
IHNob3VsZFNjaGVkdWxlTGF5b3V0KCk7Ci0gICAgYm9vbCBpc0xheW91dFRpbWVyQWN0aXZlKCk7
Ci0gICAgU2Vjb25kcyB0aW1lU2luY2VEb2N1bWVudENyZWF0aW9uKCkgY29uc3Q7Ci0gICAgCisg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZUxheW91dCgpIGNvbnN0OworICAgIGJvb2wgaXNMYXlvdXRU
aW1lckFjdGl2ZSgpIGNvbnN0OworI2lmICFMT0dfRElTQUJMRUQKKyAgICBTZWNvbmRzIHRpbWVT
aW5jZURvY3VtZW50Q3JlYXRpb24oKSBjb25zdCB7IHJldHVybiBNb25vdG9uaWNUaW1lOjpub3co
KSAtIG1fZG9jdW1lbnRDcmVhdGlvblRpbWU7IH07CisjZW5kaWYKICAgICB2b2lkIHNldFRleHRD
b2xvcihjb25zdCBDb2xvciYgY29sb3IpIHsgbV90ZXh0Q29sb3IgPSBjb2xvcjsgfQogICAgIGNv
bnN0IENvbG9yJiB0ZXh0Q29sb3IoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb2xvcjsgfQogCkBA
IC0xNzQzLDkgKzE3NDMsOSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9h
ZEltYWdlT2JzZXJ2ZXI+IG1fbGF6eUxvYWRJbWFnZU9ic2VydmVyOwogCiAgICAgUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9wZW5kaW5nU3RhdGVPYmplY3Q7CisjaWYgIUxPR19ESVNB
QkxFRAogICAgIE1vbm90b25pY1RpbWUgbV9kb2N1bWVudENyZWF0aW9uVGltZTsKLSAgICBib29s
IG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQgeyBmYWxzZSB9OwotICAgIAorI2VuZGlmCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdFJ1bm5lcj4gbV9zY3JpcHRSdW5uZXI7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNjcmlwdE1vZHVsZUxvYWRlcj4gbV9tb2R1bGVMb2FkZXI7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCmluZGV4IDllYWEy
YTc4Y2ZiMWVjNDczODg3MzIxMGQ0YmFiZWU1ODU3NzIxMzUuLmMzMDRjZjFjZTE2ZTA2YTRmMDUz
NjcxZmJhNzhjZTBmY2U4NjM3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXdMYXlvdXRDb250ZXh0LmNwcApAQCAtMjA4LDcgKzIwOCw2IEBAIHZvaWQgRnJhbWVWaWV3TGF5
b3V0Q29udGV4dDo6bGF5b3V0KCkKICAgICBXZWFrUHRyPFJlbmRlckVsZW1lbnQ+IGxheW91dFJv
b3Q7CiAgICAgCiAgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7Ci0gICAgbV9kZWxheWVkTGF5b3V0
ID0gZmFsc2U7CiAgICAgbV9zZXROZWVkc0xheW91dFdhc0RlZmVycmVkID0gZmFsc2U7CiAKICNp
ZiAhTE9HX0RJU0FCTEVECkBAIC0zMzUsNyArMzM0LDYgQEAgdm9pZCBGcmFtZVZpZXdMYXlvdXRD
b250ZXh0OjpyZXNldCgpCiAgICAgY2xlYXJTdWJ0cmVlTGF5b3V0Um9vdCgpOwogICAgIG1fbGF5
b3V0Q291bnQgPSAwOwogICAgIG1fbGF5b3V0U2NoZWR1bGluZ0lzRW5hYmxlZCA9IHRydWU7Ci0g
ICAgbV9kZWxheWVkTGF5b3V0ID0gZmFsc2U7CiAgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7CiAg
ICAgbV9maXJzdExheW91dCA9IHRydWU7CiAgICAgbV9hc3luY2hyb25vdXNUYXNrc1RpbWVyLnN0
b3AoKTsKQEAgLTQwMCwyMSArMzk4LDE1IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6
c2NoZWR1bGVMYXlvdXQoKQogICAgIGlmIChmcmFtZSgpLm93bmVyUmVuZGVyZXIoKSAmJiB2aWV3
KCkuaXNJbkNoaWxkRnJhbWVXaXRoRnJhbWVGbGF0dGVuaW5nKCkpCiAgICAgICAgIGZyYW1lKCku
b3duZXJSZW5kZXJlcigpLT5zZXROZWVkc0xheW91dChNYXJrQ29udGFpbmluZ0Jsb2NrQ2hhaW4p
OwogCi0gICAgU2Vjb25kcyBkZWxheSA9IGZyYW1lKCkuZG9jdW1lbnQoKS0+bWluaW11bUxheW91
dERlbGF5KCk7Ci0gICAgaWYgKG1fbGF5b3V0VGltZXIuaXNBY3RpdmUoKSAmJiBtX2RlbGF5ZWRM
YXlvdXQgJiYgIWRlbGF5KQotICAgICAgICB1bnNjaGVkdWxlTGF5b3V0KCk7Ci0KICAgICBpZiAo
bV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2RlbGF5
ZWRMYXlvdXQgPSBkZWxheS52YWx1ZSgpOwotCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGlmICgh
ZnJhbWUoKS5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgTE9HKExheW91dCwg
IkZyYW1lVmlldyAlcCBzY2hlZHVsaW5nIGxheW91dCBmb3IgJS4zZnMiLCB0aGlzLCBkZWxheS52
YWx1ZSgpKTsKKyAgICAgICAgTE9HKExheW91dCwgIkZyYW1lVmlldyAlcCBsYXlvdXQgdGltZXIg
c2NoZWR1bGVkIGF0ICUuM2ZzIiwgdGhpcywgZnJhbWUoKS5kb2N1bWVudCgpLT50aW1lU2luY2VE
b2N1bWVudENyZWF0aW9uKCkudmFsdWUoKSk7CiAjZW5kaWYKIAotICAgIG1fbGF5b3V0VGltZXIu
c3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OnVuc2NoZWR1bGVMYXlvdXQoKQpA
QCAtNDMxLDcgKzQyMyw2IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6dW5zY2hlZHVs
ZUxheW91dCgpCiAjZW5kaWYKIAogICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOwotICAgIG1fZGVs
YXllZExheW91dCA9IGZhbHNlOwogfQogCiB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OnNj
aGVkdWxlU3VidHJlZUxheW91dChSZW5kZXJFbGVtZW50JiBsYXlvdXRSb290KQpAQCAtNDQ5LDEy
ICs0NDAsMTAgQEAgdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVM
YXlvdXQoUmVuZGVyRWxlbWVudCYgbGF5b3V0Um9vdCkKICAgICB9CiAKICAgICBpZiAoIWlzTGF5
b3V0UGVuZGluZygpICYmIGlzTGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQoKSkgewotICAgICAgICBT
ZWNvbmRzIGRlbGF5ID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLm1pbmltdW1MYXlvdXREZWxheSgp
OwogICAgICAgICBBU1NFUlQoIWxheW91dFJvb3QuY29udGFpbmVyKCkgfHwgaXM8UmVuZGVyVmll
dz4obGF5b3V0Um9vdC5jb250YWluZXIoKSkgfHwgIWxheW91dFJvb3QuY29udGFpbmVyKCktPm5l
ZWRzTGF5b3V0KCkpOwogICAgICAgICBzZXRTdWJ0cmVlTGF5b3V0Um9vdChsYXlvdXRSb290KTsK
ICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0KGZy
YW1lKCkpOwotICAgICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheS52YWx1ZSgpOwotICAgICAg
ICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgICAgIG1fbGF5b3V0VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKaW5kZXggZmZiNTBhMGQxM2M5
ODZlMTI1NzdkYzg5MGRhMWFmNWZjNjFlMmJlOC4uNjVlYTkzOGVkNGVmYzFhOWU5YWEwZDRiZGNj
MDJmYjJmNDYzMTJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdM
YXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmgKQEAgLTE3OCw3ICsxNzgsNiBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8UmVuZGVy
RWxlbWVudD4gbV9zdWJ0cmVlTGF5b3V0Um9vdDsKIAogICAgIGJvb2wgbV9sYXlvdXRTY2hlZHVs
aW5nSXNFbmFibGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9kZWxheWVkTGF5b3V0IHsgZmFsc2Ug
fTsKICAgICBib29sIG1fZmlyc3RMYXlvdXQgeyB0cnVlIH07CiAgICAgYm9vbCBtX25lZWRzRnVs
bFJlcGFpbnQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2luQXN5bmNocm9ub3VzVGFza3MgeyBmYWxz
ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuY3BwCmluZGV4IGM5ODk5YWRlZjA5M2Zi
NGYxYzE1MDg3Y2RjZjdhMmEzZGJiNGYwMzcuLjc4NDc3YTliOTI4NjFhNWI5NjE2MjNiYjFmNTAx
MTQxNmJjYjQwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHAKQEAgLTYxLDE1
ICs2MSw5IEBAIHN0YXRpYyB2b2lkIGludmFsaWRhdGVBZnRlckdlbmVyaWNGYW1pbHlDaGFuZ2Uo
UGFnZSogcGFnZSkKICAgICAgICAgcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7CiB9CiAKLS8vIFRoaXMgYW1vdW50IG9mIHRpbWUgbXVzdCBoYXZlIGVsYXBzZWQgYmVmb3Jl
IHdlIHdpbGwgZXZlbiBjb25zaWRlciBzY2hlZHVsaW5nIGEgbGF5b3V0IHdpdGhvdXQgYSBkZWxh
eS4KLS8vIEZJWE1FOiBGb3IgZmFzdGVyIG1hY2hpbmVzIHRoaXMgdmFsdWUgY2FuIHJlYWxseSBi
ZSBsb3dlcmVkIHRvIDIwMC4gMjUwIGlzIGFkZXF1YXRlLCBidXQgYSBsaXR0bGUgaGlnaAotLy8g
Zm9yIGR1YWwgRzVzLiA6KQotc3RhdGljIGNvbnN0IFNlY29uZHMgbGF5b3V0U2NoZWR1bGVUaHJl
c2hvbGQgPSAyNTBfbXM7Ci0KIFNldHRpbmdzQmFzZTo6U2V0dGluZ3NCYXNlKFBhZ2UqIHBhZ2Up
CiAgICAgOiBtX3BhZ2UobnVsbHB0cikKICAgICAsIG1fZm9udEdlbmVyaWNGYW1pbGllcyhtYWtl
VW5pcXVlPEZvbnRHZW5lcmljRmFtaWxpZXM+KCkpCi0gICAgLCBtX2xheW91dEludGVydmFsKGxh
eW91dFNjaGVkdWxlVGhyZXNob2xkKQogICAgICwgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbChE
T01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpKQogICAgICwgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyKCp0aGlzLCAmU2V0dGluZ3NCYXNlOjppbWFnZUxvYWRpbmdTZXR0aW5n
c1RpbWVyRmlyZWQpCiB7CkBAIC0yMzQsMTMgKzIyOCw2IEBAIHZvaWQgU2V0dGluZ3NCYXNlOjpz
ZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzIGludGVydmFsKQogICAgIH0KIH0KIAot
dm9pZCBTZXR0aW5nc0Jhc2U6OnNldExheW91dEludGVydmFsKFNlY29uZHMgbGF5b3V0SW50ZXJ2
YWwpCi17Ci0gICAgLy8gRklYTUU6IEl0IHNlZW1zIHdlaXJkIHRoYXQgdGhpcyBmdW5jdGlvbiBt
YXkgZGlzcmVnYXJkIHRoZSBzcGVjaWZpZWQgbGF5b3V0IGludGVydmFsLgotICAgIC8vIFdlIHNo
b3VsZCBlaXRoZXIgZXhwb3NlIGxheW91dFNjaGVkdWxlVGhyZXNob2xkIG9yIGJldHRlciBjb21t
dW5pY2F0ZSB0aGlzIGludmFyaWFudC4KLSAgICBtX2xheW91dEludGVydmFsID0gc3RkOjptYXgo
bGF5b3V0SW50ZXJ2YWwsIGxheW91dFNjaGVkdWxlVGhyZXNob2xkKTsKLX0KLQogdm9pZCBTZXR0
aW5nc0Jhc2U6OnNldE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KGNv
bnN0IFN0cmluZyYgY29udGVudFR5cGVzKQogewogICAgIG1fbWVkaWFDb250ZW50VHlwZXNSZXF1
aXJpbmdIYXJkd2FyZVN1cHBvcnQuc2hyaW5rKDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5nc0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNl
LmgKaW5kZXggMjUxYjdlNjEzN2VlNWQwYzk3NDI5ZWQ5ZmE5ZDQ0N2I5ZTZmMmZkMi4uNGMwYjM5
ZjEyOTlhYzgxNzA1YmVjY2VkMDY3ODYwOGFkZjM3Njg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzQmFzZS5oCkBAIC0xNTksOSArMTU5LDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7IC8vIEluaXRpYWxpemVk
IHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCiAgICAgU2Vjb25kcyBtaW5p
bXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50
ZXJ2YWw7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5b3V0SW50ZXJ2YWwoU2Vj
b25kcyk7Ci0gICAgU2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5
b3V0SW50ZXJ2YWw7IH0KLQogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgZmxvYXQg
b25lTGluZVRleHRNdWx0aXBsaWVyQ29lZmZpY2llbnQoKSBjb25zdCB7IHJldHVybiBtX29uZUxp
bmVUZXh0TXVsdGlwbGllckNvZWZmaWNpZW50OyB9CiAgICAgZmxvYXQgbXVsdGlMaW5lVGV4dE11
bHRpcGxpZXJDb2VmZmljaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbXVsdGlMaW5lVGV4dE11bHRp
cGxpZXJDb2VmZmljaWVudDsgfQpAQCAtMjA2LDcgKzIwMyw2IEBAIHByb3RlY3RlZDoKICAgICBQ
YWdlKiBtX3BhZ2U7CiAKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1p
bGllcz4gbV9mb250R2VuZXJpY0ZhbWlsaWVzOwotICAgIFNlY29uZHMgbV9sYXlvdXRJbnRlcnZh
bDsKICAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CiAKICAgICBUaW1lciBt
X3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAppbmRleCA1MDEwNGE5YzliYmNhYTk4MmZkMmYzZDcxYWEyM2Y1YTNmNmVl
OThhLi5hNzc5ZTMzZjQ0MjNkZDE4NjQwNjVmOWZhNzI2N2U5ZDA5ZDhkMTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTkzMywxMSArOTMzLDYgQEAgRGVm
YXVsdEZpeGVkRm9udFNpemU6CiAgIHR5cGU6IGRvdWJsZQogICBkZWZhdWx0VmFsdWU6IDEzCiAK
LUxheW91dEludGVydmFsOgotICB0eXBlOiBkb3VibGUKLSAgZGVmYXVsdFZhbHVlOiAtMQotICB3
ZWJjb3JlQmluZGluZzogY3VzdG9tCi0KIE1heFBhcnNlRHVyYXRpb246CiAgIHR5cGU6IGRvdWJs
ZQogICBkZWZhdWx0VmFsdWU6IC0xCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGUyMTI5YjVkYTEwYTgwM2I3N2EzMTE5NDAwMGY2NzViMzhmZjJm
MmIuLmNjMGQ3NTg0ODQ5NDdjMGM0ZDEzNTZkYjVmMDE2ZDRmODgwOGYzNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zNjQ3LDcgKzM2NDcs
NiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2Vz
U3RvcmUmIHN0b3JlKQogICAgIGJvb2wgcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhID0gc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0
dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKTsKICAgICBzZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNr
UmVxdWlyZXNVc2VyR2VzdHVyZShyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yVmlkZW9QbGF5YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QXVkaW9QbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhIHx8IHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZv
ckF1ZGlvUGxheWJhY2tLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldExheW91dEludGVydmFsKFNl
Y29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxheW91
dEludGVydmFsS2V5KCkpKSk7CiAgICAgc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeShzdGF0aWNfY2FzdDxXZWJDb3JlOjpVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
PihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeUtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbihzdGF0aWNfY2FzdDxUZXh0RGlyZWN0aW9uPihzdG9yZS5nZXRVSW50MzJWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3lzdGVtTGF5b3V0RGlyZWN0aW9uS2V5KCkpKSk7
CiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhzdGF0aWNfY2FzdDxSdW50
aW1lRmxhZ3M+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpq
YXZhU2NyaXB0UnVudGltZUZsYWdzS2V5KCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCAx
MzE3YjQ5ZjE2ZjY3MmUxZTE3ZmYyOWM0YmJmZGVmZTgyYjRjYzlkLi4wMjJmNzhhZmM4MTViMTQ2
YmFiNDJmYWFiZGVhZGM3YzI1MTg3MWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTI0MCw3
ICsyNDAsNiBAQAogI2RlZmluZSBXZWJLaXRUZWxlcGhvbmVQYXJzaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRUZWxlcGhvbmVQYXJzaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkiCiAjZGVm
aW5lIFdlYktpdEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlzc2lvblByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRBbGxvd011bHRpRWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1pc3Npb25QcmVm
ZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRBbHdheXNSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNz
aW9uUHJlZmVyZW5jZUtleSBAIldlYktpdEFsd2F5c1JlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Np
b24iCi0jZGVmaW5lIFdlYktpdExheW91dEludGVydmFsUHJlZmVyZW5jZUtleSBAIldlYktpdExh
eW91dEludGVydmFsUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0TWF4UGFyc2VEdXJhdGlv
blByZWZlcmVuY2VLZXkgQCJXZWJLaXRNYXhQYXJzZUR1cmF0aW9uUHJlZmVyZW5jZUtleSIKICNk
ZWZpbmUgV2ViS2l0U3RvcmFnZVRyYWNrZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFN0
b3JhZ2VUcmFja2VyRW5hYmxlZFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEFsd2F5c1Vz
ZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWx3YXlzVXNl
QWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGUyMGVlNzQ0NWNhOWIzNTJmYTY3ZDg1
ZjM0MWYyMjEyYTBkNjIwZTUuLjQwZTVmMzRlN2EyNzQ4MWRmMDExZDhjNTNmMGEzMmE0NmVmZjhh
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtNTc2LDcgKzU3Niw2IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgICAgICBAWUVTLCBXZWJLaXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRUZWxlcGhvbmVQYXJzaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoSW50Oi0xXSwgV2ViS2l0
TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEZsb2F0Oi0xLjBmXSwgV2ViS2l0TWF4UGFyc2VEdXJhdGlvblByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBOTywgV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRBbHdheXNSZXF1ZXN0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUHJlZmVyZW5jZUtleSwKQEAgLTE2NzMsMTYgKzE2NzIsNiBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0tICh2b2lkKV9zZXRMYXlvdXRJbnRl
cnZhbDooaW50KWwKLXsKLSAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOmwgZm9yS2V5OldlYktp
dExheW91dEludGVydmFsUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKGludClfbGF5b3V0SW50ZXJ2
YWwKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ludGVnZXJWYWx1ZUZvcktleTpXZWJLaXRMYXlvdXRJ
bnRlcnZhbFByZWZlcmVuY2VLZXldOwotfQotCiAtICh2b2lkKV9zZXRNYXhQYXJzZUR1cmF0aW9u
OihmbG9hdClkCiB7CiAgICAgW3NlbGYgX3NldEZsb2F0VmFsdWU6ZCBmb3JLZXk6V2ViS2l0TWF4
UGFyc2VEdXJhdGlvblByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggM2JjMzc0MWYz
N2M5ZDMxNzM4NGRlY2IyY2M2OGYxNWNmNGQ5YmQzOS4uOGQ0ODMyMDQyMzc5NGMwZWE3YTIxMTM1
MDNmN2QwYzJlYzhiYTc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0zODksOCArMzg5LDYgQEAgZXh0
ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3Rp
ZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKEJPT0wpX2Fsd2F5c1JlcXVlc3RHZW9sb2NhdGlvblBl
cm1pc3Npb247CiAtICh2b2lkKV9zZXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xs
OihCT09MKWZsYWc7CiAtIChCT09MKV9hbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xs
OwotLSAodm9pZClfc2V0TGF5b3V0SW50ZXJ2YWw6KGludCltaWxsaXNlY29uZHM7Ci0tIChpbnQp
X2xheW91dEludGVydmFsOyAvLyBNaWxsaXNlb25kcy4KIC0gKHZvaWQpX3NldE1heFBhcnNlRHVy
YXRpb246KGZsb2F0KWQ7CiAtIChmbG9hdClfbWF4UGFyc2VEdXJhdGlvbjsKIC0gKHZvaWQpX3Nl
dEludGVycG9sYXRpb25RdWFsaXR5OihpbnQpcXVhbGl0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyODk3OWU4YTZmNTRkNDkzNDdiYTBmOTM1NzM3
NGIyZTgzYzdjNTlmLi45MTQ4ODgyMDlmOGQ0ZGY5YzJhY2M3NDFjMDNjZTI4YWI2ZDNkMTBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zMDQyLDcg
KzMwNDIsNiBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygp
CiAgICAgc2V0dGluZ3Muc2V0U3RhbmRhbG9uZShbcHJlZmVyZW5jZXMgX3N0YW5kYWxvbmVdKTsK
ICAgICBzZXR0aW5ncy5zZXRUZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZChbcHJlZmVyZW5j
ZXMgX3RlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0QWxs
b3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb24oW3ByZWZlcmVuY2VzIF9hbGxvd011bHRp
RWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1pc3Npb25dKTsKLSAgICBzZXR0aW5ncy5zZXRMYXlvdXRJ
bnRlcnZhbChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtwcmVmZXJlbmNlcyBfbGF5b3V0SW50
ZXJ2YWxdKSk7CiAgICAgc2V0dGluZ3Muc2V0TWF4UGFyc2VEdXJhdGlvbihbcHJlZmVyZW5jZXMg
X21heFBhcnNlRHVyYXRpb25dKTsKICAgICBzZXR0aW5ncy5zZXRBbHdheXNVc2VBY2NlbGVyYXRl
ZE92ZXJmbG93U2Nyb2xsKFtwcmVmZXJlbmNlcyBfYWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxv
d1Njcm9sbF0pOwogICAgIHNldHRpbmdzLnNldENvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQo
W3ByZWZlcmVuY2VzIGNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWRdKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>