<?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>86013</bug_id>
          
          <creation_ts>2012-05-09 13:43:13 -0700</creation_ts>
          <short_desc>[chromium] Ensure animations get ticked at least once when added.</short_desc>
          <delta_ts>2012-05-15 15:50:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84033</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>vollick</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>619795</commentid>
    <comment_count>0</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-05-09 13:43:13 -0700</bug_when>
    <thetext>Without the threaded compositor, it is possible to add an animation and never have it committed or ticked (DRT for example). This patch ensures that these animations do get started.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619840</commentid>
    <comment_count>1</comment_count>
      <attachid>141015</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-09 14:33:37 -0700</bug_when>
    <thetext>Created attachment 141015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619870</commentid>
    <comment_count>2</comment_count>
      <attachid>141015</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-09 14:51:39 -0700</bug_when>
    <thetext>Comment on attachment 141015
Patch

Nice! This looks much cleaner. R=me, but if you don&apos;t mind upload a version that applies to ToT and seeing if it EWS&apos;s clean before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620055</commentid>
    <comment_count>3</comment_count>
      <attachid>141056</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-09 17:08:45 -0700</bug_when>
    <thetext>Created attachment 141056
Patch

James, I&apos;ve put this up for review again because something came up during the
merge I need to run by you.

A couple of the unit tests in CCLayerTreeHostTest had been marked flaky, but I
think I have addressed the flakiness. The background ticking was taking 1000
seconds, rather than milliseconds. I&apos;ve retested these test using
--gtest_repeat=1000 --gtest_break_on_failure and they succeeded so I&apos;ve removed
the FLAKY_ prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620058</commentid>
    <comment_count>4</comment_count>
      <attachid>141056</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-09 17:11:23 -0700</bug_when>
    <thetext>Comment on attachment 141056
Patch

Oh wow.... yeah seconds and milliseconds are different things, as it turns out.  Nice catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620112</commentid>
    <comment_count>5</comment_count>
      <attachid>141056</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 17:41:58 -0700</bug_when>
    <thetext>Comment on attachment 141056
Patch

Rejecting attachment 141056 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
form/graphics/chromium/cc/CCThreadProxy.h
patching file Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
Hunk #1 succeeded at 1135 (offset 56 lines).
Hunk #2 succeeded at 1154 (offset 56 lines).
Hunk #3 succeeded at 1189 (offset 56 lines).
Hunk #4 succeeded at 1266 (offset 56 lines).
Hunk #5 succeeded at 1292 (offset 56 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;James Robi...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12666015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620114</commentid>
    <comment_count>6</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-09 17:44:03 -0700</bug_when>
    <thetext>I mighta totally just broke this applying, while it was in the CQ. Sorry!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620135</commentid>
    <comment_count>7</comment_count>
      <attachid>141067</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-09 18:13:39 -0700</bug_when>
    <thetext>Created attachment 141067
Patch

freshening patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620158</commentid>
    <comment_count>8</comment_count>
      <attachid>141067</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 18:52:10 -0700</bug_when>
    <thetext>Comment on attachment 141067
Patch

Clearing flags on attachment: 141067

Committed r116594: &lt;http://trac.webkit.org/changeset/116594&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620159</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 18:52:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620229</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-09 21:23:51 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 141067 [details])
&gt; Clearing flags on attachment: 141067
&gt; 
&gt; Committed r116594: &lt;http://trac.webkit.org/changeset/116594&gt;

I&apos;m afraid this change made a test flaky.
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;showLargeExpectations=true&amp;tests=fast%2Flayers%2Fscroll-with-transform-composited-layer.html


Is it possible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620466</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-10 04:33:41 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; 
&gt; I&apos;m afraid this change made a test flaky.
&gt; http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;showLargeExpectations=true&amp;tests=fast%2Flayers%2Fscroll-with-transform-composited-layer.html
&gt; 
&gt; 
&gt; Is it possible?

Not only scroll-with-transform-composited-layer.html.  Some composition-related tests are flaky since around this change.

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showLargeExpectations=true&amp;tests=composit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621174</commentid>
    <comment_count>12</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-10 18:16:34 -0700</bug_when>
    <thetext>Let me try rolling out the patch to see whether it resolves the flakiness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621175</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-10 18:18:10 -0700</bug_when>
    <thetext>Go for it unless Ian has any other ideas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621176</commentid>
    <comment_count>14</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-10 18:19:28 -0700</bug_when>
    <thetext>Reverted r116594 for reason:

r116594 might have made some composition tests flaky.

Committed r116714: &lt;http://trac.webkit.org/changeset/116714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621178</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-10 18:21:10 -0700</bug_when>
    <thetext>I&apos;m gonna guess the answer ends up being we need the timer to only start animations and not produce frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621253</commentid>
    <comment_count>16</comment_count>
      <attachid>141323</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-10 21:45:45 -0700</bug_when>
    <thetext>Created attachment 141323
Patch

Attempting to fix flake introduced by this test.

This patch used to bail before drawing if we were not visible, but may not be valid and I have removed this condition.

The timer should only be used if we add animation, which is not the case for the flaky compositor tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621615</commentid>
    <comment_count>17</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-11 07:11:40 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Reverted r116594 for reason:
&gt; 
&gt; r116594 might have made some composition tests flaky.
&gt; 
&gt; Committed r116714: &lt;http://trac.webkit.org/changeset/116714&gt;

I confirmed that the flakiness was resolved by the rollout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621769</commentid>
    <comment_count>18</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-11 10:30:34 -0700</bug_when>
    <thetext>Can you try to reproduce the flake locally first, Ian, and confirm whether this new patch actually resolves it or not?  I&apos;d rather not debug flake via the landing + using the real bots if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623069</commentid>
    <comment_count>19</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-14 10:15:45 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Can you try to reproduce the flake locally first, Ian, and confirm whether this new patch actually resolves it or not?  I&apos;d rather not debug flake via the landing + using the real bots if possible.

Any progress here?  If not then it might be worth landing this anyway and seeing what happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624301</commentid>
    <comment_count>20</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-05-15 11:21:45 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; Can you try to reproduce the flake locally first, Ian, and confirm whether this new patch actually resolves it or not?  I&apos;d rather not debug flake via the landing + using the real bots if possible.
&gt; 
&gt; Any progress here?  If not then it might be worth landing this anyway and seeing what happens.

No real progress. Tests do not seem flaky for me when I run locally. Running on mac_layout with the extra condition on drawing, I had a flaky compositing-related test that I did not have without.

With:
http://build.chromium.org/p/tryserver.chromium/builders/mac_layout/builds/357
Without:
http://build.chromium.org/p/tryserver.chromium/builders/mac_layout/builds/361

I don&apos;t think that this is nearly conclusive proof that the latest patch fixes the flake, but I agree that it might be worth relanding to see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624312</commentid>
    <comment_count>21</comment_count>
      <attachid>141323</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-15 11:31:06 -0700</bug_when>
    <thetext>Comment on attachment 141323
Patch

OK, thanks for checking. Let&apos;s give this a try then - please keep an eye on the bots after this lands to see if the flake re-appears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624331</commentid>
    <comment_count>22</comment_count>
      <attachid>141323</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 11:43:57 -0700</bug_when>
    <thetext>Comment on attachment 141323
Patch

Rejecting attachment 141323 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
 (offset -18 lines).
Hunk #4 succeeded at 284 (offset -16 lines).
Hunk #5 succeeded at 360 (offset -14 lines).
patching file Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h
patching file Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
patching file Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;James Robi...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12685864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624376</commentid>
    <comment_count>23</comment_count>
      <attachid>142023</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-15 12:15:21 -0700</bug_when>
    <thetext>Created attachment 142023
Patch

Freshening patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624379</commentid>
    <comment_count>24</comment_count>
      <attachid>142024</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-15 12:16:55 -0700</bug_when>
    <thetext>Created attachment 142024
Patch

Freshening patch again. Sorry for the spam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624678</commentid>
    <comment_count>25</comment_count>
      <attachid>142024</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 15:50:16 -0700</bug_when>
    <thetext>Comment on attachment 142024
Patch

Clearing flags on attachment: 142024

Committed r117171: &lt;http://trac.webkit.org/changeset/117171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624679</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 15:50:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141015</attachid>
            <date>2012-05-09 14:33:37 -0700</date>
            <delta_ts>2012-05-09 17:08:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120509173336.patch</filename>
            <type>text/plain</type>
            <size>16691</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3NzM2YTI0NjRiZTI2
M2Q2ZjAwYzEwOWM5ZDAyMzBiZmZlZmEyZC4uYmQ5NzljM2RiNWEwNzQ0Y2FlNTA3OTRmNjNhNWI1
YmMwNzJjODVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTA5ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBpbgorICAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQu
cnVuU2luZ2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXll
clRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcy5ydW5TaW5nbGVUaHJl
YWRlZAorICAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50
cy5ydW5TaW5nbGVUaHJlYWRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjph
ZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJB
bmltYXRpb25Db250cm9sbGVyOjpwdXNoTmV3QW5pbWF0aW9uc1RvSW1wbFRocmVhZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQWRkQW5pbWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpkaWRCZWNvbWVJbnZpc2libGVPbkltcGxUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoQ0NMYXllclRy
ZWVIb3N0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKENDUHJveHkpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Q0NTaW5nbGVUaHJlYWRQcm94
eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpkaWRBZGRBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaDoKKwogMjAxMi0wNS0wNCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1h
bm5AcmltLmNvbT4KIAogICAgICAgICBUaWUgbGlmZXRpbWUgb2YgU1ZHQW5pbWF0ZUVsZW1lbnQ6
Om1fYW5pbWF0ZWRUeXBlIHRvIHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDU2NWQ1NmViZGJkNGUzY2MzZDM0ZjkwMDdkNzY1MDI2MTI4
MGFiMmMuLjA0NzA2ZGMyNTcyOWE5MGE1YjkzMDBiYzJkMDY1NDgyYmRhZWQxMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDkgIElhbiBWb2xs
aWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBFbnN1cmUg
YW5pbWF0aW9ucyBnZXQgdGlja2VkIGF0IGxlYXN0IG9uY2Ugd2hlbiBhZGRlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MDEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RUZXN0LmNwcDoKKyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmlt
YXRpb25XaGlsZUJhY2tncm91bmRlZDo6YW5pbWF0ZUxheWVycyk6CisgICAgICAgIChXVEYpOgor
CiAyMDEyLTA1LTA4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBtb3ZlIGV2ZW50X2xpc3RlbmVyX3VuaXR0ZXN0IHRvIHdlYmtpdF91bml0X3Rl
c3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGY5NGFhZDYwZTRlNjg4NjE5MGUyMWMyZThj
MjA2Y2Y0MjY3ZWExMDEuLmM3ZjdiMzFiOTViMzBjYTNkYzEyNGVjMzdjNzg5Y2E4ZDQ5YmY0Mzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC02MDAsOCArNjAwLDEwIEBAIGJvb2wgTGF5ZXJD
aHJvbWl1bTo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZXMsIGNv
bnN0IEludFNpemUmCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgYWRkZWRBbmlt
YXRpb24gPSBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxlci0+YWRkQW5pbWF0aW9uKHZhbHVlcywg
Ym94U2l6ZSwgYW5pbWF0aW9uLCBhbmltYXRpb25JZCwgZ3JvdXBJZCwgdGltZU9mZnNldCk7Ci0g
ICAgaWYgKGFkZGVkQW5pbWF0aW9uKQorICAgIGlmIChhZGRlZEFuaW1hdGlvbikgeworICAgICAg
ICBtX2xheWVyVHJlZUhvc3QtPmRpZEFkZEFuaW1hdGlvbigpOwogICAgICAgICBzZXROZWVkc0Nv
bW1pdCgpOworICAgIH0KICAgICByZXR1cm4gYWRkZWRBbmltYXRpb247CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJB
bmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCAxOTkxOTJk
NTJhNDQ4YWRjOWJlNDJhMzJkZGIwODAyN2ZmNmNkNzNlLi5lNzY3MzFmNTJjYWMzMWNmMzcxOGZm
Zjk0NTk2YWMwZGNkMWQ0ZGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yNzMsNiArMjczLDcgQEAgdm9pZCBDQ0xheWVyQW5pbWF0
aW9uQ29udHJvbGxlcjo6cHVzaE5ld0FuaW1hdGlvbnNUb0ltcGxUaHJlYWQoQ0NMYXllckFuaW1h
dGlvbkMKICAgICAgICAgQVNTRVJUKCF0b0FkZC0+bmVlZHNTeW5jaHJvbml6ZWRTdGFydFRpbWUo
KSk7CiAgICAgICAgIC8vIFRoZSBuZXcgYW5pbWF0aW9uIHNob3VsZCBiZSBzZXQgdG8gcnVuIGFz
IHNvb24gYXMgcG9zc2libGUuCiAgICAgICAgIHRvQWRkLT5zZXRSdW5TdGF0ZShDQ0FjdGl2ZUFu
aW1hdGlvbjo6V2FpdGluZ0ZvclRhcmdldEF2YWlsYWJpbGl0eSwgMCk7CisgICAgICAgIHRvQWRk
LT5zZXRTdGFydFRpbWUoMCk7CiAgICAgICAgIGNvbnRyb2xsZXJJbXBsLT5hZGQodG9BZGQucmVs
ZWFzZSgpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcAppbmRleCA5
ZTU3NmFjMzc5NmI2OGE0MzI4NzkzNWI1MzI2NzE1M2E0Y2E4MjY5Li5hMDgxYzJiZTU4MzI3OWFm
OTBhYzgxYzRjZmZhMzNiOTE5YzI2OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5j
cHAKQEAgLTIzMywxMCArMjMzLDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmZpbmlzaENvbW1p
dE9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW1wbCkKIAogICAgIC8vIFdl
IG1heSBoYXZlIGFkZGVkIGFuIGFuaW1hdGlvbiBkdXJpbmcgdGhlIHRyZWUgc3luYy4gVGhpcyB3
aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJlZSBob3N0cwogICAgIC8vIHRvIHZpc2l0IHRoZWlyIGNv
bnRyb2xsZXJzLgotICAgIGlmIChyb290TGF5ZXIoKSkgeworICAgIGlmIChyb290TGF5ZXIoKSAm
JiBtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgaG9zdEltcGwtPnNldE5lZWRzQW5pbWF0
ZUxheWVycygpOwotICAgICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7Ci0gICAgfQog
CiAgICAgaG9zdEltcGwtPnNldFNvdXJjZUZyYW1lTnVtYmVyKGZyYW1lTnVtYmVyKCkpOwogICAg
IGhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKCkpOwpAQCAtMzM5LDYgKzMz
NywxMiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NPd25Q
dHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+IGV2ZQogICAgIHNldEFuaW1hdGlvbkV2ZW50c1Jl
Y3Vyc2l2ZSgqZXZlbnRzLCBtX3Jvb3RMYXllci5nZXQoKSwgd2FsbENsb2NrVGltZSk7CiB9CiAK
K3ZvaWQgQ0NMYXllclRyZWVIb3N0OjpkaWRBZGRBbmltYXRpb24oKQoreworICAgIG1fbmVlZHNB
bmltYXRlTGF5ZXJzID0gdHJ1ZTsKKyAgICBtX3Byb3h5LT5kaWRBZGRBbmltYXRpb24oKTsKK30K
Kwogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnNldFJvb3RMYXllcihQYXNzUmVmUHRyPExheWVyQ2hy
b21pdW0+IHJvb3RMYXllcikKIHsKICAgICBpZiAobV9yb290TGF5ZXIgPT0gcm9vdExheWVyKQpA
QCAtNDA3LDEwICs0MTEsOCBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkQmVjb21lSW52aXNp
YmxlT25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJbQogCiAgICAgLy8gV2Ug
bWF5IGhhdmUgYWRkZWQgYW4gYW5pbWF0aW9uIGR1cmluZyB0aGUgdHJlZSBzeW5jLiBUaGlzIHdp
bGwgY2F1c2UgYm90aCBsYXllciB0cmVlIGhvc3RzCiAgICAgLy8gdG8gdmlzaXQgdGhlaXIgY29u
dHJvbGxlcnMuCi0gICAgaWYgKHJvb3RMYXllcigpKSB7CisgICAgaWYgKHJvb3RMYXllcigpICYm
IG1fbmVlZHNBbmltYXRlTGF5ZXJzKQogICAgICAgICBob3N0SW1wbC0+c2V0TmVlZHNBbmltYXRl
TGF5ZXJzKCk7Ci0gICAgICAgIG1fbmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKLSAgICB9CiB9
CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRDb250ZW50c01lbW9yeUFsbG9jYXRpb25MaW1p
dEJ5dGVzKHNpemVfdCBieXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXggNDA2
MTJlYWYwOTc2YWRjZmVhZTEzMGM3NTNhOTJhZmI5Njk5ODE1Yy4uNTI4ZWVjMjQ0ZTkwOGQ0NTA3
NDJhZTdmNTBiMzQ1MTU0YzdkZGE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKQEAg
LTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb21taXRSZXF1ZXN0ZWQoKSBjb25z
dDsKIAogICAgIHZvaWQgc2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NPd25QdHI8Q0NBbmltYXRpb25F
dmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSk7CisgICAgdm9pZCBkaWRBZGRBbmlt
YXRpb24oKTsKIAogICAgIExheWVyQ2hyb21pdW0qIHJvb3RMYXllcigpIHsgcmV0dXJuIG1fcm9v
dExheWVyLmdldCgpOyB9CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyKCkgY29u
c3QgeyByZXR1cm4gbV9yb290TGF5ZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKaW5kZXggMzFiZGJjMmU1ZmYxZWI5MjUyMjBmOGUzZDU1MDNmMjg0NzEy
MjgwZS4uNmQwZWVmMjZjMDA1NmJhNjc0ZTNjNDQxNTVmMDk5OWVhMTEyNzM0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBDQ0xh
eWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKGNvbnN0IENDU2V0dGluZ3MmIHNl
dHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9tYXhQYWdlU2NhbGUoMCkKICAgICAsIG1fbmVl
ZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwgbV9waW5jaEdlc3R1cmVBY3RpdmUoZmFsc2Up
Ci0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJUcmVlSG9zdEltcGxUaW1l
U291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0
ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCAqIDEwMDAuMCwgQ0NQcm94eTo6Y3VycmVu
dFRocmVhZCgpKSkpCisgICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJUcmVl
SG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCwgQ0NQcm94eTo6Y3Vy
cmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50ZXIoQ0NGcmFtZVJhdGVDb3VudGVyOjpj
cmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9yeShDQ0RlYnVnUmVjdEhpc3Rvcnk6OmNy
ZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NQcm94eS5oCmluZGV4IDRhMzZjMzg4ZTJmNDIyOGVjYzliOGFiNDdkYTA2
Y2Q2NTQ2ZTEwZjcuLmZmNzVmYjkwYjE2M2U4NzRhY2NjMmZiNTVmOTRkYTZmNzA5ZDEzN2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Byb3h5LmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXROZWVkc1JlZHJhdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShib29sKSA9
IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCkgPSAwOworCiAgICAgdmly
dHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9p
ZCBzdGFydCgpID0gMDsgLy8gTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRoZSBwcm94eS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggMmM0MTdkZjE3MTNi
NjgwZDVjZDVkOTQyMjA1N2FiMzc2MjM3Mjk3Zi4uMzk1MTRkMzFhYjMxMzhiMjA2OTAzYzdmNzg1
YzFhNzE2Yjg5N2FmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjYy9DQ0ZvbnRBdGxhcy5oIgogI2luY2x1ZGUg
ImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZVVwZGF0ZXIuaCIK
KyNpbmNsdWRlICJjYy9DQ1RpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC01Niw2ICs1NywyNSBAQCBwcm90ZWN0ZWQ6CiAgICAg
VW50aHJvdHRsZWRUZXh0dXJlVXBsb2FkZXIoKSB7IH0KIH07CiAKK2NsYXNzIENDU2luZ2xlVGhy
ZWFkUHJveHlBbmltYXRpb25UaW1lciA6IHB1YmxpYyBDQ1RpbWVyLCBDQ1RpbWVyQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0
aW9uVGltZXI+IGNyZWF0ZShDQ1NpbmdsZVRocmVhZFByb3h5KiBwcm94eSkgeyByZXR1cm4gYWRv
cHRQdHIobmV3IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihwcm94eSkpOyB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgb25UaW1lckZpcmVkKCkgT1ZFUlJJREUKKyAgICB7CisgICAgICAg
IG1fcHJveHktPmNvbXBvc2l0ZUltbWVkaWF0ZWx5KCk7CisgICAgfQorCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihDQ1NpbmdsZVRocmVh
ZFByb3h5KiBwcm94eSkKKyAgICAgICAgOiBDQ1RpbWVyKENDUHJveHk6Om1haW5UaHJlYWQoKSwg
dGhpcykKKyAgICAgICAgLCBtX3Byb3h5KHByb3h5KQorICAgIHsKKyAgICB9CisKKyAgICBDQ1Np
bmdsZVRocmVhZFByb3h5KiBtX3Byb3h5OworfTsKKwogUGFzc093blB0cjxDQ1Byb3h5PiBDQ1Np
bmdsZVRocmVhZFByb3h5OjpjcmVhdGUoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQog
ewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ0NTaW5nbGVUaHJlYWRQcm94eShsYXllclRyZWVI
b3N0KSk7CkBAIC02NSw2ICs4NSw3IEBAIENDU2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhy
ZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQogICAgIDogbV9sYXllclRy
ZWVIb3N0KGxheWVyVHJlZUhvc3QpCiAgICAgLCBtX2NvbnRleHRMb3N0KGZhbHNlKQogICAgICwg
bV9jb21wb3NpdG9ySWRlbnRpZmllcigtMSkKKyAgICAsIG1fYW5pbWF0aW9uVGltZXIoQ0NTaW5n
bGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2xheWVy
UmVuZGVyZXJJbml0aWFsaXplZChmYWxzZSkKICAgICAsIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1p
dHRlZEZyYW1lKGZhbHNlKQogewpAQCAtMjc2LDYgKzI5NywxMSBAQCB2b2lkIENDU2luZ2xlVGhy
ZWFkUHJveHk6OnNldFZpc2libGUoYm9vbCB2aXNpYmxlKQogICAgIHNldE5lZWRzQ29tbWl0KCk7
CiB9CiAKK3ZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6ZGlkQWRkQW5pbWF0aW9uKCkKK3sKKyAg
ICBtX2FuaW1hdGlvblRpbWVyLT5zdGFydE9uZVNob3QoMC4xKTsKK30KKwogdm9pZCBDQ1Npbmds
ZVRocmVhZFByb3h5OjpzdG9wKCkKIHsKICAgICBUUkFDRV9FVkVOVCgiQ0NTaW5nbGVUaHJlYWRQ
cm94eTo6c3RvcCIsIHRoaXMsIDApOwpAQCAtMzQ1LDE1ICszNzEsMTkgQEAgYm9vbCBDQ1Npbmds
ZVRocmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSgpCiB7CiAgICAgQVNTRVJUKCFtX2NvbnRleHRMb3N0
KTsKICAgICB7Ci0gICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKLSAgICAgIGRv
dWJsZSBtb25vdG9uaWNUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAg
ICBkb3VibGUgd2FsbENsb2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7Ci0KLSAgICAgIG1fbGF5ZXJU
cmVlSG9zdEltcGwtPmFuaW1hdGUobW9ub3RvbmljVGltZSwgd2FsbENsb2NrVGltZSk7Ci0gICAg
ICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7Ci0gICAgICBtX2xheWVyVHJl
ZUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPmRyYXdMYXllcnMoZnJhbWUpOwotICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+ZGlkRHJh
d0FsbExheWVycyhmcmFtZSk7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBs
OworICAgICAgICBkb3VibGUgbW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOworICAgICAgICBkb3VibGUgd2FsbENsb2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7CisK
KyAgICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+YW5pbWF0ZShtb25vdG9uaWNUaW1lLCB3YWxs
Q2xvY2tUaW1lKTsKKworICAgICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwtPmNhbkRyYXco
KSB8fCAhbV9sYXllclRyZWVIb3N0SW1wbC0+dmlzaWJsZSgpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsK
KyAgICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSk7CisgICAg
ICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBtX2xh
eWVyVHJlZUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKICAgICB9CiAKICAgICBp
ZiAobV9sYXllclRyZWVIb3N0SW1wbC0+aXNDb250ZXh0TG9zdCgpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVh
ZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NpbmdsZVRocmVhZFByb3h5LmgKaW5kZXggMTU2YmRkY2ExMTg3OWJlOTcxNWRlM2QwYjljZTM0
NWRhMDVmZTgyYy4uMTY1ZGM4NGM1Y2M3ODQ5YTJmZmIyN2IxMThlNTMxNDA5ODA0N2M5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaApAQCAtMzUsNiArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CitjbGFzcyBDQ1Npbmds
ZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI7CiAKIGNsYXNzIENDU2luZ2xlVGhyZWFkUHJveHkg
OiBwdWJsaWMgQ0NQcm94eSwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCB7CiBwdWJsaWM6CkBA
IC01OSw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXco
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgY29tbWl0UmVxdWVzdGVkKCkgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGUoYm9vbCkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIGRpZEFkZEFuaW1hdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBzdGFydCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBzaXplX3QgbWF4UGFydGlhbFRleHR1cmVVcGRhdGVzKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsgfQpAQCAtOTQs
NiArOTYsOCBAQCBwcml2YXRlOgogICAgIC8vIGJlIHVzZWQgZm9yIGFueXRoaW5nIGVsc2UuCiAg
ICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHRCZWZvcmVJbml0aWFsaXphdGlv
bjsKIAorICAgIE93blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI+IG1fYW5p
bWF0aW9uVGltZXI7CisKICAgICAvLyBVc2VkIG9uIHRoZSBDQ1RocmVhZCwgYnV0IGNoZWNrZWQg
b24gbWFpbiB0aHJlYWQgZHVyaW5nIGluaXRpYWxpemF0aW9uL3NodXRkb3duLgogICAgIE93blB0
cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBtX2xheWVyVHJlZUhvc3RJbXBsOwogICAgIGJvb2wgbV9s
YXllclJlbmRlcmVySW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMjkx
NWE4MTE5ZTdmYzRhNjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4uOWZmNTgxZWY5MDdmOWJjOWFl
ODUzNTY1YzFlZDI4YTQ5ZGExYzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtNjgs
NiArNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBkaWRBZGRBbmltYXRpb24oKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgc2l6ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNvbnN0IE9WRVJSSURF
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhv
c3RUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0
VGVzdC5jcHAKaW5kZXggMDNhOThhNjM4OWE4NTRmMjFkNzUxMjUxMjRkMjQ3NDYzM2RmYzBkMi4u
NmYwNzk2OTQxNjY5NWJjNGRkNWFiYjdiYTM0MDlkNmQ2MDBjN2E4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0x
MDc5LDkgKzEwNzksMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVMYXll
cnMoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIGRvdWJsZSBtb25vdG9u
aWNUaW1lKQogICAgIHsKLSAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7Ci0gICAgICAgICAg
ICAvLyBXZSBoYXZlIGEgbG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hvdWxkIGNvbnRpbnVl
IHRvIHRpY2sgZXZlbiBpZiB3ZSBhcmUgbm90IHZpc2libGUuCi0gICAgICAgICAgICBwb3N0U2V0
VmlzaWJsZVRvTWFpblRocmVhZChmYWxzZSk7CisgICAgICAgIGlmIChtX251bUFuaW1hdGVzIDwg
MikgeworICAgICAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CisgICAgICAgICAgICAgICAg
Ly8gV2UgaGF2ZSBhIGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3VsZCBjb250aW51ZSB0
byB0aWNrIGV2ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLgorICAgICAgICAgICAgICAgIHBvc3RT
ZXRWaXNpYmxlVG9NYWluVGhyZWFkKGZhbHNlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IG1fbnVtQW5pbWF0ZXMrKzsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTA5
NiwxMCArMTA5OCw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbnVtQW5pbWF0ZXM7CiB9OwogCi1U
RVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZCwg
cnVuTXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5E
X01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGls
ZUJhY2tncm91bmRlZCkKIAogLy8gRW5zdXJlcyB0aGF0IGFuaW1hdGlvbnMgY29udGludWUgdG8g
YmUgdGlja2VkIHdoZW4gd2UgYXJlIGJhY2tncm91bmRlZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9z
dFRlc3RBZGRBbmltYXRpb25XaXRoVGltaW5nRnVuY3Rpb24gOiBwdWJsaWMgQ0NMYXllclRyZWVI
b3N0VGVzdFRocmVhZE9ubHkgewpAQCAtMTEzNCwxMCArMTEzMyw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiB9OwogCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhUaW1p
bmdGdW5jdGlvbiwgcnVuTXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19
CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFu
aW1hdGlvbldpdGhUaW1pbmdGdW5jdGlvbikKIAogLy8gRW5zdXJlcyB0aGF0IHdoZW4gb3BhY2l0
eSBpcyBiZWluZyBhbmltYXRlZCwgdGhpcyB2YWx1ZSBkb2VzIG5vdCBjYXVzZSB0aGUgc3VidHJl
ZSB0byBiZSBza2lwcGVkLgogY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdERvTm90U2tpcExheWVy
c1dpdGhBbmltYXRlZE9wYWNpdHkgOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzdFRocmVhZE9u
bHkgewpAQCAtMTIxNCwxMCArMTIxMCw3IEBAIHByaXZhdGU6CiAgICAgQ0NMYXllclRyZWVIb3N0
SW1wbCogbV9sYXllclRyZWVIb3N0SW1wbDsKIH07CiAKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RU
ZXN0U3luY2hyb25pemVBbmltYXRpb25TdGFydFRpbWVzLCBydW5NdWx0aVRocmVhZCkKLXsKLSAg
ICBydW5UZXN0VGhyZWFkZWQoKTsKLX0KK1NJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihD
Q0xheWVyVHJlZUhvc3RUZXN0U3luY2hyb25pemVBbmltYXRpb25TdGFydFRpbWVzKQogCiAvLyBF
bnN1cmVzIHRoYXQgbWFpbiB0aHJlYWQgYW5pbWF0aW9ucyBoYXZlIHRoZWlyIHN0YXJ0IHRpbWVz
IHN5bmNocm9uaXplZCB3aXRoIGltcGwgdGhyZWFkIGFuaW1hdGlvbnMuCiBjbGFzcyBDQ0xheWVy
VHJlZUhvc3RUZXN0QW5pbWF0aW9uRmluaXNoZWRFdmVudHMgOiBwdWJsaWMgQ0NMYXllclRyZWVI
b3N0VGVzdFRocmVhZE9ubHkgewpAQCAtMTI0MywxMCArMTIzNiw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiB9OwogCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFuaW1hdGlvbkZpbmlzaGVkRXZl
bnRzLCBydW5NdWx0aVRocmVhZCkKLXsKLSAgICBydW5UZXN0VGhyZWFkZWQoKTsKLX0KK1NJTkdM
RV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QW5pbWF0aW9uRmlu
aXNoZWRFdmVudHMpCiAKIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxTaW1wbGUgOiBw
dWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzdFRocmVhZE9ubHkgewogcHVibGljOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141056</attachid>
            <date>2012-05-09 17:08:45 -0700</date>
            <delta_ts>2012-05-09 18:13:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120509200843.patch</filename>
            <type>text/plain</type>
            <size>17025</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVkZmQxNjY1ZmRlZDM4
NGI0MmFhMmRjOTVkYzBmZjQ0OGY5ZDU5Ni4uYzlhNGU1ZDAxNDg0Yzc4MmJjNTUxYmMxYjZjMzc5
N2EwYTU3ZjFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTA5ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBpbgorICAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQu
cnVuU2luZ2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXll
clRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcy5ydW5TaW5nbGVUaHJl
YWRlZAorICAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50
cy5ydW5TaW5nbGVUaHJlYWRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjph
ZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJB
bmltYXRpb25Db250cm9sbGVyOjpwdXNoTmV3QW5pbWF0aW9uc1RvSW1wbFRocmVhZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQWRkQW5pbWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpkaWRCZWNvbWVJbnZpc2libGVPbkltcGxUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoQ0NMYXllclRy
ZWVIb3N0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKENDUHJveHkpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Q0NTaW5nbGVUaHJlYWRQcm94
eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpkaWRBZGRBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaDoKKwogMjAxMi0wNS0wOSAgSHVnbyBQYXJlbnRlIExpbWEgIDxodWdvLmxpbWFA
b3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBVc2Ugc3VpdGFibGUgdmlld3BvcnQgdmFsdWVzIG9u
IFhIVE1MLU1QIHBhZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmN2FjYTA0Y2Jm
NjZlOWVlMGUyODZlNjE1MjhlY2JlZTVlNjkwZjdkLi5hNTU4YWY5OWMxNTI5NjMzYzAwYjcyNDIx
OTM1NTMzYjZlNzVkZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDEyLTA1LTA5ICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gRW5zdXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBv
bmNlIHdoZW4gYWRkZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NjAxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHA6CisgICAgICAgIChXVEY6OkND
TGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQ6OmFuaW1hdGVM
YXllcnMpOgorICAgICAgICAoV1RGKToKKwogMjAxMi0wNS0wOSAgTWFyayBQaWxncmltICA8cGls
Z3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGNsaXBib2FyZCB0
byBQbGF0Zm9ybS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGY5NGFhZDYwZTRlNjg4NjE5
MGUyMWMyZThjMjA2Y2Y0MjY3ZWExMDEuLmM3ZjdiMzFiOTViMzBjYTNkYzEyNGVjMzdjNzg5Y2E4
ZDQ5YmY0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC02MDAsOCArNjAwLDEwIEBAIGJv
b2wgTGF5ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2
YWx1ZXMsIGNvbnN0IEludFNpemUmCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wg
YWRkZWRBbmltYXRpb24gPSBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxlci0+YWRkQW5pbWF0aW9u
KHZhbHVlcywgYm94U2l6ZSwgYW5pbWF0aW9uLCBhbmltYXRpb25JZCwgZ3JvdXBJZCwgdGltZU9m
ZnNldCk7Ci0gICAgaWYgKGFkZGVkQW5pbWF0aW9uKQorICAgIGlmIChhZGRlZEFuaW1hdGlvbikg
eworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZEFkZEFuaW1hdGlvbigpOwogICAgICAgICBz
ZXROZWVkc0NvbW1pdCgpOworICAgIH0KICAgICByZXR1cm4gYWRkZWRBbmltYXRpb247CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRl
eCBkZjUwYmU4MzQ2YTAxYzRlMGQ5N2ZhZmRkNTMwMzdlNDFkMmI4MjUwLi4yZWUxODg4NDhhMDE0
ZWQ1ZWM5NGIwYjc5ZGU3YWFiMTA4YTFmOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllckFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yODEsNiArMjgxLDcgQEAgdm9pZCBDQ0xh
eWVyQW5pbWF0aW9uQ29udHJvbGxlcjo6cHVzaE5ld0FuaW1hdGlvbnNUb0ltcGxUaHJlYWQoQ0NM
YXllckFuaW1hdGlvbkMKICAgICAgICAgQVNTRVJUKCF0b0FkZC0+bmVlZHNTeW5jaHJvbml6ZWRT
dGFydFRpbWUoKSk7CiAgICAgICAgIC8vIFRoZSBuZXcgYW5pbWF0aW9uIHNob3VsZCBiZSBzZXQg
dG8gcnVuIGFzIHNvb24gYXMgcG9zc2libGUuCiAgICAgICAgIHRvQWRkLT5zZXRSdW5TdGF0ZShD
Q0FjdGl2ZUFuaW1hdGlvbjo6V2FpdGluZ0ZvclRhcmdldEF2YWlsYWJpbGl0eSwgMCk7CisgICAg
ICAgIHRvQWRkLT5zZXRTdGFydFRpbWUoMCk7CiAgICAgICAgIGNvbnRyb2xsZXJJbXBsLT5hZGQo
dG9BZGQucmVsZWFzZSgpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNw
cAppbmRleCA5ZTU3NmFjMzc5NmI2OGE0MzI4NzkzNWI1MzI2NzE1M2E0Y2E4MjY5Li5hMDgxYzJi
ZTU4MzI3OWFmOTBhYzgxYzRjZmZhMzNiOTE5YzI2OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5jcHAKQEAgLTIzMywxMCArMjMzLDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmZp
bmlzaENvbW1pdE9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW1wbCkKIAog
ICAgIC8vIFdlIG1heSBoYXZlIGFkZGVkIGFuIGFuaW1hdGlvbiBkdXJpbmcgdGhlIHRyZWUgc3lu
Yy4gVGhpcyB3aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJlZSBob3N0cwogICAgIC8vIHRvIHZpc2l0
IHRoZWlyIGNvbnRyb2xsZXJzLgotICAgIGlmIChyb290TGF5ZXIoKSkgeworICAgIGlmIChyb290
TGF5ZXIoKSAmJiBtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgaG9zdEltcGwtPnNldE5l
ZWRzQW5pbWF0ZUxheWVycygpOwotICAgICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7
Ci0gICAgfQogCiAgICAgaG9zdEltcGwtPnNldFNvdXJjZUZyYW1lTnVtYmVyKGZyYW1lTnVtYmVy
KCkpOwogICAgIGhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKCkpOwpAQCAt
MzM5LDYgKzMzNywxMiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c2V0QW5pbWF0aW9uRXZlbnRz
KFBhc3NPd25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+IGV2ZQogICAgIHNldEFuaW1hdGlv
bkV2ZW50c1JlY3Vyc2l2ZSgqZXZlbnRzLCBtX3Jvb3RMYXllci5nZXQoKSwgd2FsbENsb2NrVGlt
ZSk7CiB9CiAKK3ZvaWQgQ0NMYXllclRyZWVIb3N0OjpkaWRBZGRBbmltYXRpb24oKQoreworICAg
IG1fbmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKKyAgICBtX3Byb3h5LT5kaWRBZGRBbmltYXRp
b24oKTsKK30KKwogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnNldFJvb3RMYXllcihQYXNzUmVmUHRy
PExheWVyQ2hyb21pdW0+IHJvb3RMYXllcikKIHsKICAgICBpZiAobV9yb290TGF5ZXIgPT0gcm9v
dExheWVyKQpAQCAtNDA3LDEwICs0MTEsOCBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkQmVj
b21lSW52aXNpYmxlT25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJbQogCiAg
ICAgLy8gV2UgbWF5IGhhdmUgYWRkZWQgYW4gYW5pbWF0aW9uIGR1cmluZyB0aGUgdHJlZSBzeW5j
LiBUaGlzIHdpbGwgY2F1c2UgYm90aCBsYXllciB0cmVlIGhvc3RzCiAgICAgLy8gdG8gdmlzaXQg
dGhlaXIgY29udHJvbGxlcnMuCi0gICAgaWYgKHJvb3RMYXllcigpKSB7CisgICAgaWYgKHJvb3RM
YXllcigpICYmIG1fbmVlZHNBbmltYXRlTGF5ZXJzKQogICAgICAgICBob3N0SW1wbC0+c2V0TmVl
ZHNBbmltYXRlTGF5ZXJzKCk7Ci0gICAgICAgIG1fbmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsK
LSAgICB9CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRDb250ZW50c01lbW9yeUFsbG9j
YXRpb25MaW1pdEJ5dGVzKHNpemVfdCBieXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgK
aW5kZXggNDA2MTJlYWYwOTc2YWRjZmVhZTEzMGM3NTNhOTJhZmI5Njk5ODE1Yy4uNTI4ZWVjMjQ0
ZTkwOGQ0NTA3NDJhZTdmNTBiMzQ1MTU0YzdkZGE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0LmgKQEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb21taXRSZXF1ZXN0
ZWQoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NPd25QdHI8Q0NB
bmltYXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSk7CisgICAgdm9pZCBk
aWRBZGRBbmltYXRpb24oKTsKIAogICAgIExheWVyQ2hyb21pdW0qIHJvb3RMYXllcigpIHsgcmV0
dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExh
eWVyKCkgY29uc3QgeyByZXR1cm4gbV9yb290TGF5ZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggMzFiZGJjMmU1ZmYxZWI5MjUyMjBmOGUzZDU1
MDNmMjg0NzEyMjgwZS4uNmQwZWVmMjZjMDA1NmJhNjc0ZTNjNDQxNTVmMDk5OWVhMTEyNzM0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKGNvbnN0IENDU2V0
dGluZ3MmIHNldHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9tYXhQYWdlU2NhbGUoMCkKICAg
ICAsIG1fbmVlZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwgbV9waW5jaEdlc3R1cmVBY3Rp
dmUoZmFsc2UpCi0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJUcmVlSG9z
dEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCAqIDEwMDAuMCwgQ0NQcm94
eTo6Y3VycmVudFRocmVhZCgpKSkpCisgICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKEND
TGF5ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlC
YXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCwgQ0NQ
cm94eTo6Y3VycmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50ZXIoQ0NGcmFtZVJhdGVD
b3VudGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9yeShDQ0RlYnVnUmVjdEhp
c3Rvcnk6OmNyZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCmluZGV4IDRhMzZjMzg4ZTJmNDIyOGVjYzli
OGFiNDdkYTA2Y2Q2NTQ2ZTEwZjcuLmZmNzVmYjkwYjE2M2U4NzRhY2NjMmZiNTVmOTRkYTZmNzA5
ZDEzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1Byb3h5LmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXROZWVkc1JlZHJhdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJs
ZShib29sKSA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCkgPSAwOwor
CiAgICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0ID0gMDsKIAogICAgIHZp
cnR1YWwgdm9pZCBzdGFydCgpID0gMDsgLy8gTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRo
ZSBwcm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggMmM0
MTdkZjE3MTNiNjgwZDVjZDVkOTQyMjA1N2FiMzc2MjM3Mjk3Zi4uNzk1ZjdjMTdlNjMyODhhODc1
M2E3YWU3YzU1YmJjZGNjYThlYTJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQ
cm94eS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjYy9DQ0ZvbnRBdGxhcy5oIgog
I2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZVVw
ZGF0ZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1RpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRU
aW1lLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC01Niw2ICs1NywyOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgVW50aHJvdHRsZWRUZXh0dXJlVXBsb2FkZXIoKSB7IH0KIH07CiAKK2NsYXNzIEND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lciA6IHB1YmxpYyBDQ1RpbWVyLCBDQ1RpbWVy
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1NpbmdsZVRocmVhZFBy
b3h5QW5pbWF0aW9uVGltZXI+IGNyZWF0ZShDQ1NpbmdsZVRocmVhZFByb3h5KiBwcm94eSkgeyBy
ZXR1cm4gYWRvcHRQdHIobmV3IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihwcm94
eSkpOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgb25UaW1lckZpcmVkKCkgT1ZFUlJJREUKKyAgICB7
CisgICAgICAgIG1fcHJveHktPmNvbXBvc2l0ZUltbWVkaWF0ZWx5KCk7CisgICAgfQorCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihDQ1Np
bmdsZVRocmVhZFByb3h5KiBwcm94eSkKKyAgICAgICAgOiBDQ1RpbWVyKENDUHJveHk6Om1haW5U
aHJlYWQoKSwgdGhpcykKKyAgICAgICAgLCBtX3Byb3h5KHByb3h5KQorICAgIHsKKyAgICB9CisK
KyAgICBDQ1NpbmdsZVRocmVhZFByb3h5KiBtX3Byb3h5OworfTsKKworLy8gTWVhc3VyZWQgaW4g
c2Vjb25kcy4KK3N0YXRpYyBjb25zdCBkb3VibGUgYW5pbWF0aW9uVGltZXJEZWxheSA9IDEgLyA2
MC4wOworCiBQYXNzT3duUHRyPENDUHJveHk+IENDU2luZ2xlVGhyZWFkUHJveHk6OmNyZWF0ZShD
Q0xheWVyVHJlZUhvc3QqIGxheWVyVHJlZUhvc3QpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBDQ1NpbmdsZVRocmVhZFByb3h5KGxheWVyVHJlZUhvc3QpKTsKQEAgLTY1LDYgKzg4LDcgQEAg
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eShDQ0xheWVyVHJlZUhvc3Qq
IGxheWVyVHJlZUhvc3QpCiAgICAgOiBtX2xheWVyVHJlZUhvc3QobGF5ZXJUcmVlSG9zdCkKICAg
ICAsIG1fY29udGV4dExvc3QoZmFsc2UpCiAgICAgLCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyKC0x
KQorICAgICwgbV9hbmltYXRpb25UaW1lcihDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGlt
ZXI6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1fbGF5ZXJSZW5kZXJlckluaXRpYWxpemVkKGZhbHNl
KQogICAgICwgbV9uZXh0RnJhbWVJc05ld2x5Q29tbWl0dGVkRnJhbWUoZmFsc2UpCiB7CkBAIC0y
NzYsNiArMzAwLDExIEBAIHZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6c2V0VmlzaWJsZShib29s
IHZpc2libGUpCiAgICAgc2V0TmVlZHNDb21taXQoKTsKIH0KIAordm9pZCBDQ1NpbmdsZVRocmVh
ZFByb3h5OjpkaWRBZGRBbmltYXRpb24oKQoreworICAgIG1fYW5pbWF0aW9uVGltZXItPnN0YXJ0
T25lU2hvdChhbmltYXRpb25UaW1lckRlbGF5KTsKK30KKwogdm9pZCBDQ1NpbmdsZVRocmVhZFBy
b3h5OjpzdG9wKCkKIHsKICAgICBUUkFDRV9FVkVOVCgiQ0NTaW5nbGVUaHJlYWRQcm94eTo6c3Rv
cCIsIHRoaXMsIDApOwpAQCAtMzQ1LDE1ICszNzQsMTkgQEAgYm9vbCBDQ1NpbmdsZVRocmVhZFBy
b3h5Ojpkb0NvbXBvc2l0ZSgpCiB7CiAgICAgQVNTRVJUKCFtX2NvbnRleHRMb3N0KTsKICAgICB7
Ci0gICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKLSAgICAgIGRvdWJsZSBtb25v
dG9uaWNUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICBkb3VibGUg
d2FsbENsb2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7Ci0KLSAgICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPmFuaW1hdGUobW9ub3RvbmljVGltZSwgd2FsbENsb2NrVGltZSk7Ci0gICAgICBDQ0xheWVy
VHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7Ci0gICAgICBtX2xheWVyVHJlZUhvc3RJbXBs
LT5wcmVwYXJlVG9EcmF3KGZyYW1lKTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdM
YXllcnMoZnJhbWUpOwotICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVy
cyhmcmFtZSk7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBsOworICAgICAg
ICBkb3VibGUgbW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwor
ICAgICAgICBkb3VibGUgd2FsbENsb2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7CisKKyAgICAgICAg
bV9sYXllclRyZWVIb3N0SW1wbC0+YW5pbWF0ZShtb25vdG9uaWNUaW1lLCB3YWxsQ2xvY2tUaW1l
KTsKKworICAgICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwtPmNhbkRyYXcoKSB8fCAhbV9s
YXllclRyZWVIb3N0SW1wbC0+dmlzaWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAg
bV9sYXllclRyZWVIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSk7CisgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBtX2xheWVyVHJlZUhv
c3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKICAgICB9CiAKICAgICBpZiAobV9sYXll
clRyZWVIb3N0SW1wbC0+aXNDb250ZXh0TG9zdCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRo
cmVhZFByb3h5LmgKaW5kZXggMTU2YmRkY2ExMTg3OWJlOTcxNWRlM2QwYjljZTM0NWRhMDVmZTgy
Yy4uMTY1ZGM4NGM1Y2M3ODQ5YTJmZmIyN2IxMThlNTMxNDA5ODA0N2M5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJl
YWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CitjbGFzcyBDQ1NpbmdsZVRocmVhZFBy
b3h5QW5pbWF0aW9uVGltZXI7CiAKIGNsYXNzIENDU2luZ2xlVGhyZWFkUHJveHkgOiBwdWJsaWMg
Q0NQcm94eSwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCB7CiBwdWJsaWM6CkBAIC01OSw2ICs2
MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgY29tbWl0UmVxdWVzdGVkKCkgY29uc3QgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZpc2libGUoYm9vbCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRpZEFkZEFuaW1hdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydCgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBzaXplX3QgbWF4UGFydGlhbFRleHR1cmVVcGRhdGVzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsgfQpAQCAtOTQsNiArOTYsOCBA
QCBwcml2YXRlOgogICAgIC8vIGJlIHVzZWQgZm9yIGFueXRoaW5nIGVsc2UuCiAgICAgUmVmUHRy
PEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHRCZWZvcmVJbml0aWFsaXphdGlvbjsKIAorICAg
IE93blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI+IG1fYW5pbWF0aW9uVGlt
ZXI7CisKICAgICAvLyBVc2VkIG9uIHRoZSBDQ1RocmVhZCwgYnV0IGNoZWNrZWQgb24gbWFpbiB0
aHJlYWQgZHVyaW5nIGluaXRpYWxpemF0aW9uL3NodXRkb3duLgogICAgIE93blB0cjxDQ0xheWVy
VHJlZUhvc3RJbXBsPiBtX2xheWVyVHJlZUhvc3RJbXBsOwogICAgIGJvb2wgbV9sYXllclJlbmRl
cmVySW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMjkxNWE4MTE5ZTdm
YzRhNjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4uOWZmNTgxZWY5MDdmOWJjOWFlODUzNTY1YzFl
ZDI4YTQ5ZGExYzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtNjgsNiArNjgsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBk
aWRBZGRBbmltYXRpb24oKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
c2l6ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAK
aW5kZXggY2QzNWZkNjY5NjljZmRhODM0ZjRjZmRlYzU5N2MzZjM5YzYyZjc1MC4uNmYwNzk2OTQx
NjY5NWJjNGRkNWFiYjdiYTM0MDlkNmQ2MDBjN2E4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0xMDc5LDkgKzEw
NzksMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVMYXllcnMoQ0NMYXll
clRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIGRvdWJsZSBtb25vdG9uaWNUaW1lKQog
ICAgIHsKLSAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7Ci0gICAgICAgICAgICAvLyBXZSBo
YXZlIGEgbG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hvdWxkIGNvbnRpbnVlIHRvIHRpY2sg
ZXZlbiBpZiB3ZSBhcmUgbm90IHZpc2libGUuCi0gICAgICAgICAgICBwb3N0U2V0VmlzaWJsZVRv
TWFpblRocmVhZChmYWxzZSk7CisgICAgICAgIGlmIChtX251bUFuaW1hdGVzIDwgMikgeworICAg
ICAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgaGF2
ZSBhIGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3VsZCBjb250aW51ZSB0byB0aWNrIGV2
ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLgorICAgICAgICAgICAgICAgIHBvc3RTZXRWaXNpYmxl
VG9NYWluVGhyZWFkKGZhbHNlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1fbnVtQW5p
bWF0ZXMrKzsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTA5NiwxNSArMTA5
OCw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbnVtQW5pbWF0ZXM7CiB9OwogCi0jaWYgT1MoV0lO
RE9XUykKLS8vIGh0dHA6Ly93ZWJraXQub3JnL2IvNzQ2MjMKLVRFU1RfRihDQ0xheWVyVHJlZUhv
c3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkLCBGTEFLWV9ydW5NdWx0aVRocmVh
ZCkKLSNlbHNlCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJh
Y2tncm91bmRlZCwgcnVuTXVsdGlUaHJlYWQpCi0jZW5kaWYKLXsKLSAgICBydW5UZXN0VGhyZWFk
ZWQoKTsKLX0KK1NJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhvc3RU
ZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkKQogCiAvLyBFbnN1cmVzIHRoYXQgYW5p
bWF0aW9ucyBjb250aW51ZSB0byBiZSB0aWNrZWQgd2hlbiB3ZSBhcmUgYmFja2dyb3VuZGVkLgog
Y2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhUaW1pbmdGdW5jdGlvbiA6
IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CkBAIC0xMTM5LDE1ICsxMTMz
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKIH07CiAKLSNpZiBPUyhXSU5ET1dTKQotLy8gaHR0cDov
L3dlYmtpdC5vcmcvYi83NDYyMwotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRp
b25XaXRoVGltaW5nRnVuY3Rpb24sIEZMQUtZX3J1bk11bHRpVGhyZWFkKQotI2Vsc2UKLVRFU1Rf
RihDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLCBydW5N
dWx0aVRocmVhZCkKLSNlbmRpZgotewotICAgIHJ1blRlc3RUaHJlYWRlZCgpOwotfQorU0lOR0xF
X0FORF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRpb25X
aXRoVGltaW5nRnVuY3Rpb24pCiAKIC8vIEVuc3VyZXMgdGhhdCB3aGVuIG9wYWNpdHkgaXMgYmVp
bmcgYW5pbWF0ZWQsIHRoaXMgdmFsdWUgZG9lcyBub3QgY2F1c2UgdGhlIHN1YnRyZWUgdG8gYmUg
c2tpcHBlZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3REb05vdFNraXBMYXllcnNXaXRoQW5p
bWF0ZWRPcGFjaXR5IDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKQEAg
LTEyMjQsMTAgKzEyMTAsNyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwqIG1f
bGF5ZXJUcmVlSG9zdEltcGw7CiB9OwogCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFN5bmNo
cm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcywgcnVuTXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVz
dFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRy
ZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcykKIAogLy8gRW5zdXJlcyB0
aGF0IG1haW4gdGhyZWFkIGFuaW1hdGlvbnMgaGF2ZSB0aGVpciBzdGFydCB0aW1lcyBzeW5jaHJv
bml6ZWQgd2l0aCBpbXBsIHRocmVhZCBhbmltYXRpb25zLgogY2xhc3MgQ0NMYXllclRyZWVIb3N0
VGVzdEFuaW1hdGlvbkZpbmlzaGVkRXZlbnRzIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RU
aHJlYWRPbmx5IHsKQEAgLTEyNTMsMTAgKzEyMzYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogfTsK
IAotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50cywgcnVu
TXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01V
TFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFuaW1hdGlvbkZpbmlzaGVkRXZl
bnRzKQogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsU2ltcGxlIDogcHVibGljIEND
TGF5ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKIHB1YmxpYzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141067</attachid>
            <date>2012-05-09 18:13:39 -0700</date>
            <delta_ts>2012-05-10 21:45:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120509211338.patch</filename>
            <type>text/plain</type>
            <size>17614</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE5OWU5OWQwYWYxMTAy
OWVjMGEzN2NjMjU2MTQ3NDc1ODhkMWY4YS4uN2ZiYzU1MDNmNzBhOWYyNDMzNDcwZTVlZDFlYjJl
ZDgwNTFhOGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTA5ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgIFRlc3RlZCBpbgorICAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQu
cnVuU2luZ2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXll
clRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcy5ydW5TaW5nbGVUaHJl
YWRlZAorICAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50
cy5ydW5TaW5nbGVUaHJlYWRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjph
ZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJB
bmltYXRpb25Db250cm9sbGVyOjpwdXNoTmV3QW5pbWF0aW9uc1RvSW1wbFRocmVhZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQWRkQW5pbWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpkaWRCZWNvbWVJbnZpc2libGVPbkltcGxUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoQ0NMYXllclRy
ZWVIb3N0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKENDUHJveHkpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Q0NTaW5nbGVUaHJlYWRQcm94
eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpkaWRBZGRBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaDoKKwogMjAxMi0wNS0wOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERvbid0IGRyYXcgd2hlbiBjYW5EcmF3KCkgaXMg
ZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMzE5YjRlY2M2OWJiM2QxZGNkMTFi
YmI0ZTcyNTViMWJkYTNkZWVmMi4uYTVhMDE4ZDcyZDQxZWE4ZGE4ZTFmNGU5ZWEzYzAwYmFmNDgz
MDljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0w
NS0wOSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hy
b21pdW1dIEVuc3VyZSBhbmltYXRpb25zIGdldCB0aWNrZWQgYXQgbGVhc3Qgb25jZSB3aGVuIGFk
ZGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYw
MTMKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAqIHRl
c3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhv
c3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkOjphbmltYXRlTGF5ZXJzKToKKyAg
ICAgICAgKFdURik6CisKIDIwMTItMDUtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEb24ndCBkcmF3IHdoZW4gY2FuRHJhdygpIGlz
IGZhbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGY5NGFhZDYwZTRlNjg4NjE5MGUyMWMy
ZThjMjA2Y2Y0MjY3ZWExMDEuLmM3ZjdiMzFiOTViMzBjYTNkYzEyNGVjMzdjNzg5Y2E4ZDQ5YmY0
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC02MDAsOCArNjAwLDEwIEBAIGJvb2wgTGF5
ZXJDaHJvbWl1bTo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZXMs
IGNvbnN0IEludFNpemUmCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgYWRkZWRB
bmltYXRpb24gPSBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxlci0+YWRkQW5pbWF0aW9uKHZhbHVl
cywgYm94U2l6ZSwgYW5pbWF0aW9uLCBhbmltYXRpb25JZCwgZ3JvdXBJZCwgdGltZU9mZnNldCk7
Ci0gICAgaWYgKGFkZGVkQW5pbWF0aW9uKQorICAgIGlmIChhZGRlZEFuaW1hdGlvbikgeworICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZEFkZEFuaW1hdGlvbigpOwogICAgICAgICBzZXROZWVk
c0NvbW1pdCgpOworICAgIH0KICAgICByZXR1cm4gYWRkZWRBbmltYXRpb247CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBkZjUw
YmU4MzQ2YTAxYzRlMGQ5N2ZhZmRkNTMwMzdlNDFkMmI4MjUwLi4yZWUxODg4NDhhMDE0ZWQ1ZWM5
NGIwYjc5ZGU3YWFiMTA4YTFmOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckFu
aW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yODEsNiArMjgxLDcgQEAgdm9pZCBDQ0xheWVyQW5p
bWF0aW9uQ29udHJvbGxlcjo6cHVzaE5ld0FuaW1hdGlvbnNUb0ltcGxUaHJlYWQoQ0NMYXllckFu
aW1hdGlvbkMKICAgICAgICAgQVNTRVJUKCF0b0FkZC0+bmVlZHNTeW5jaHJvbml6ZWRTdGFydFRp
bWUoKSk7CiAgICAgICAgIC8vIFRoZSBuZXcgYW5pbWF0aW9uIHNob3VsZCBiZSBzZXQgdG8gcnVu
IGFzIHNvb24gYXMgcG9zc2libGUuCiAgICAgICAgIHRvQWRkLT5zZXRSdW5TdGF0ZShDQ0FjdGl2
ZUFuaW1hdGlvbjo6V2FpdGluZ0ZvclRhcmdldEF2YWlsYWJpbGl0eSwgMCk7CisgICAgICAgIHRv
QWRkLT5zZXRTdGFydFRpbWUoMCk7CiAgICAgICAgIGNvbnRyb2xsZXJJbXBsLT5hZGQodG9BZGQu
cmVsZWFzZSgpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcAppbmRl
eCA5ZTU3NmFjMzc5NmI2OGE0MzI4NzkzNWI1MzI2NzE1M2E0Y2E4MjY5Li5hMDgxYzJiZTU4MzI3
OWFmOTBhYzgxYzRjZmZhMzNiOTE5YzI2OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dC5jcHAKQEAgLTIzMywxMCArMjMzLDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmZpbmlzaENv
bW1pdE9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW1wbCkKIAogICAgIC8v
IFdlIG1heSBoYXZlIGFkZGVkIGFuIGFuaW1hdGlvbiBkdXJpbmcgdGhlIHRyZWUgc3luYy4gVGhp
cyB3aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJlZSBob3N0cwogICAgIC8vIHRvIHZpc2l0IHRoZWly
IGNvbnRyb2xsZXJzLgotICAgIGlmIChyb290TGF5ZXIoKSkgeworICAgIGlmIChyb290TGF5ZXIo
KSAmJiBtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgaG9zdEltcGwtPnNldE5lZWRzQW5p
bWF0ZUxheWVycygpOwotICAgICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7Ci0gICAg
fQogCiAgICAgaG9zdEltcGwtPnNldFNvdXJjZUZyYW1lTnVtYmVyKGZyYW1lTnVtYmVyKCkpOwog
ICAgIGhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKCkpOwpAQCAtMzM5LDYg
KzMzNywxMiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NP
d25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+IGV2ZQogICAgIHNldEFuaW1hdGlvbkV2ZW50
c1JlY3Vyc2l2ZSgqZXZlbnRzLCBtX3Jvb3RMYXllci5nZXQoKSwgd2FsbENsb2NrVGltZSk7CiB9
CiAKK3ZvaWQgQ0NMYXllclRyZWVIb3N0OjpkaWRBZGRBbmltYXRpb24oKQoreworICAgIG1fbmVl
ZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKKyAgICBtX3Byb3h5LT5kaWRBZGRBbmltYXRpb24oKTsK
K30KKwogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnNldFJvb3RMYXllcihQYXNzUmVmUHRyPExheWVy
Q2hyb21pdW0+IHJvb3RMYXllcikKIHsKICAgICBpZiAobV9yb290TGF5ZXIgPT0gcm9vdExheWVy
KQpAQCAtNDA3LDEwICs0MTEsOCBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkQmVjb21lSW52
aXNpYmxlT25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJbQogCiAgICAgLy8g
V2UgbWF5IGhhdmUgYWRkZWQgYW4gYW5pbWF0aW9uIGR1cmluZyB0aGUgdHJlZSBzeW5jLiBUaGlz
IHdpbGwgY2F1c2UgYm90aCBsYXllciB0cmVlIGhvc3RzCiAgICAgLy8gdG8gdmlzaXQgdGhlaXIg
Y29udHJvbGxlcnMuCi0gICAgaWYgKHJvb3RMYXllcigpKSB7CisgICAgaWYgKHJvb3RMYXllcigp
ICYmIG1fbmVlZHNBbmltYXRlTGF5ZXJzKQogICAgICAgICBob3N0SW1wbC0+c2V0TmVlZHNBbmlt
YXRlTGF5ZXJzKCk7Ci0gICAgICAgIG1fbmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKLSAgICB9
CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRDb250ZW50c01lbW9yeUFsbG9jYXRpb25M
aW1pdEJ5dGVzKHNpemVfdCBieXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXgg
NDA2MTJlYWYwOTc2YWRjZmVhZTEzMGM3NTNhOTJhZmI5Njk5ODE1Yy4uNTI4ZWVjMjQ0ZTkwOGQ0
NTA3NDJhZTdmNTBiMzQ1MTU0YzdkZGE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgK
QEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb21taXRSZXF1ZXN0ZWQoKSBj
b25zdDsKIAogICAgIHZvaWQgc2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NPd25QdHI8Q0NBbmltYXRp
b25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSk7CisgICAgdm9pZCBkaWRBZGRB
bmltYXRpb24oKTsKIAogICAgIExheWVyQ2hyb21pdW0qIHJvb3RMYXllcigpIHsgcmV0dXJuIG1f
cm9vdExheWVyLmdldCgpOyB9CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9yb290TGF5ZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAKaW5kZXggZWM1NjRmNWY2ZjZkYjc1Y2RlYTcxZGU1N2FlODU1NTZi
MTViMTVjMy4uYjVkOWViNDZmZjQ4MzMxMGQ4YWVlODQ3M2FmNDYyYzRmOTRhMDhhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBD
Q0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKGNvbnN0IENDU2V0dGluZ3Mm
IHNldHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9tYXhQYWdlU2NhbGUoMCkKICAgICAsIG1f
bmVlZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwgbV9waW5jaEdlc3R1cmVBY3RpdmUoZmFs
c2UpCi0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJUcmVlSG9zdEltcGxU
aW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNy
ZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCAqIDEwMDAuMCwgQ0NQcm94eTo6Y3Vy
cmVudFRocmVhZCgpKSkpCisgICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJU
cmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCwgQ0NQcm94eTo6
Y3VycmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50ZXIoQ0NGcmFtZVJhdGVDb3VudGVy
OjpjcmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9yeShDQ0RlYnVnUmVjdEhpc3Rvcnk6
OmNyZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCmluZGV4IDRhMzZjMzg4ZTJmNDIyOGVjYzliOGFiNDdk
YTA2Y2Q2NTQ2ZTEwZjcuLmZmNzVmYjkwYjE2M2U4NzRhY2NjMmZiNTVmOTRkYTZmNzA5ZDEzN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXROZWVkc1JlZHJhdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShib29s
KSA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCkgPSAwOworCiAgICAg
dmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwg
dm9pZCBzdGFydCgpID0gMDsgLy8gTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRoZSBwcm94
eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggZDUzMThhZTM2
YmU2MjQ5OGQ4N2M2NDQ4ZmM5ZDE0MDA1ZThkOTUzZi4uODdhNDU4YzM0MTkwNTgxYWQ4MDQ5NGFl
NjVlYjdiNWJlMmZhNWQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5j
cHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjYy9DQ0ZvbnRBdGxhcy5oIgogI2luY2x1
ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZVVwZGF0ZXIu
aCIKKyNpbmNsdWRlICJjYy9DQ1RpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC01Niw2ICs1NywyOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgVW50aHJvdHRsZWRUZXh0dXJlVXBsb2FkZXIoKSB7IH0KIH07CiAKK2NsYXNzIENDU2luZ2xl
VGhyZWFkUHJveHlBbmltYXRpb25UaW1lciA6IHB1YmxpYyBDQ1RpbWVyLCBDQ1RpbWVyQ2xpZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5p
bWF0aW9uVGltZXI+IGNyZWF0ZShDQ1NpbmdsZVRocmVhZFByb3h5KiBwcm94eSkgeyByZXR1cm4g
YWRvcHRQdHIobmV3IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihwcm94eSkpOyB9
CisKKyAgICB2aXJ0dWFsIHZvaWQgb25UaW1lckZpcmVkKCkgT1ZFUlJJREUKKyAgICB7CisgICAg
ICAgIG1fcHJveHktPmNvbXBvc2l0ZUltbWVkaWF0ZWx5KCk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIGV4cGxpY2l0IENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcihDQ1NpbmdsZVRo
cmVhZFByb3h5KiBwcm94eSkKKyAgICAgICAgOiBDQ1RpbWVyKENDUHJveHk6Om1haW5UaHJlYWQo
KSwgdGhpcykKKyAgICAgICAgLCBtX3Byb3h5KHByb3h5KQorICAgIHsKKyAgICB9CisKKyAgICBD
Q1NpbmdsZVRocmVhZFByb3h5KiBtX3Byb3h5OworfTsKKworLy8gTWVhc3VyZWQgaW4gc2Vjb25k
cy4KK3N0YXRpYyBjb25zdCBkb3VibGUgYW5pbWF0aW9uVGltZXJEZWxheSA9IDEgLyA2MC4wOwor
CiBQYXNzT3duUHRyPENDUHJveHk+IENDU2luZ2xlVGhyZWFkUHJveHk6OmNyZWF0ZShDQ0xheWVy
VHJlZUhvc3QqIGxheWVyVHJlZUhvc3QpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1Np
bmdsZVRocmVhZFByb3h5KGxheWVyVHJlZUhvc3QpKTsKQEAgLTY1LDYgKzg4LDcgQEAgQ0NTaW5n
bGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eShDQ0xheWVyVHJlZUhvc3QqIGxheWVy
VHJlZUhvc3QpCiAgICAgOiBtX2xheWVyVHJlZUhvc3QobGF5ZXJUcmVlSG9zdCkKICAgICAsIG1f
Y29udGV4dExvc3QoZmFsc2UpCiAgICAgLCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyKC0xKQorICAg
ICwgbV9hbmltYXRpb25UaW1lcihDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI6OmNy
ZWF0ZSh0aGlzKSkKICAgICAsIG1fbGF5ZXJSZW5kZXJlckluaXRpYWxpemVkKGZhbHNlKQogICAg
ICwgbV9uZXh0RnJhbWVJc05ld2x5Q29tbWl0dGVkRnJhbWUoZmFsc2UpCiB7CkBAIC0yNzYsNiAr
MzAwLDExIEBAIHZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6c2V0VmlzaWJsZShib29sIHZpc2li
bGUpCiAgICAgc2V0TmVlZHNDb21taXQoKTsKIH0KIAordm9pZCBDQ1NpbmdsZVRocmVhZFByb3h5
OjpkaWRBZGRBbmltYXRpb24oKQoreworICAgIG1fYW5pbWF0aW9uVGltZXItPnN0YXJ0T25lU2hv
dChhbmltYXRpb25UaW1lckRlbGF5KTsKK30KKwogdm9pZCBDQ1NpbmdsZVRocmVhZFByb3h5Ojpz
dG9wKCkKIHsKICAgICBUUkFDRV9FVkVOVCgiQ0NTaW5nbGVUaHJlYWRQcm94eTo6c3RvcCIsIHRo
aXMsIDApOwpAQCAtMzQ1LDIxICszNzQsMjIgQEAgYm9vbCBDQ1NpbmdsZVRocmVhZFByb3h5Ojpk
b0NvbXBvc2l0ZSgpCiB7CiAgICAgQVNTRVJUKCFtX2NvbnRleHRMb3N0KTsKICAgICB7Ci0gICAg
ICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKLSAgICAgIGRvdWJsZSBtb25vdG9uaWNU
aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICBkb3VibGUgd2FsbENs
b2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5hbmlt
YXRlKG1vbm90b25pY1RpbWUsIHdhbGxDbG9ja1RpbWUpOwotCi0gICAgICAvLyBXZSBndWFyZCBw
cmVwYXJlVG9EcmF3KCkgd2l0aCBjYW5EcmF3KCkgYmVjYXVzZSBpdCBhbHdheXMgcmV0dXJucyBh
IHZhbGlkIGZyYW1lLCBzbyBjYW4gb25seQotICAgICAgLy8gYmUgdXNlZCB3aGVuIHN1Y2ggYSBm
cmFtZSBpcyBwb3NzaWJsZS4gU2luY2UgZHJhd0xheWVycygpIGRlcGVuZHMgb24gdGhlIHJlc3Vs
dCBvZgotICAgICAgLy8gcHJlcGFyZVRvRHJhdygpLCBpdCBpcyBndWFyZGVkIG9uIGNhbkRyYXco
KSBhcyB3ZWxsLgotICAgICAgaWYgKCFtX2xheWVyVHJlZUhvc3RJbXBsLT5jYW5EcmF3KCkpCi0g
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFt
ZURhdGEgZnJhbWU7Ci0gICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOwotICAg
ICAgbV9sYXllclRyZWVIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgICAg
IERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBsOworICAgICAgICBkb3VibGUgbW9ub3Rvbmlj
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBkb3VibGUgd2Fs
bENsb2NrVGltZSA9IGN1cnJlbnRUaW1lKCk7CisKKyAgICAgICAgbV9sYXllclRyZWVIb3N0SW1w
bC0+YW5pbWF0ZShtb25vdG9uaWNUaW1lLCB3YWxsQ2xvY2tUaW1lKTsKKworICAgICAgICAvLyBX
ZSBndWFyZCBwcmVwYXJlVG9EcmF3KCkgd2l0aCBjYW5EcmF3KCkgYmVjYXVzZSBpdCBhbHdheXMg
cmV0dXJucyBhIHZhbGlkIGZyYW1lLCBzbyBjYW4gb25seQorICAgICAgICAvLyBiZSB1c2VkIHdo
ZW4gc3VjaCBhIGZyYW1lIGlzIHBvc3NpYmxlLiBTaW5jZSBkcmF3TGF5ZXJzKCkgZGVwZW5kcyBv
biB0aGUgcmVzdWx0IG9mCisgICAgICAgIC8vIHByZXBhcmVUb0RyYXcoKSwgaXQgaXMgZ3VhcmRl
ZCBvbiBjYW5EcmF3KCkgYXMgd2VsbC4KKyAgICAgICAgaWYgKCFtX2xheWVyVHJlZUhvc3RJbXBs
LT5jYW5EcmF3KCkgfHwgIW1fbGF5ZXJUcmVlSG9zdEltcGwtPnZpc2libGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURh
dGEgZnJhbWU7CisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJh
bWUpOworICAgICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAg
ICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CiAgICAg
fQogCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdEltcGwtPmlzQ29udGV4dExvc3QoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oCmluZGV4IDE1NmJkZGNhMTE4NzliZTk3MTVk
ZTNkMGI5Y2UzNDVkYTA1ZmU4MmMuLjE2NWRjODRjNWNjNzg0OWEyZmZiMjdiMTE4ZTUzMTQwOTgw
NDdjOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgKQEAgLTM1LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0NMYXllclRyZWVIb3N0OworY2xh
c3MgQ0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyOwogCiBjbGFzcyBDQ1NpbmdsZVRo
cmVhZFByb3h5IDogcHVibGljIENDUHJveHksIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQgewog
cHVibGljOgpAQCAtNTksNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzUmVkcmF3KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRBbmltYXRpb24oKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgc3RhcnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgc2l6ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCk7
IH0KQEAgLTk0LDYgKzk2LDggQEAgcHJpdmF0ZToKICAgICAvLyBiZSB1c2VkIGZvciBhbnl0aGlu
ZyBlbHNlLgogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250ZXh0QmVmb3JlSW5p
dGlhbGl6YXRpb247CiAKKyAgICBPd25QdHI8Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRp
bWVyPiBtX2FuaW1hdGlvblRpbWVyOworCiAgICAgLy8gVXNlZCBvbiB0aGUgQ0NUaHJlYWQsIGJ1
dCBjaGVja2VkIG9uIG1haW4gdGhyZWFkIGR1cmluZyBpbml0aWFsaXphdGlvbi9zaHV0ZG93bi4K
ICAgICBPd25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbD4gbV9sYXllclRyZWVIb3N0SW1wbDsKICAg
ICBib29sIG1fbGF5ZXJSZW5kZXJlckluaXRpYWxpemVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5o
CmluZGV4IDI5MTVhODExOWU3ZmM0YTY4ZTJhM2YyMjUwNzdmMjlmODk5N2Q3ZWYuLjlmZjU4MWVm
OTA3ZjliYzlhZTg1MzU2NWMxZWQyOGE0OWRhMWMzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmgKQEAgLTY4LDYgKzY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc1Jl
ZHJhdygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBjb21taXRSZXF1ZXN0ZWQoKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShib29sKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCkgT1ZFUlJJREUgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHN0YXJ0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHNpemVfdCBtYXhQYXJ0aWFsVGV4dHVyZVVwZGF0ZXMoKSBjb25z
dCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IDIwNGFhYjM5YThmY2Y5ZTBhMjU1OGE3ODI1ODFmMzdj
MDFiYTYyNDYuLmU1YTZjY2NmODRkMWEwMWY0YjA5OTAxZDYyMDk2YmNlMDRiODhkYjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0
LmNwcApAQCAtMTEzNSw5ICsxMTM1LDExIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBh
bmltYXRlTGF5ZXJzKENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3Vi
bGUgbW9ub3RvbmljVGltZSkKICAgICB7Ci0gICAgICAgIGlmICghbV9udW1BbmltYXRlcykgewot
ICAgICAgICAgICAgLy8gV2UgaGF2ZSBhIGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3Vs
ZCBjb250aW51ZSB0byB0aWNrIGV2ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLgotICAgICAgICAg
ICAgcG9zdFNldFZpc2libGVUb01haW5UaHJlYWQoZmFsc2UpOworICAgICAgICBpZiAobV9udW1B
bmltYXRlcyA8IDIpIHsKKyAgICAgICAgICAgIGlmICghbV9udW1BbmltYXRlcykgeworICAgICAg
ICAgICAgICAgIC8vIFdlIGhhdmUgYSBsb25nIGFuaW1hdGlvbiBydW5uaW5nLiBJdCBzaG91bGQg
Y29udGludWUgdG8gdGljayBldmVuIGlmIHdlIGFyZSBub3QgdmlzaWJsZS4KKyAgICAgICAgICAg
ICAgICBwb3N0U2V0VmlzaWJsZVRvTWFpblRocmVhZChmYWxzZSk7CisgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBtX251bUFuaW1hdGVzKys7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KQEAgLTExNTIsMTUgKzExNTQsNyBAQCBwcml2YXRlOgogICAgIGludCBtX251bUFuaW1hdGVz
OwogfTsKIAotI2lmIE9TKFdJTkRPV1MpCi0vLyBodHRwOi8vd2Via2l0Lm9yZy9iLzc0NjIzCi1U
RVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZCwg
RkxBS1lfcnVuTXVsdGlUaHJlYWQpCi0jZWxzZQotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RU
aWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQsIHJ1bk11bHRpVGhyZWFkKQotI2VuZGlmCi17
Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNU
X0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZCkKIAog
Ly8gRW5zdXJlcyB0aGF0IGFuaW1hdGlvbnMgY29udGludWUgdG8gYmUgdGlja2VkIHdoZW4gd2Ug
YXJlIGJhY2tncm91bmRlZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRpb25X
aXRoVGltaW5nRnVuY3Rpb24gOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzdFRocmVhZE9ubHkg
ewpAQCAtMTE5NSwxNSArMTE4OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiB9OwogCi0jaWYgT1Mo
V0lORE9XUykKLS8vIGh0dHA6Ly93ZWJraXQub3JnL2IvNzQ2MjMKLVRFU1RfRihDQ0xheWVyVHJl
ZUhvc3RUZXN0QWRkQW5pbWF0aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLCBGTEFLWV9ydW5NdWx0aVRo
cmVhZCkKLSNlbHNlCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhU
aW1pbmdGdW5jdGlvbiwgcnVuTXVsdGlUaHJlYWQpCi0jZW5kaWYKLXsKLSAgICBydW5UZXN0VGhy
ZWFkZWQoKTsKLX0KK1NJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhv
c3RUZXN0QWRkQW5pbWF0aW9uV2l0aFRpbWluZ0Z1bmN0aW9uKQogCiAvLyBFbnN1cmVzIHRoYXQg
d2hlbiBvcGFjaXR5IGlzIGJlaW5nIGFuaW1hdGVkLCB0aGlzIHZhbHVlIGRvZXMgbm90IGNhdXNl
IHRoZSBzdWJ0cmVlIHRvIGJlIHNraXBwZWQuCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0RG9O
b3RTa2lwTGF5ZXJzV2l0aEFuaW1hdGVkT3BhY2l0eSA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RU
ZXN0VGhyZWFkT25seSB7CkBAIC0xMjgwLDEwICsxMjY2LDcgQEAgcHJpdmF0ZToKICAgICBDQ0xh
eWVyVHJlZUhvc3RJbXBsKiBtX2xheWVyVHJlZUhvc3RJbXBsOwogfTsKIAotVEVTVF9GKENDTGF5
ZXJUcmVlSG9zdFRlc3RTeW5jaHJvbml6ZUFuaW1hdGlvblN0YXJ0VGltZXMsIHJ1bk11bHRpVGhy
ZWFkKQotewotICAgIHJ1blRlc3RUaHJlYWRlZCgpOwotfQorU0lOR0xFX0FORF9NVUxUSV9USFJF
QURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RTeW5jaHJvbml6ZUFuaW1hdGlvblN0YXJ0VGlt
ZXMpCiAKIC8vIEVuc3VyZXMgdGhhdCBtYWluIHRocmVhZCBhbmltYXRpb25zIGhhdmUgdGhlaXIg
c3RhcnQgdGltZXMgc3luY2hyb25pemVkIHdpdGggaW1wbCB0aHJlYWQgYW5pbWF0aW9ucy4KIGNs
YXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50cyA6IHB1YmxpYyBD
Q0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CkBAIC0xMzA5LDEwICsxMjkyLDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKIH07CiAKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QW5pbWF0aW9u
RmluaXNoZWRFdmVudHMsIHJ1bk11bHRpVGhyZWFkKQotewotICAgIHJ1blRlc3RUaHJlYWRlZCgp
OwotfQorU0lOR0xFX0FORF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RB
bmltYXRpb25GaW5pc2hlZEV2ZW50cykKIAogY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNjcm9s
bFNpbXBsZSA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CiBwdWJsaWM6
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141323</attachid>
            <date>2012-05-10 21:45:45 -0700</date>
            <delta_ts>2012-05-15 12:15:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120511004543.patch</filename>
            <type>text/plain</type>
            <size>17553</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgwYjdlYjE2MjY5MWZj
NmI1ZmFlNDQwN2VjMjNhMDZkMmU1YzIwNS4uMjU5NDI5ZGI2YjU4NzJiZGFhMDYzOGExOTg1YTgw
OTQwMzk1Y2U1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTEwICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBpbgorICAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQu
cnVuU2luZ2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXll
clRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcy5ydW5TaW5nbGVUaHJl
YWRlZAorICAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50
cy5ydW5TaW5nbGVUaHJlYWRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjph
ZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJB
bmltYXRpb25Db250cm9sbGVyOjpwdXNoTmV3QW5pbWF0aW9uc1RvSW1wbFRocmVhZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQWRkQW5pbWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpkaWRCZWNvbWVJbnZpc2libGVPbkltcGxUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoQ0NMYXllclRy
ZWVIb3N0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OkNDTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKENDUHJveHkpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcjo6Q0NTaW5nbGVUaHJlYWRQcm94
eUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpkaWRBZGRBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaDoKKwogMjAxMi0wNS0xMCAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgV2ViS2l0IHNob3VsZCBzdXBwb3J0IHRhYi1zaXplLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCAwNDdmOWJjM2VhNDJkNGNhN2E1MGVlMDA2ZTUxZTVkNGM1
YWI0NjhlLi45ZTY1ZTg0MmU4NjQzYTNiMjgxYWExNTEyMzYwNmNmZmRmMTQzYmU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA1LTEwICBJYW4gVm9s
bGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5zdXJl
IGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NMYXllclRy
ZWVIb3N0VGVzdC5jcHA6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5p
bWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQ6OmFuaW1hdGVMYXllcnMpOgorICAgICAgICAoV1RGKToK
KwogMjAxMi0wNS0xMCAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgV2ViS2l0IHNob3VsZCBzdXBwb3J0IHRhYi1zaXplLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cAppbmRleCBmOTRhYWQ2MGU0ZTY4ODYxOTBlMjFjMmU4YzIwNmNmNDI2N2VhMTAxLi5jN2Y3YjMx
Yjk1YjMwY2EzZGMxMjRlYzM3Yzc4OWNhOGQ0OWJmNDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cApAQCAtNjAwLDggKzYwMCwxMCBAQCBib29sIExheWVyQ2hyb21pdW06OmFkZEFuaW1hdGlvbihj
b25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVzLCBjb25zdCBJbnRTaXplJgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGFkZGVkQW5pbWF0aW9uID0gbV9sYXllckFuaW1hdGlv
bkNvbnRyb2xsZXItPmFkZEFuaW1hdGlvbih2YWx1ZXMsIGJveFNpemUsIGFuaW1hdGlvbiwgYW5p
bWF0aW9uSWQsIGdyb3VwSWQsIHRpbWVPZmZzZXQpOwotICAgIGlmIChhZGRlZEFuaW1hdGlvbikK
KyAgICBpZiAoYWRkZWRBbmltYXRpb24pIHsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRB
ZGRBbmltYXRpb24oKTsKICAgICAgICAgc2V0TmVlZHNDb21taXQoKTsKKyAgICB9CiAgICAgcmV0
dXJuIGFkZGVkQW5pbWF0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGY1MGJlODM0NmEwMWM0ZTBkOTdmYWZkZDUzMDM3
ZTQxZDJiODI1MC4uMmVlMTg4ODQ4YTAxNGVkNWVjOTRiMGI3OWRlN2FhYjEwOGExZjk2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllckFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAt
MjgxLDYgKzI4MSw3IEBAIHZvaWQgQ0NMYXllckFuaW1hdGlvbkNvbnRyb2xsZXI6OnB1c2hOZXdB
bmltYXRpb25zVG9JbXBsVGhyZWFkKENDTGF5ZXJBbmltYXRpb25DCiAgICAgICAgIEFTU0VSVCgh
dG9BZGQtPm5lZWRzU3luY2hyb25pemVkU3RhcnRUaW1lKCkpOwogICAgICAgICAvLyBUaGUgbmV3
IGFuaW1hdGlvbiBzaG91bGQgYmUgc2V0IHRvIHJ1biBhcyBzb29uIGFzIHBvc3NpYmxlLgogICAg
ICAgICB0b0FkZC0+c2V0UnVuU3RhdGUoQ0NBY3RpdmVBbmltYXRpb246OldhaXRpbmdGb3JUYXJn
ZXRBdmFpbGFiaWxpdHksIDApOworICAgICAgICB0b0FkZC0+c2V0U3RhcnRUaW1lKDApOwogICAg
ICAgICBjb250cm9sbGVySW1wbC0+YWRkKHRvQWRkLnJlbGVhc2UoKSk7CiAgICAgfQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWU1NzZhYzM3OTZiNjhhNDMyODc5MzVi
NTMyNjcxNTNhNGNhODI2OS4uYTA4MWMyYmU1ODMyNzlhZjkwYWM4MWM0Y2ZmYTMzYjkxOWMyNjhi
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCkBAIC0yMzMsMTAgKzIzMyw4IEBA
IHZvaWQgQ0NMYXllclRyZWVIb3N0OjpmaW5pc2hDb21taXRPbkltcGxUaHJlYWQoQ0NMYXllclRy
ZWVIb3N0SW1wbCogaG9zdEltcGwpCiAKICAgICAvLyBXZSBtYXkgaGF2ZSBhZGRlZCBhbiBhbmlt
YXRpb24gZHVyaW5nIHRoZSB0cmVlIHN5bmMuIFRoaXMgd2lsbCBjYXVzZSBib3RoIGxheWVyIHRy
ZWUgaG9zdHMKICAgICAvLyB0byB2aXNpdCB0aGVpciBjb250cm9sbGVycy4KLSAgICBpZiAocm9v
dExheWVyKCkpIHsKKyAgICBpZiAocm9vdExheWVyKCkgJiYgbV9uZWVkc0FuaW1hdGVMYXllcnMp
CiAgICAgICAgIGhvc3RJbXBsLT5zZXROZWVkc0FuaW1hdGVMYXllcnMoKTsKLSAgICAgICAgbV9u
ZWVkc0FuaW1hdGVMYXllcnMgPSB0cnVlOwotICAgIH0KIAogICAgIGhvc3RJbXBsLT5zZXRTb3Vy
Y2VGcmFtZU51bWJlcihmcmFtZU51bWJlcigpKTsKICAgICBob3N0SW1wbC0+c2V0Vmlld3BvcnRT
aXplKHZpZXdwb3J0U2l6ZSgpKTsKQEAgLTMzOSw2ICszMzcsMTIgQEAgdm9pZCBDQ0xheWVyVHJl
ZUhvc3Q6OnNldEFuaW1hdGlvbkV2ZW50cyhQYXNzT3duUHRyPENDQW5pbWF0aW9uRXZlbnRzVmVj
dG9yPiBldmUKICAgICBzZXRBbmltYXRpb25FdmVudHNSZWN1cnNpdmUoKmV2ZW50cywgbV9yb290
TGF5ZXIuZ2V0KCksIHdhbGxDbG9ja1RpbWUpOwogfQogCit2b2lkIENDTGF5ZXJUcmVlSG9zdDo6
ZGlkQWRkQW5pbWF0aW9uKCkKK3sKKyAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7Cisg
ICAgbV9wcm94eS0+ZGlkQWRkQW5pbWF0aW9uKCk7Cit9CisKIHZvaWQgQ0NMYXllclRyZWVIb3N0
OjpzZXRSb290TGF5ZXIoUGFzc1JlZlB0cjxMYXllckNocm9taXVtPiByb290TGF5ZXIpCiB7CiAg
ICAgaWYgKG1fcm9vdExheWVyID09IHJvb3RMYXllcikKQEAgLTQwNywxMCArNDExLDggQEAgdm9p
ZCBDQ0xheWVyVHJlZUhvc3Q6OmRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVhZChDQ0xheWVy
VHJlZUhvc3RJbXBsKiBob3N0SW0KIAogICAgIC8vIFdlIG1heSBoYXZlIGFkZGVkIGFuIGFuaW1h
dGlvbiBkdXJpbmcgdGhlIHRyZWUgc3luYy4gVGhpcyB3aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJl
ZSBob3N0cwogICAgIC8vIHRvIHZpc2l0IHRoZWlyIGNvbnRyb2xsZXJzLgotICAgIGlmIChyb290
TGF5ZXIoKSkgeworICAgIGlmIChyb290TGF5ZXIoKSAmJiBtX25lZWRzQW5pbWF0ZUxheWVycykK
ICAgICAgICAgaG9zdEltcGwtPnNldE5lZWRzQW5pbWF0ZUxheWVycygpOwotICAgICAgICBtX25l
ZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7Ci0gICAgfQogfQogCiB2b2lkIENDTGF5ZXJUcmVlSG9z
dDo6c2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9uTGltaXRCeXRlcyhzaXplX3QgYnl0ZXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDhlZGFjNzgxYjMxMjc3ZGI5NGM5MzEwNWI0
MjkyZmQ1YTZhMmQ0ZTIuLjE1ZWE4YjhhNjg0NWY1MTI2MDU4Y2ZmOWY0ZGEzYmMxMjliMTE0M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCkBAIC0xOTgsNiArMTk4LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgY29tbWl0UmVxdWVzdGVkKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldEFuaW1h
dGlvbkV2ZW50cyhQYXNzT3duUHRyPENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiwgZG91YmxlIHdh
bGxDbG9ja1RpbWUpOworICAgIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCk7CiAKICAgICBMYXllckNo
cm9taXVtKiByb290TGF5ZXIoKSB7IHJldHVybiBtX3Jvb3RMYXllci5nZXQoKTsgfQogICAgIGNv
bnN0IExheWVyQ2hyb21pdW0qIHJvb3RMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdExheWVy
LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IGVj
NTY0ZjVmNmY2ZGI3NWNkZWE3MWRlNTdhZTg1NTU2YjE1YjE1YzMuLmI1ZDllYjQ2ZmY0ODMzMTBk
OGFlZTg0NzNhZjQ2MmM0Zjk0YTA4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgQ0NMYXllclRyZWVIb3N0SW1wbDo6Q0NMYXll
clRyZWVIb3N0SW1wbChjb25zdCBDQ1NldHRpbmdzJiBzZXR0aW5ncywgQ0NMYXllclRyZWUKICAg
ICAsIG1fbWF4UGFnZVNjYWxlKDApCiAgICAgLCBtX25lZWRzQW5pbWF0ZUxheWVycyhmYWxzZSkK
ICAgICAsIG1fcGluY2hHZXN0dXJlQWN0aXZlKGZhbHNlKQotICAgICwgbV90aW1lU291cmNlQ2xp
ZW50QWRhcHRlcihDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSh0
aGlzLCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUobG93RnJlcXVlbmN5QW5pbWF0aW9u
SW50ZXJ2YWwgKiAxMDAwLjAsIENDUHJveHk6OmN1cnJlbnRUaHJlYWQoKSkpKQorICAgICwgbV90
aW1lU291cmNlQ2xpZW50QWRhcHRlcihDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0
ZXI6OmNyZWF0ZSh0aGlzLCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUobG93RnJlcXVl
bmN5QW5pbWF0aW9uSW50ZXJ2YWwsIENDUHJveHk6OmN1cnJlbnRUaHJlYWQoKSkpKQogICAgICwg
bV9mcHNDb3VudGVyKENDRnJhbWVSYXRlQ291bnRlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX2RlYnVn
UmVjdEhpc3RvcnkoQ0NEZWJ1Z1JlY3RIaXN0b3J5OjpjcmVhdGUoKSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaApp
bmRleCA0YTM2YzM4OGUyZjQyMjhlY2M5YjhhYjQ3ZGEwNmNkNjU0NmUxMGY3Li5mZjc1ZmI5MGIx
NjNlODc0YWNjYzJmYjU1Zjk0ZGE2ZjcwOWQxMzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCkBAIC04Niw2ICs4
Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZpc2libGUoYm9vbCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lk
IGRpZEFkZEFuaW1hdGlvbigpID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBjb21taXRSZXF1ZXN0
ZWQoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSA9IDA7IC8vIE11c3Qg
YmUgY2FsbGVkIGJlZm9yZSB1c2luZyB0aGUgcHJveHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xl
VGhyZWFkUHJveHkuY3BwCmluZGV4IGQ1MzE4YWUzNmJlNjI0OThkODdjNjQ0OGZjOWQxNDAwNWU4
ZDk1M2YuLjUzOWEyYWQxMzVjM2JiYzA0MzUwNTk5ZTEyZDUyNDMxMjRmZjg2NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xl
VGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j
bHVkZSAiY2MvQ0NGb250QXRsYXMuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3QuaCIK
ICNpbmNsdWRlICJjYy9DQ1RleHR1cmVVcGRhdGVyLmgiCisjaW5jbHVkZSAiY2MvQ0NUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwpA
QCAtNTYsNiArNTcsMjggQEAgcHJvdGVjdGVkOgogICAgIFVudGhyb3R0bGVkVGV4dHVyZVVwbG9h
ZGVyKCkgeyB9CiB9OwogCitjbGFzcyBDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXIg
OiBwdWJsaWMgQ0NUaW1lciwgQ0NUaW1lckNsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NPd25QdHI8Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyPiBjcmVhdGUoQ0NTaW5n
bGVUaHJlYWRQcm94eSogcHJveHkpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1NpbmdsZVRocmVh
ZFByb3h5QW5pbWF0aW9uVGltZXIocHJveHkpKTsgfQorCisgICAgdmlydHVhbCB2b2lkIG9uVGlt
ZXJGaXJlZCgpIE9WRVJSSURFCisgICAgeworICAgICAgICBtX3Byb3h5LT5jb21wb3NpdGVJbW1l
ZGlhdGVseSgpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBDQ1NpbmdsZVRocmVh
ZFByb3h5QW5pbWF0aW9uVGltZXIoQ0NTaW5nbGVUaHJlYWRQcm94eSogcHJveHkpCisgICAgICAg
IDogQ0NUaW1lcihDQ1Byb3h5OjptYWluVGhyZWFkKCksIHRoaXMpCisgICAgICAgICwgbV9wcm94
eShwcm94eSkKKyAgICB7CisgICAgfQorCisgICAgQ0NTaW5nbGVUaHJlYWRQcm94eSogbV9wcm94
eTsKK307CisKKy8vIE1lYXN1cmVkIGluIHNlY29uZHMuCitzdGF0aWMgY29uc3QgZG91YmxlIGFu
aW1hdGlvblRpbWVyRGVsYXkgPSAxIC8gNjAuMDsKKwogUGFzc093blB0cjxDQ1Byb3h5PiBDQ1Np
bmdsZVRocmVhZFByb3h5OjpjcmVhdGUoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQog
ewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ0NTaW5nbGVUaHJlYWRQcm94eShsYXllclRyZWVI
b3N0KSk7CkBAIC02NSw2ICs4OCw3IEBAIENDU2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhy
ZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQogICAgIDogbV9sYXllclRy
ZWVIb3N0KGxheWVyVHJlZUhvc3QpCiAgICAgLCBtX2NvbnRleHRMb3N0KGZhbHNlKQogICAgICwg
bV9jb21wb3NpdG9ySWRlbnRpZmllcigtMSkKKyAgICAsIG1fYW5pbWF0aW9uVGltZXIoQ0NTaW5n
bGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2xheWVy
UmVuZGVyZXJJbml0aWFsaXplZChmYWxzZSkKICAgICAsIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1p
dHRlZEZyYW1lKGZhbHNlKQogewpAQCAtMjc2LDYgKzMwMCwxMSBAQCB2b2lkIENDU2luZ2xlVGhy
ZWFkUHJveHk6OnNldFZpc2libGUoYm9vbCB2aXNpYmxlKQogICAgIHNldE5lZWRzQ29tbWl0KCk7
CiB9CiAKK3ZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6ZGlkQWRkQW5pbWF0aW9uKCkKK3sKKyAg
ICBtX2FuaW1hdGlvblRpbWVyLT5zdGFydE9uZVNob3QoYW5pbWF0aW9uVGltZXJEZWxheSk7Cit9
CisKIHZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6c3RvcCgpCiB7CiAgICAgVFJBQ0VfRVZFTlQo
IkNDU2luZ2xlVGhyZWFkUHJveHk6OnN0b3AiLCB0aGlzLCAwKTsKQEAgLTM0NSwyMSArMzc0LDIy
IEBAIGJvb2wgQ0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUoKQogewogICAgIEFTU0VS
VCghbV9jb250ZXh0TG9zdCk7CiAgICAgewotICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFk
IGltcGw7Ci0gICAgICBkb3VibGUgbW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwotICAgICAgZG91YmxlIHdhbGxDbG9ja1RpbWUgPSBjdXJyZW50VGltZSgpOwot
ICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+YW5pbWF0ZShtb25vdG9uaWNUaW1lLCB3YWxsQ2xv
Y2tUaW1lKTsKLQotICAgICAgLy8gV2UgZ3VhcmQgcHJlcGFyZVRvRHJhdygpIHdpdGggY2FuRHJh
dygpIGJlY2F1c2UgaXQgYWx3YXlzIHJldHVybnMgYSB2YWxpZCBmcmFtZSwgc28gY2FuIG9ubHkK
LSAgICAgIC8vIGJlIHVzZWQgd2hlbiBzdWNoIGEgZnJhbWUgaXMgcG9zc2libGUuIFNpbmNlIGRy
YXdMYXllcnMoKSBkZXBlbmRzIG9uIHRoZSByZXN1bHQgb2YKLSAgICAgIC8vIHByZXBhcmVUb0Ry
YXcoKSwgaXQgaXMgZ3VhcmRlZCBvbiBjYW5EcmF3KCkgYXMgd2VsbC4KLSAgICAgIGlmICghbV9s
YXllclRyZWVIb3N0SW1wbC0+Y2FuRHJhdygpKQotICAgICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwotICAgICAgbV9sYXll
clRyZWVIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSk7Ci0gICAgICBtX2xheWVyVHJlZUhv
c3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRp
ZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQg
aW1wbDsKKyAgICAgICAgZG91YmxlIG1vbm90b25pY1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKKyAgICAgICAgZG91YmxlIHdhbGxDbG9ja1RpbWUgPSBjdXJyZW50VGltZSgp
OworCisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmFuaW1hdGUobW9ub3RvbmljVGltZSwg
d2FsbENsb2NrVGltZSk7CisKKyAgICAgICAgLy8gV2UgZ3VhcmQgcHJlcGFyZVRvRHJhdygpIHdp
dGggY2FuRHJhdygpIGJlY2F1c2UgaXQgYWx3YXlzIHJldHVybnMgYSB2YWxpZCBmcmFtZSwgc28g
Y2FuIG9ubHkKKyAgICAgICAgLy8gYmUgdXNlZCB3aGVuIHN1Y2ggYSBmcmFtZSBpcyBwb3NzaWJs
ZS4gU2luY2UgZHJhd0xheWVycygpIGRlcGVuZHMgb24gdGhlIHJlc3VsdCBvZgorICAgICAgICAv
LyBwcmVwYXJlVG9EcmF3KCksIGl0IGlzIGd1YXJkZWQgb24gY2FuRHJhdygpIGFzIHdlbGwuCisg
ICAgICAgIGlmICghbV9sYXllclRyZWVIb3N0SW1wbC0+Y2FuRHJhdygpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSk7
CisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAg
ICBtX2xheWVyVHJlZUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKICAgICB9CiAK
ICAgICBpZiAobV9sYXllclRyZWVIb3N0SW1wbC0+aXNDb250ZXh0TG9zdCgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Npbmds
ZVRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgKaW5kZXggMTU2YmRkY2ExMTg3OWJlOTcxNWRlM2Qw
YjljZTM0NWRhMDVmZTgyYy4uMTY1ZGM4NGM1Y2M3ODQ5YTJmZmIyN2IxMThlNTMxNDA5ODA0N2M5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaApAQCAtMzUsNiArMzUsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CitjbGFzcyBD
Q1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI7CiAKIGNsYXNzIENDU2luZ2xlVGhyZWFk
UHJveHkgOiBwdWJsaWMgQ0NQcm94eSwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCB7CiBwdWJs
aWM6CkBAIC01OSw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNS
ZWRyYXcoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgY29tbWl0UmVxdWVzdGVkKCkgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGUoYm9vbCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIGRpZEFkZEFuaW1hdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzdGFydCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBzaXplX3QgbWF4UGFydGlhbFRleHR1cmVVcGRhdGVzKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsgfQpA
QCAtOTQsNiArOTYsOCBAQCBwcml2YXRlOgogICAgIC8vIGJlIHVzZWQgZm9yIGFueXRoaW5nIGVs
c2UuCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHRCZWZvcmVJbml0aWFs
aXphdGlvbjsKIAorICAgIE93blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI+
IG1fYW5pbWF0aW9uVGltZXI7CisKICAgICAvLyBVc2VkIG9uIHRoZSBDQ1RocmVhZCwgYnV0IGNo
ZWNrZWQgb24gbWFpbiB0aHJlYWQgZHVyaW5nIGluaXRpYWxpemF0aW9uL3NodXRkb3duLgogICAg
IE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBtX2xheWVyVHJlZUhvc3RJbXBsOwogICAgIGJv
b2wgbV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5k
ZXggMjkxNWE4MTE5ZTdmYzRhNjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4uOWZmNTgxZWY5MDdm
OWJjOWFlODUzNTY1YzFlZDI4YTQ5ZGExYzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApA
QCAtNjgsNiArNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0IE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBkaWRBZGRBbmltYXRpb24oKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgc3RhcnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgc2l6ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNvbnN0IE9W
RVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRy
ZWVIb3N0VGVzdC5jcHAKaW5kZXggNDRmODdjNmE5M2E4MmNjNmQ0ZjRjZmIwNTZlYzQ4ZTJkNGMy
YmNlNC4uYTU2MGJlOGMwYmNmNzlkZGI0NTZkZWY0ZjMzNTU3OGQ3ZjZjNGM0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3Bw
CkBAIC0xMTQwLDkgKzExNDAsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGVMYXllcnMoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIGRvdWJsZSBt
b25vdG9uaWNUaW1lKQogICAgIHsKLSAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7Ci0gICAg
ICAgICAgICAvLyBXZSBoYXZlIGEgbG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hvdWxkIGNv
bnRpbnVlIHRvIHRpY2sgZXZlbiBpZiB3ZSBhcmUgbm90IHZpc2libGUuCi0gICAgICAgICAgICBw
b3N0U2V0VmlzaWJsZVRvTWFpblRocmVhZChmYWxzZSk7CisgICAgICAgIGlmIChtX251bUFuaW1h
dGVzIDwgMikgeworICAgICAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CisgICAgICAgICAg
ICAgICAgLy8gV2UgaGF2ZSBhIGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3VsZCBjb250
aW51ZSB0byB0aWNrIGV2ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLgorICAgICAgICAgICAgICAg
IHBvc3RTZXRWaXNpYmxlVG9NYWluVGhyZWFkKGZhbHNlKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIG1fbnVtQW5pbWF0ZXMrKzsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpA
QCAtMTE1NywxNSArMTE1OSw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbnVtQW5pbWF0ZXM7CiB9
OwogCi0jaWYgT1MoV0lORE9XUykKLS8vIGh0dHA6Ly93ZWJraXQub3JnL2IvNzQ2MjMKLVRFU1Rf
RihDQ0xheWVyVHJlZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkLCBGTEFL
WV9ydW5NdWx0aVRocmVhZCkKLSNlbHNlCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tB
bmltYXRpb25XaGlsZUJhY2tncm91bmRlZCwgcnVuTXVsdGlUaHJlYWQpCi0jZW5kaWYKLXsKLSAg
ICBydW5UZXN0VGhyZWFkZWQoKTsKLX0KK1NJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihD
Q0xheWVyVHJlZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkKQogCiAvLyBF
bnN1cmVzIHRoYXQgYW5pbWF0aW9ucyBjb250aW51ZSB0byBiZSB0aWNrZWQgd2hlbiB3ZSBhcmUg
YmFja2dyb3VuZGVkLgogY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhU
aW1pbmdGdW5jdGlvbiA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CkBA
IC0xMjAwLDE1ICsxMTk0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKIH07CiAKLSNpZiBPUyhXSU5E
T1dTKQotLy8gaHR0cDovL3dlYmtpdC5vcmcvYi83NDYyMwotVEVTVF9GKENDTGF5ZXJUcmVlSG9z
dFRlc3RBZGRBbmltYXRpb25XaXRoVGltaW5nRnVuY3Rpb24sIEZMQUtZX3J1bk11bHRpVGhyZWFk
KQotI2Vsc2UKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0aW9uV2l0aFRpbWlu
Z0Z1bmN0aW9uLCBydW5NdWx0aVRocmVhZCkKLSNlbmRpZgotewotICAgIHJ1blRlc3RUaHJlYWRl
ZCgpOwotfQorU0lOR0xFX0FORF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRl
c3RBZGRBbmltYXRpb25XaXRoVGltaW5nRnVuY3Rpb24pCiAKIC8vIEVuc3VyZXMgdGhhdCB3aGVu
IG9wYWNpdHkgaXMgYmVpbmcgYW5pbWF0ZWQsIHRoaXMgdmFsdWUgZG9lcyBub3QgY2F1c2UgdGhl
IHN1YnRyZWUgdG8gYmUgc2tpcHBlZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3REb05vdFNr
aXBMYXllcnNXaXRoQW5pbWF0ZWRPcGFjaXR5IDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RU
aHJlYWRPbmx5IHsKQEAgLTEyOTAsMTAgKzEyNzYsNyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJU
cmVlSG9zdEltcGwqIG1fbGF5ZXJUcmVlSG9zdEltcGw7CiB9OwogCi1URVNUX0YoQ0NMYXllclRy
ZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcywgcnVuTXVsdGlUaHJlYWQp
Ci17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9U
RVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcykK
IAogLy8gRW5zdXJlcyB0aGF0IG1haW4gdGhyZWFkIGFuaW1hdGlvbnMgaGF2ZSB0aGVpciBzdGFy
dCB0aW1lcyBzeW5jaHJvbml6ZWQgd2l0aCBpbXBsIHRocmVhZCBhbmltYXRpb25zLgogY2xhc3Mg
Q0NMYXllclRyZWVIb3N0VGVzdEFuaW1hdGlvbkZpbmlzaGVkRXZlbnRzIDogcHVibGljIENDTGF5
ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKQEAgLTEzMTksMTAgKzEzMDIsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogfTsKIAotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5p
c2hlZEV2ZW50cywgcnVuTXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19
CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFuaW1h
dGlvbkZpbmlzaGVkRXZlbnRzKQogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsU2lt
cGxlIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKIHB1YmxpYzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142023</attachid>
            <date>2012-05-15 12:15:21 -0700</date>
            <delta_ts>2012-05-15 12:16:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120515151520.patch</filename>
            <type>text/plain</type>
            <size>16744</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5YzNiYjk3ZGM3M2U4
YmZiZWI5MDNiNGEzMDRhNjQxODJiNGJjZC4uNDA2NzM1MDhiMDdhMDdlZjdmNTUwMWRjMWVkYzQz
NGI4YTE2YTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA1LTE1ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBUZXN0ZWQg
aW4KKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dy
b3VuZGVkLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXllclRyZWVIb3N0VGVzdEFk
ZEFuaW1hdGlvbldpdGhUaW1pbmdGdW5jdGlvbi5ydW5TaW5nbGVUaHJlYWRlZAorICAgICAgICAg
IENDTGF5ZXJUcmVlSG9zdFRlc3RTeW5jaHJvbml6ZUFuaW1hdGlvblN0YXJ0VGltZXMucnVuU2lu
Z2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QW5pbWF0aW9uRmluaXNo
ZWRFdmVudHMucnVuU2luZ2xlVGhyZWFkZWQKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJv
bWl1bTo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVI
b3N0OjpmaW5pc2hDb21taXRPbkltcGxUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
clRyZWVIb3N0OjpkaWRBZGRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVh
ZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Lmg6CisgICAgICAgIChDQ0xheWVyVHJlZUhvc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6Q0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oOgorICAgICAgICAoQ0NQ
cm94eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVU
aHJlYWRQcm94eS5jcHA6CisgICAgICAgIChDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlv
blRpbWVyOjpDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXIpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpDQ1NpbmdsZVRo
cmVhZFByb3h5KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRpZEFk
ZEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpkb0Nv
bXBvc2l0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5n
bGVUaHJlYWRQcm94eS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorCiAyMDEyLTA1LTE1ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlZmFjdG9yIFNuaXBwZXRzTW9kZWw6IGV4dHJhY3QgU25pcHBldFN0b3JhZ2UsIG1ha2Ug
U25pcHBldFNjcmlwdE1hcHBpbmcgZGVsZWdhdGUgY2FsbHMgdG8gU2NyaXB0U25pcHBldE1vZGVs
IGFuZCBwcm92aWRlIHB1YmxpYyBpbnRlcmZhY2Ugb24gU2NyaXB0U25pcHBldE1vZGVsIGluIHRl
cm1zIG9mIHVpU291cmNlQ29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNWRhYWY5
NjY3MzhiYWI2MWJjODJlZGIyYTdlYzljZTU0NDcyN2QxYy4uNTRhMmNmZDExMjBiMzUzNzRjMDE3
YWJhZDRlNDU3NTY5OTU0OTU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMi0wNS0xNSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbY2hyb21pdW1dIEVuc3VyZSBhbmltYXRpb25zIGdldCB0aWNrZWQgYXQgbGVh
c3Qgb25jZSB3aGVuIGFkZGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODYwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorICAgICAgICAoV1RG
OjpDQ0xheWVyVHJlZUhvc3RUZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkOjphbmlt
YXRlTGF5ZXJzKToKKyAgICAgICAgKFdURik6CisKIDIwMTItMDUtMTUgIEhhbnMgV2VubmJvcmcg
IDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTcGVlY2ggSmF2YVNjcmlwdCBBUEk6IElu
dHJvZHVjZSBlcnJvciBjb2RlIGVudW0gaW4gQ2hyb21pdW0gcGx1bWJpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJv
bWl1bS5jcHAKaW5kZXggOTk5ZDBiZmMzNjAyMTY1OTBhMTdmMGUyMmFiN2Q1NTJjODUzMGVmZi4u
MWEwZTY3MDg5ZjEzZWRjMzAwMmMxMDdhM2ViNWMxYTFhZmFjODBjNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJv
bWl1bS5jcHAKQEAgLTYwMCw4ICs2MDAsMTAgQEAgYm9vbCBMYXllckNocm9taXVtOjphZGRBbmlt
YXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlcywgY29uc3QgSW50U2l6ZSYKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBhZGRlZEFuaW1hdGlvbiA9IG1fbGF5ZXJB
bmltYXRpb25Db250cm9sbGVyLT5hZGRBbmltYXRpb24odmFsdWVzLCBib3hTaXplLCBhbmltYXRp
b24sIGFuaW1hdGlvbklkLCBncm91cElkLCB0aW1lT2Zmc2V0KTsKLSAgICBpZiAoYWRkZWRBbmlt
YXRpb24pCisgICAgaWYgKGFkZGVkQW5pbWF0aW9uKSB7CisgICAgICAgIG1fbGF5ZXJUcmVlSG9z
dC0+ZGlkQWRkQW5pbWF0aW9uKCk7CiAgICAgICAgIHNldE5lZWRzQ29tbWl0KCk7CisgICAgfQog
ICAgIHJldHVybiBhZGRlZEFuaW1hdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dC5jcHAKaW5kZXggOWU1NzZhYzM3OTZiNjhhNDMyODc5MzViNTMyNjcxNTNhNGNhODI2OS4uYTA4
MWMyYmU1ODMyNzlhZjkwYWM4MWM0Y2ZmYTMzYjkxOWMyNjhiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3QuY3BwCkBAIC0yMzMsMTAgKzIzMyw4IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0
OjpmaW5pc2hDb21taXRPbkltcGxUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaG9zdEltcGwp
CiAKICAgICAvLyBXZSBtYXkgaGF2ZSBhZGRlZCBhbiBhbmltYXRpb24gZHVyaW5nIHRoZSB0cmVl
IHN5bmMuIFRoaXMgd2lsbCBjYXVzZSBib3RoIGxheWVyIHRyZWUgaG9zdHMKICAgICAvLyB0byB2
aXNpdCB0aGVpciBjb250cm9sbGVycy4KLSAgICBpZiAocm9vdExheWVyKCkpIHsKKyAgICBpZiAo
cm9vdExheWVyKCkgJiYgbV9uZWVkc0FuaW1hdGVMYXllcnMpCiAgICAgICAgIGhvc3RJbXBsLT5z
ZXROZWVkc0FuaW1hdGVMYXllcnMoKTsKLSAgICAgICAgbV9uZWVkc0FuaW1hdGVMYXllcnMgPSB0
cnVlOwotICAgIH0KIAogICAgIGhvc3RJbXBsLT5zZXRTb3VyY2VGcmFtZU51bWJlcihmcmFtZU51
bWJlcigpKTsKICAgICBob3N0SW1wbC0+c2V0Vmlld3BvcnRTaXplKHZpZXdwb3J0U2l6ZSgpKTsK
QEAgLTMzOSw2ICszMzcsMTIgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnNldEFuaW1hdGlvbkV2
ZW50cyhQYXNzT3duUHRyPENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiBldmUKICAgICBzZXRBbmlt
YXRpb25FdmVudHNSZWN1cnNpdmUoKmV2ZW50cywgbV9yb290TGF5ZXIuZ2V0KCksIHdhbGxDbG9j
a1RpbWUpOwogfQogCit2b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkQWRkQW5pbWF0aW9uKCkKK3sK
KyAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7CisgICAgbV9wcm94eS0+ZGlkQWRkQW5p
bWF0aW9uKCk7Cit9CisKIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRSb290TGF5ZXIoUGFzc1Jl
ZlB0cjxMYXllckNocm9taXVtPiByb290TGF5ZXIpCiB7CiAgICAgaWYgKG1fcm9vdExheWVyID09
IHJvb3RMYXllcikKQEAgLTQwNywxMCArNDExLDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmRp
ZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW0K
IAogICAgIC8vIFdlIG1heSBoYXZlIGFkZGVkIGFuIGFuaW1hdGlvbiBkdXJpbmcgdGhlIHRyZWUg
c3luYy4gVGhpcyB3aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJlZSBob3N0cwogICAgIC8vIHRvIHZp
c2l0IHRoZWlyIGNvbnRyb2xsZXJzLgotICAgIGlmIChyb290TGF5ZXIoKSkgeworICAgIGlmIChy
b290TGF5ZXIoKSAmJiBtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgaG9zdEltcGwtPnNl
dE5lZWRzQW5pbWF0ZUxheWVycygpOwotICAgICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRy
dWU7Ci0gICAgfQogfQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c2V0Q29udGVudHNNZW1vcnlB
bGxvY2F0aW9uTGltaXRCeXRlcyhzaXplX3QgYnl0ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dC5oCmluZGV4IDhlZGFjNzgxYjMxMjc3ZGI5NGM5MzEwNWI0MjkyZmQ1YTZhMmQ0ZTIuLjE1ZWE4
YjhhNjg0NWY1MTI2MDU4Y2ZmOWY0ZGEzYmMxMjliMTE0M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5oCkBAIC0xOTgsNiArMTk4LDcgQEAgcHVibGljOgogICAgIGJvb2wgY29tbWl0UmVx
dWVzdGVkKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldEFuaW1hdGlvbkV2ZW50cyhQYXNzT3duUHRy
PENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yPiwgZG91YmxlIHdhbGxDbG9ja1RpbWUpOworICAgIHZv
aWQgZGlkQWRkQW5pbWF0aW9uKCk7CiAKICAgICBMYXllckNocm9taXVtKiByb290TGF5ZXIoKSB7
IHJldHVybiBtX3Jvb3RMYXllci5nZXQoKTsgfQogICAgIGNvbnN0IExheWVyQ2hyb21pdW0qIHJv
b3RMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDRhYzg1MzQ1NDFiYTNjZGJjZDkwNWMw
YTE5YWVjZTUzYjU3ZGQ5Y2MuLjQ5YzY5YmU4YTFhYzc3MWQwOTE2YzlmNDA0MzYyZjZlNWRlYzhm
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC0xMTksNyAr
MTE5LDcgQEAgQ0NMYXllclRyZWVIb3N0SW1wbDo6Q0NMYXllclRyZWVIb3N0SW1wbChjb25zdCBD
Q1NldHRpbmdzJiBzZXR0aW5ncywgQ0NMYXllclRyZWUKICAgICAsIG1fbWF4UGFnZVNjYWxlKDAp
CiAgICAgLCBtX25lZWRzQW5pbWF0ZUxheWVycyhmYWxzZSkKICAgICAsIG1fcGluY2hHZXN0dXJl
QWN0aXZlKGZhbHNlKQotICAgICwgbV90aW1lU291cmNlQ2xpZW50QWRhcHRlcihDQ0xheWVyVHJl
ZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSh0aGlzLCBDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpjcmVhdGUobG93RnJlcXVlbmN5QW5pbWF0aW9uSW50ZXJ2YWwgKiAxMDAwLjAsIEND
UHJveHk6OmN1cnJlbnRUaHJlYWQoKSkpKQorICAgICwgbV90aW1lU291cmNlQ2xpZW50QWRhcHRl
cihDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSh0aGlzLCBDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUobG93RnJlcXVlbmN5QW5pbWF0aW9uSW50ZXJ2YWws
IENDUHJveHk6OmN1cnJlbnRUaHJlYWQoKSkpKQogICAgICwgbV9mcHNDb3VudGVyKENDRnJhbWVS
YXRlQ291bnRlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX2RlYnVnUmVjdEhpc3RvcnkoQ0NEZWJ1Z1Jl
Y3RIaXN0b3J5OjpjcmVhdGUoKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAppbmRleCAxZThjYzIyNGZhM2Y2MTA0
MDIyZDA1ZTE4MDVhMzg4Zjk4Y2NhMWU5Li4yMjI5N2MxZjczMDViZTc0NTlkY2I5NWEyN2U2OWMw
NDRlMzhjYmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCkBAIC04Niw2ICs4Niw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZp
c2libGUoYm9vbCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIGRpZEFkZEFuaW1hdGlvbigpID0g
MDsKKwogICAgIHZpcnR1YWwgYm9vbCBjb21taXRSZXF1ZXN0ZWQoKSBjb25zdCA9IDA7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSA9IDA7IC8vIE11c3QgYmUgY2FsbGVkIGJlZm9yZSB1c2lu
ZyB0aGUgcHJveHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwCmluZGV4
IGNkOWVkNjhjYTBhNTQ2YjU3M2ViODMzNjUzNDViZTVlNmQ3NGU1NTEuLmVmNmU4YzZlYzc2MTk1
MDBkNWE5Y2VhYTk5ZDc5M2RkNWFhOWZkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhy
ZWFkUHJveHkuY3BwCkBAIC0zMiwxMiArMzIsMzUgQEAKICNpbmNsdWRlICJjYy9DQ0ZvbnRBdGxh
cy5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDVGV4
dHVyZVVwZGF0ZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1RpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgQ0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyIDogcHVibGljIEND
VGltZXIsIENDVGltZXJDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEND
U2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcj4gY3JlYXRlKENDU2luZ2xlVGhyZWFkUHJv
eHkqIHByb3h5KSB7IHJldHVybiBhZG9wdFB0cihuZXcgQ0NTaW5nbGVUaHJlYWRQcm94eUFuaW1h
dGlvblRpbWVyKHByb3h5KSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyRmlyZWQoKSBP
VkVSUklERQorICAgIHsKKyAgICAgICAgbV9wcm94eS0+Y29tcG9zaXRlSW1tZWRpYXRlbHkoKTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ0NTaW5nbGVUaHJlYWRQcm94eUFuaW1h
dGlvblRpbWVyKENDU2luZ2xlVGhyZWFkUHJveHkqIHByb3h5KQorICAgICAgICA6IENDVGltZXIo
Q0NQcm94eTo6bWFpblRocmVhZCgpLCB0aGlzKQorICAgICAgICAsIG1fcHJveHkocHJveHkpCisg
ICAgeworICAgIH0KKworICAgIENDU2luZ2xlVGhyZWFkUHJveHkqIG1fcHJveHk7Cit9OworCisv
LyBNZWFzdXJlZCBpbiBzZWNvbmRzLgorc3RhdGljIGNvbnN0IGRvdWJsZSBhbmltYXRpb25UaW1l
ckRlbGF5ID0gMSAvIDYwLjA7CisKIFBhc3NPd25QdHI8Q0NQcm94eT4gQ0NTaW5nbGVUaHJlYWRQ
cm94eTo6Y3JlYXRlKENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKIHsKICAgICByZXR1
cm4gYWRvcHRQdHIobmV3IENDU2luZ2xlVGhyZWFkUHJveHkobGF5ZXJUcmVlSG9zdCkpOwpAQCAt
NDcsNiArNzAsNyBAQCBDQ1NpbmdsZVRocmVhZFByb3h5OjpDQ1NpbmdsZVRocmVhZFByb3h5KEND
TGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKICAgICA6IG1fbGF5ZXJUcmVlSG9zdChsYXll
clRyZWVIb3N0KQogICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1fY29tcG9zaXRv
cklkZW50aWZpZXIoLTEpCisgICAgLCBtX2FuaW1hdGlvblRpbWVyKENDU2luZ2xlVGhyZWFkUHJv
eHlBbmltYXRpb25UaW1lcjo6Y3JlYXRlKHRoaXMpKQogICAgICwgbV9sYXllclJlbmRlcmVySW5p
dGlhbGl6ZWQoZmFsc2UpCiAgICAgLCBtX25leHRGcmFtZUlzTmV3bHlDb21taXR0ZWRGcmFtZShm
YWxzZSkKIHsKQEAgLTI2MCw2ICsyODQsMTEgQEAgdm9pZCBDQ1NpbmdsZVRocmVhZFByb3h5Ojpz
ZXRWaXNpYmxlKGJvb2wgdmlzaWJsZSkKICAgICBzZXROZWVkc0NvbW1pdCgpOwogfQogCit2b2lk
IENDU2luZ2xlVGhyZWFkUHJveHk6OmRpZEFkZEFuaW1hdGlvbigpCit7CisgICAgbV9hbmltYXRp
b25UaW1lci0+c3RhcnRPbmVTaG90KGFuaW1hdGlvblRpbWVyRGVsYXkpOworfQorCiB2b2lkIEND
U2luZ2xlVGhyZWFkUHJveHk6OnN0b3AoKQogewogICAgIFRSQUNFX0VWRU5UKCJDQ1NpbmdsZVRo
cmVhZFByb3h5OjpzdG9wIiwgdGhpcywgMCk7CkBAIC0zMzEsMjEgKzM2MCwyMiBAQCBib29sIEND
U2luZ2xlVGhyZWFkUHJveHk6OmRvQ29tcG9zaXRlKCkKIHsKICAgICBBU1NFUlQoIW1fY29udGV4
dExvc3QpOwogICAgIHsKLSAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBsOwotICAg
ICAgZG91YmxlIG1vbm90b25pY1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
LSAgICAgIGRvdWJsZSB3YWxsQ2xvY2tUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICAgIG1fbGF5
ZXJUcmVlSG9zdEltcGwtPmFuaW1hdGUobW9ub3RvbmljVGltZSwgd2FsbENsb2NrVGltZSk7Ci0K
LSAgICAgIC8vIFdlIGd1YXJkIHByZXBhcmVUb0RyYXcoKSB3aXRoIGNhbkRyYXcoKSBiZWNhdXNl
IGl0IGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgZnJhbWUsIHNvIGNhbiBvbmx5Ci0gICAgICAvLyBi
ZSB1c2VkIHdoZW4gc3VjaCBhIGZyYW1lIGlzIHBvc3NpYmxlLiBTaW5jZSBkcmF3TGF5ZXJzKCkg
ZGVwZW5kcyBvbiB0aGUgcmVzdWx0IG9mCi0gICAgICAvLyBwcmVwYXJlVG9EcmF3KCksIGl0IGlz
IGd1YXJkZWQgb24gY2FuRHJhdygpIGFzIHdlbGwuCi0gICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9z
dEltcGwtPmNhbkRyYXcoKSkKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgIENDTGF5
ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpOwotICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+ZHJh
d0xheWVycyhmcmFtZSk7Ci0gICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5
ZXJzKGZyYW1lKTsKKyAgICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7CisgICAg
ICAgIGRvdWJsZSBtb25vdG9uaWNUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CisgICAgICAgIGRvdWJsZSB3YWxsQ2xvY2tUaW1lID0gY3VycmVudFRpbWUoKTsKKworICAgICAg
ICBtX2xheWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY1RpbWUsIHdhbGxDbG9ja1Rp
bWUpOworCisgICAgICAgIC8vIFdlIGd1YXJkIHByZXBhcmVUb0RyYXcoKSB3aXRoIGNhbkRyYXco
KSBiZWNhdXNlIGl0IGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgZnJhbWUsIHNvIGNhbiBvbmx5Cisg
ICAgICAgIC8vIGJlIHVzZWQgd2hlbiBzdWNoIGEgZnJhbWUgaXMgcG9zc2libGUuIFNpbmNlIGRy
YXdMYXllcnMoKSBkZXBlbmRzIG9uIHRoZSByZXN1bHQgb2YKKyAgICAgICAgLy8gcHJlcGFyZVRv
RHJhdygpLCBpdCBpcyBndWFyZGVkIG9uIGNhbkRyYXcoKSBhcyB3ZWxsLgorICAgICAgICBpZiAo
IW1fbGF5ZXJUcmVlSG9zdEltcGwtPmNhbkRyYXcoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpOworICAgICAgICBt
X2xheWVyVHJlZUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbV9sYXllclRy
ZWVIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CiAgICAgfQogCiAgICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdEltcGwtPmlzQ29udGV4dExvc3QoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94
eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5n
bGVUaHJlYWRQcm94eS5oCmluZGV4IDE1NmJkZGNhMTE4NzliZTk3MTVkZTNkMGI5Y2UzNDVkYTA1
ZmU4MmMuLjE2NWRjODRjNWNjNzg0OWEyZmZiMjdiMTE4ZTUzMTQwOTgwNDdjOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xl
VGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0NMYXllclRyZWVIb3N0OworY2xhc3MgQ0NTaW5nbGVUaHJl
YWRQcm94eUFuaW1hdGlvblRpbWVyOwogCiBjbGFzcyBDQ1NpbmdsZVRocmVhZFByb3h5IDogcHVi
bGljIENDUHJveHksIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQgewogcHVibGljOgpAQCAtNTks
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBkaWRBZGRBbmltYXRpb24oKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3Rh
cnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgc2l6ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCk7IH0KQEAgLTk0LDYgKzk2
LDggQEAgcHJpdmF0ZToKICAgICAvLyBiZSB1c2VkIGZvciBhbnl0aGluZyBlbHNlLgogICAgIFJl
ZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250ZXh0QmVmb3JlSW5pdGlhbGl6YXRpb247CiAK
KyAgICBPd25QdHI8Q0NTaW5nbGVUaHJlYWRQcm94eUFuaW1hdGlvblRpbWVyPiBtX2FuaW1hdGlv
blRpbWVyOworCiAgICAgLy8gVXNlZCBvbiB0aGUgQ0NUaHJlYWQsIGJ1dCBjaGVja2VkIG9uIG1h
aW4gdGhyZWFkIGR1cmluZyBpbml0aWFsaXphdGlvbi9zaHV0ZG93bi4KICAgICBPd25QdHI8Q0NM
YXllclRyZWVIb3N0SW1wbD4gbV9sYXllclRyZWVIb3N0SW1wbDsKICAgICBib29sIG1fbGF5ZXJS
ZW5kZXJlckluaXRpYWxpemVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCmluZGV4IDI5MTVhODEx
OWU3ZmM0YTY4ZTJhM2YyMjUwNzdmMjlmODk5N2Q3ZWYuLjlmZjU4MWVmOTA3ZjliYzlhZTg1MzU2
NWMxZWQyOGE0OWRhMWMzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKQEAgLTY4LDYgKzY4
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc1JlZHJhdygpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgYm9vbCBjb21taXRSZXF1ZXN0ZWQoKSBjb25zdCBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShib29sKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQWRkQW5pbWF0aW9uKCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHNpemVfdCBtYXhQYXJ0aWFsVGV4dHVyZVVwZGF0ZXMoKSBjb25zdCBPVkVSUklERTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVz
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3Qu
Y3BwCmluZGV4IDQ0Zjg3YzZhOTNhODJjYzZkNGY0Y2ZiMDU2ZWM0OGUyZDRjMmJjZTQuLmE1NjBi
ZThjMGJjZjc5ZGRiNDU2ZGVmNGYzMzU1NzhkN2Y2YzRjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMTE0MCw5
ICsxMTQwLDExIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlTGF5ZXJzKEND
TGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3VibGUgbW9ub3RvbmljVGlt
ZSkKICAgICB7Ci0gICAgICAgIGlmICghbV9udW1BbmltYXRlcykgewotICAgICAgICAgICAgLy8g
V2UgaGF2ZSBhIGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3VsZCBjb250aW51ZSB0byB0
aWNrIGV2ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLgotICAgICAgICAgICAgcG9zdFNldFZpc2li
bGVUb01haW5UaHJlYWQoZmFsc2UpOworICAgICAgICBpZiAobV9udW1BbmltYXRlcyA8IDIpIHsK
KyAgICAgICAgICAgIGlmICghbV9udW1BbmltYXRlcykgeworICAgICAgICAgICAgICAgIC8vIFdl
IGhhdmUgYSBsb25nIGFuaW1hdGlvbiBydW5uaW5nLiBJdCBzaG91bGQgY29udGludWUgdG8gdGlj
ayBldmVuIGlmIHdlIGFyZSBub3QgdmlzaWJsZS4KKyAgICAgICAgICAgICAgICBwb3N0U2V0Vmlz
aWJsZVRvTWFpblRocmVhZChmYWxzZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBtX251
bUFuaW1hdGVzKys7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTExNTcsMTUg
KzExNTksNyBAQCBwcml2YXRlOgogICAgIGludCBtX251bUFuaW1hdGVzOwogfTsKIAotI2lmIE9T
KFdJTkRPV1MpCi0vLyBodHRwOi8vd2Via2l0Lm9yZy9iLzc0NjIzCi1URVNUX0YoQ0NMYXllclRy
ZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZCwgRkxBS1lfcnVuTXVsdGlU
aHJlYWQpCi0jZWxzZQotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hp
bGVCYWNrZ3JvdW5kZWQsIHJ1bk11bHRpVGhyZWFkKQotI2VuZGlmCi17Ci0gICAgcnVuVGVzdFRo
cmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVI
b3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tncm91bmRlZCkKIAogLy8gRW5zdXJlcyB0aGF0
IGFuaW1hdGlvbnMgY29udGludWUgdG8gYmUgdGlja2VkIHdoZW4gd2UgYXJlIGJhY2tncm91bmRl
ZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRpb25XaXRoVGltaW5nRnVuY3Rp
b24gOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzdFRocmVhZE9ubHkgewpAQCAtMTIwMCwxNSAr
MTE5NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiB9OwogCi0jaWYgT1MoV0lORE9XUykKLS8vIGh0
dHA6Ly93ZWJraXQub3JnL2IvNzQ2MjMKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5p
bWF0aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLCBGTEFLWV9ydW5NdWx0aVRocmVhZCkKLSNlbHNlCi1U
RVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhUaW1pbmdGdW5jdGlvbiwg
cnVuTXVsdGlUaHJlYWQpCi0jZW5kaWYKLXsKLSAgICBydW5UZXN0VGhyZWFkZWQoKTsKLX0KK1NJ
TkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uKQogCiAvLyBFbnN1cmVzIHRoYXQgd2hlbiBvcGFjaXR5IGlz
IGJlaW5nIGFuaW1hdGVkLCB0aGlzIHZhbHVlIGRvZXMgbm90IGNhdXNlIHRoZSBzdWJ0cmVlIHRv
IGJlIHNraXBwZWQuCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0RG9Ob3RTa2lwTGF5ZXJzV2l0
aEFuaW1hdGVkT3BhY2l0eSA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7
CkBAIC0xMjkwLDEwICsxMjc2LDcgQEAgcHJpdmF0ZToKICAgICBDQ0xheWVyVHJlZUhvc3RJbXBs
KiBtX2xheWVyVHJlZUhvc3RJbXBsOwogfTsKIAotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RT
eW5jaHJvbml6ZUFuaW1hdGlvblN0YXJ0VGltZXMsIHJ1bk11bHRpVGhyZWFkKQotewotICAgIHJ1
blRlc3RUaHJlYWRlZCgpOwotfQorU0lOR0xFX0FORF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5
ZXJUcmVlSG9zdFRlc3RTeW5jaHJvbml6ZUFuaW1hdGlvblN0YXJ0VGltZXMpCiAKIC8vIEVuc3Vy
ZXMgdGhhdCBtYWluIHRocmVhZCBhbmltYXRpb25zIGhhdmUgdGhlaXIgc3RhcnQgdGltZXMgc3lu
Y2hyb25pemVkIHdpdGggaW1wbCB0aHJlYWQgYW5pbWF0aW9ucy4KIGNsYXNzIENDTGF5ZXJUcmVl
SG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50cyA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RU
ZXN0VGhyZWFkT25seSB7CkBAIC0xMzE5LDEwICsxMzAyLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
IH07CiAKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0QW5pbWF0aW9uRmluaXNoZWRFdmVudHMs
IHJ1bk11bHRpVGhyZWFkKQotewotICAgIHJ1blRlc3RUaHJlYWRlZCgpOwotfQorU0lOR0xFX0FO
RF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hl
ZEV2ZW50cykKIAogY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNjcm9sbFNpbXBsZSA6IHB1Ymxp
YyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CiBwdWJsaWM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142024</attachid>
            <date>2012-05-15 12:16:55 -0700</date>
            <delta_ts>2012-05-15 15:50:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86013-20120515151654.patch</filename>
            <type>text/plain</type>
            <size>16737</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5YzNiYjk3ZGM3M2U4
YmZiZWI5MDNiNGEzMDRhNjQxODJiNGJjZC4uYmM0ODEwZDRhMTU0NDJiN2UyYWRmNDExMjMwNTk2
YjdjMGEwMDAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA1LTE1ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRW5z
dXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNlIHdoZW4gYWRkZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAxMworCisgICAg
ICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgIFRlc3RlZCBpbgorICAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQu
cnVuU2luZ2xlVGhyZWFkZWQKKyAgICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0
aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLnJ1blNpbmdsZVRocmVhZGVkCisgICAgICAgICAgQ0NMYXll
clRyZWVIb3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcy5ydW5TaW5nbGVUaHJl
YWRlZAorICAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50
cy5ydW5TaW5nbGVUaHJlYWRlZAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjph
ZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmZp
bmlzaENvbW1pdE9uSW1wbFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhv
c3Q6OmRpZEFkZEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQmVjb21lSW52aXNpYmxlT25JbXBsVGhyZWFkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoK
KyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
Q0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5Lmg6CisgICAgICAgIChDQ1Byb3h5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFBy
b3h5LmNwcDoKKyAgICAgICAgKENDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI6
OkNDU2luZ2xlVGhyZWFkUHJveHlBbmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhyZWFkUHJv
eHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZGlkQWRkQW5pbWF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRvQ29tcG9zaXRl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVh
ZFByb3h5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5Lmg6CisKIDIwMTItMDUtMTUgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVm
YWN0b3IgU25pcHBldHNNb2RlbDogZXh0cmFjdCBTbmlwcGV0U3RvcmFnZSwgbWFrZSBTbmlwcGV0
U2NyaXB0TWFwcGluZyBkZWxlZ2F0ZSBjYWxscyB0byBTY3JpcHRTbmlwcGV0TW9kZWwgYW5kIHBy
b3ZpZGUgcHVibGljIGludGVyZmFjZSBvbiBTY3JpcHRTbmlwcGV0TW9kZWwgaW4gdGVybXMgb2Yg
dWlTb3VyY2VDb2RlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1ZGFhZjk2NjczOGJh
YjYxYmM4MmVkYjJhN2VjOWNlNTQ0NzI3ZDFjLi4xMGU1YTVjYTgwNTZhNzc0YTg1ZjUwZDUwOGY1
MTBmZDA2NjU5OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEyLTA1LTE1ICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gRW5zdXJlIGFuaW1hdGlvbnMgZ2V0IHRpY2tlZCBhdCBsZWFzdCBvbmNl
IHdoZW4gYWRkZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NjAxMworCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAg
ICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHA6CisgICAgICAgIChXVEY6OkNDTGF5
ZXJUcmVlSG9zdFRlc3RUaWNrQW5pbWF0aW9uV2hpbGVCYWNrZ3JvdW5kZWQ6OmFuaW1hdGVMYXll
cnMpOgorICAgICAgICAoV1RGKToKKwogMjAxMi0wNS0xNSAgSGFucyBXZW5uYm9yZyAgPGhhbnNA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwZWVjaCBKYXZhU2NyaXB0IEFQSTogSW50cm9kdWNl
IGVycm9yIGNvZGUgZW51bSBpbiBDaHJvbWl1bSBwbHVtYmluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cAppbmRleCA5OTlkMGJmYzM2MDIxNjU5MGExN2YwZTIyYWI3ZDU1MmM4NTMwZWZmLi4xYTBlNjcw
ODlmMTNlZGMzMDAyYzEwN2EzZWI1YzFhMWFmYWM4MGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cApAQCAtNjAwLDggKzYwMCwxMCBAQCBib29sIExheWVyQ2hyb21pdW06OmFkZEFuaW1hdGlvbihj
b25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVzLCBjb25zdCBJbnRTaXplJgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGFkZGVkQW5pbWF0aW9uID0gbV9sYXllckFuaW1hdGlv
bkNvbnRyb2xsZXItPmFkZEFuaW1hdGlvbih2YWx1ZXMsIGJveFNpemUsIGFuaW1hdGlvbiwgYW5p
bWF0aW9uSWQsIGdyb3VwSWQsIHRpbWVPZmZzZXQpOwotICAgIGlmIChhZGRlZEFuaW1hdGlvbikK
KyAgICBpZiAoYWRkZWRBbmltYXRpb24pIHsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRB
ZGRBbmltYXRpb24oKTsKICAgICAgICAgc2V0TmVlZHNDb21taXQoKTsKKyAgICB9CiAgICAgcmV0
dXJuIGFkZGVkQW5pbWF0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcApp
bmRleCA5ZTU3NmFjMzc5NmI2OGE0MzI4NzkzNWI1MzI2NzE1M2E0Y2E4MjY5Li5hMDgxYzJiZTU4
MzI3OWFmOTBhYzgxYzRjZmZhMzNiOTE5YzI2OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdC5jcHAKQEAgLTIzMywxMCArMjMzLDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmZpbmlz
aENvbW1pdE9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW1wbCkKIAogICAg
IC8vIFdlIG1heSBoYXZlIGFkZGVkIGFuIGFuaW1hdGlvbiBkdXJpbmcgdGhlIHRyZWUgc3luYy4g
VGhpcyB3aWxsIGNhdXNlIGJvdGggbGF5ZXIgdHJlZSBob3N0cwogICAgIC8vIHRvIHZpc2l0IHRo
ZWlyIGNvbnRyb2xsZXJzLgotICAgIGlmIChyb290TGF5ZXIoKSkgeworICAgIGlmIChyb290TGF5
ZXIoKSAmJiBtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgaG9zdEltcGwtPnNldE5lZWRz
QW5pbWF0ZUxheWVycygpOwotICAgICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IHRydWU7Ci0g
ICAgfQogCiAgICAgaG9zdEltcGwtPnNldFNvdXJjZUZyYW1lTnVtYmVyKGZyYW1lTnVtYmVyKCkp
OwogICAgIGhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKCkpOwpAQCAtMzM5
LDYgKzMzNywxMiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c2V0QW5pbWF0aW9uRXZlbnRzKFBh
c3NPd25QdHI8Q0NBbmltYXRpb25FdmVudHNWZWN0b3I+IGV2ZQogICAgIHNldEFuaW1hdGlvbkV2
ZW50c1JlY3Vyc2l2ZSgqZXZlbnRzLCBtX3Jvb3RMYXllci5nZXQoKSwgd2FsbENsb2NrVGltZSk7
CiB9CiAKK3ZvaWQgQ0NMYXllclRyZWVIb3N0OjpkaWRBZGRBbmltYXRpb24oKQoreworICAgIG1f
bmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKKyAgICBtX3Byb3h5LT5kaWRBZGRBbmltYXRpb24o
KTsKK30KKwogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnNldFJvb3RMYXllcihQYXNzUmVmUHRyPExh
eWVyQ2hyb21pdW0+IHJvb3RMYXllcikKIHsKICAgICBpZiAobV9yb290TGF5ZXIgPT0gcm9vdExh
eWVyKQpAQCAtNDA3LDEwICs0MTEsOCBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkQmVjb21l
SW52aXNpYmxlT25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJbQogCiAgICAg
Ly8gV2UgbWF5IGhhdmUgYWRkZWQgYW4gYW5pbWF0aW9uIGR1cmluZyB0aGUgdHJlZSBzeW5jLiBU
aGlzIHdpbGwgY2F1c2UgYm90aCBsYXllciB0cmVlIGhvc3RzCiAgICAgLy8gdG8gdmlzaXQgdGhl
aXIgY29udHJvbGxlcnMuCi0gICAgaWYgKHJvb3RMYXllcigpKSB7CisgICAgaWYgKHJvb3RMYXll
cigpICYmIG1fbmVlZHNBbmltYXRlTGF5ZXJzKQogICAgICAgICBob3N0SW1wbC0+c2V0TmVlZHNB
bmltYXRlTGF5ZXJzKCk7Ci0gICAgICAgIG1fbmVlZHNBbmltYXRlTGF5ZXJzID0gdHJ1ZTsKLSAg
ICB9CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRDb250ZW50c01lbW9yeUFsbG9jYXRp
b25MaW1pdEJ5dGVzKHNpemVfdCBieXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5k
ZXggOGVkYWM3ODFiMzEyNzdkYjk0YzkzMTA1YjQyOTJmZDVhNmEyZDRlMi4uMTVlYThiOGE2ODQ1
ZjUxMjYwNThjZmY5ZjRkYTNiYzEyOWIxMTQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0
LmgKQEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb21taXRSZXF1ZXN0ZWQo
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0QW5pbWF0aW9uRXZlbnRzKFBhc3NPd25QdHI8Q0NBbmlt
YXRpb25FdmVudHNWZWN0b3I+LCBkb3VibGUgd2FsbENsb2NrVGltZSk7CisgICAgdm9pZCBkaWRB
ZGRBbmltYXRpb24oKTsKIAogICAgIExheWVyQ2hyb21pdW0qIHJvb3RMYXllcigpIHsgcmV0dXJu
IG1fcm9vdExheWVyLmdldCgpOyB9CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExheWVy
KCkgY29uc3QgeyByZXR1cm4gbV9yb290TGF5ZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggNGFjODUzNDU0MWJhM2NkYmNkOTA1YzBhMTlhZWNl
NTNiNTdkZDljYy4uNDljNjliZThhMWFjNzcxZDA5MTZjOWY0MDQzNjJmNmU1ZGVjOGY4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTExOSw3ICsxMTksNyBA
QCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKGNvbnN0IENDU2V0dGlu
Z3MmIHNldHRpbmdzLCBDQ0xheWVyVHJlZQogICAgICwgbV9tYXhQYWdlU2NhbGUoMCkKICAgICAs
IG1fbmVlZHNBbmltYXRlTGF5ZXJzKGZhbHNlKQogICAgICwgbV9waW5jaEdlc3R1cmVBY3RpdmUo
ZmFsc2UpCi0gICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5ZXJUcmVlSG9zdElt
cGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6
OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCAqIDEwMDAuMCwgQ0NQcm94eTo6
Y3VycmVudFRocmVhZCgpKSkpCisgICAgLCBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVyKENDTGF5
ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjo6Y3JlYXRlKHRoaXMsIENDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZShsb3dGcmVxdWVuY3lBbmltYXRpb25JbnRlcnZhbCwgQ0NQcm94
eTo6Y3VycmVudFRocmVhZCgpKSkpCiAgICAgLCBtX2Zwc0NvdW50ZXIoQ0NGcmFtZVJhdGVDb3Vu
dGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZGVidWdSZWN0SGlzdG9yeShDQ0RlYnVnUmVjdEhpc3Rv
cnk6OmNyZWF0ZSgpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCmluZGV4IDFlOGNjMjI0ZmEzZjYxMDQwMjJkMDVl
MTgwNWEzODhmOThjY2ExZTkuLjIyMjk3YzFmNzMwNWJlNzQ1OWRjYjk1YTI3ZTY5YzA0NGUzOGNi
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1Byb3h5LmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBzZXROZWVkc1JlZHJhdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShi
b29sKSA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQW5pbWF0aW9uKCkgPSAwOworCiAg
ICAgdmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1
YWwgdm9pZCBzdGFydCgpID0gMDsgLy8gTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRoZSBw
cm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggY2Q5ZWQ2
OGNhMGE1NDZiNTczZWI4MzM2NTM0NWJlNWU2ZDc0ZTU1MS4uZWY2ZThjNmVjNzYxOTUwMGQ1YTlj
ZWFhOTlkNzkzZGQ1YWE5ZmRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94
eS5jcHAKQEAgLTMyLDEyICszMiwzNSBAQAogI2luY2x1ZGUgImNjL0NDRm9udEF0bGFzLmgiCiAj
aW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0LmgiCiAjaW5jbHVkZSAiY2MvQ0NUZXh0dXJlVXBk
YXRlci5oIgorI2luY2x1ZGUgImNjL0NDVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXIgOiBwdWJsaWMgQ0NUaW1lciwg
Q0NUaW1lckNsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NTaW5nbGVU
aHJlYWRQcm94eUFuaW1hdGlvblRpbWVyPiBjcmVhdGUoQ0NTaW5nbGVUaHJlYWRQcm94eSogcHJv
eHkpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGlt
ZXIocHJveHkpKTsgfQorCisgICAgdmlydHVhbCB2b2lkIG9uVGltZXJGaXJlZCgpIE9WRVJSSURF
CisgICAgeworICAgICAgICBtX3Byb3h5LT5jb21wb3NpdGVJbW1lZGlhdGVseSgpOworICAgIH0K
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGlt
ZXIoQ0NTaW5nbGVUaHJlYWRQcm94eSogcHJveHkpCisgICAgICAgIDogQ0NUaW1lcihDQ1Byb3h5
OjptYWluVGhyZWFkKCksIHRoaXMpCisgICAgICAgICwgbV9wcm94eShwcm94eSkKKyAgICB7Cisg
ICAgfQorCisgICAgQ0NTaW5nbGVUaHJlYWRQcm94eSogbV9wcm94eTsKK307CisKKy8vIE1lYXN1
cmVkIGluIHNlY29uZHMuCitzdGF0aWMgY29uc3QgZG91YmxlIGFuaW1hdGlvblRpbWVyRGVsYXkg
PSAxIC8gNjAuMDsKKwogUGFzc093blB0cjxDQ1Byb3h5PiBDQ1NpbmdsZVRocmVhZFByb3h5Ojpj
cmVhdGUoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQogewogICAgIHJldHVybiBhZG9w
dFB0cihuZXcgQ0NTaW5nbGVUaHJlYWRQcm94eShsYXllclRyZWVIb3N0KSk7CkBAIC00Nyw2ICs3
MCw3IEBAIENDU2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhyZWFkUHJveHkoQ0NMYXllclRy
ZWVIb3N0KiBsYXllclRyZWVIb3N0KQogICAgIDogbV9sYXllclRyZWVIb3N0KGxheWVyVHJlZUhv
c3QpCiAgICAgLCBtX2NvbnRleHRMb3N0KGZhbHNlKQogICAgICwgbV9jb21wb3NpdG9ySWRlbnRp
ZmllcigtMSkKKyAgICAsIG1fYW5pbWF0aW9uVGltZXIoQ0NTaW5nbGVUaHJlYWRQcm94eUFuaW1h
dGlvblRpbWVyOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2xheWVyUmVuZGVyZXJJbml0aWFsaXpl
ZChmYWxzZSkKICAgICAsIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lKGZhbHNlKQog
ewpAQCAtMjYwLDYgKzI4NCwxMSBAQCB2b2lkIENDU2luZ2xlVGhyZWFkUHJveHk6OnNldFZpc2li
bGUoYm9vbCB2aXNpYmxlKQogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9CiAKK3ZvaWQgQ0NTaW5n
bGVUaHJlYWRQcm94eTo6ZGlkQWRkQW5pbWF0aW9uKCkKK3sKKyAgICBtX2FuaW1hdGlvblRpbWVy
LT5zdGFydE9uZVNob3QoYW5pbWF0aW9uVGltZXJEZWxheSk7Cit9CisKIHZvaWQgQ0NTaW5nbGVU
aHJlYWRQcm94eTo6c3RvcCgpCiB7CiAgICAgVFJBQ0VfRVZFTlQoIkNDU2luZ2xlVGhyZWFkUHJv
eHk6OnN0b3AiLCB0aGlzLCAwKTsKQEAgLTMzMSwyMSArMzYwLDIyIEBAIGJvb2wgQ0NTaW5nbGVU
aHJlYWRQcm94eTo6ZG9Db21wb3NpdGUoKQogewogICAgIEFTU0VSVCghbV9jb250ZXh0TG9zdCk7
CiAgICAgewotICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7Ci0gICAgICBkb3Vi
bGUgbW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ZG91YmxlIHdhbGxDbG9ja1RpbWUgPSBjdXJyZW50VGltZSgpOwotICAgICAgbV9sYXllclRyZWVI
b3N0SW1wbC0+YW5pbWF0ZShtb25vdG9uaWNUaW1lLCB3YWxsQ2xvY2tUaW1lKTsKLQotICAgICAg
Ly8gV2UgZ3VhcmQgcHJlcGFyZVRvRHJhdygpIHdpdGggY2FuRHJhdygpIGJlY2F1c2UgaXQgYWx3
YXlzIHJldHVybnMgYSB2YWxpZCBmcmFtZSwgc28gY2FuIG9ubHkKLSAgICAgIC8vIGJlIHVzZWQg
d2hlbiBzdWNoIGEgZnJhbWUgaXMgcG9zc2libGUuIFNpbmNlIGRyYXdMYXllcnMoKSBkZXBlbmRz
IG9uIHRoZSByZXN1bHQgb2YKLSAgICAgIC8vIHByZXBhcmVUb0RyYXcoKSwgaXQgaXMgZ3VhcmRl
ZCBvbiBjYW5EcmF3KCkgYXMgd2VsbC4KLSAgICAgIGlmICghbV9sYXllclRyZWVIb3N0SW1wbC0+
Y2FuRHJhdygpKQotICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgQ0NMYXllclRyZWVI
b3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwotICAgICAgbV9sYXllclRyZWVIb3N0SW1wbC0+cHJl
cGFyZVRvRHJhdyhmcmFtZSk7Ci0gICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5kcmF3TGF5ZXJz
KGZyYW1lKTsKLSAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJh
bWUpOworICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKKyAgICAgICAgZG91
YmxlIG1vbm90b25pY1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAg
ICAgZG91YmxlIHdhbGxDbG9ja1RpbWUgPSBjdXJyZW50VGltZSgpOworCisgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdEltcGwtPmFuaW1hdGUobW9ub3RvbmljVGltZSwgd2FsbENsb2NrVGltZSk7CisK
KyAgICAgICAgLy8gV2UgZ3VhcmQgcHJlcGFyZVRvRHJhdygpIHdpdGggY2FuRHJhdygpIGJlY2F1
c2UgaXQgYWx3YXlzIHJldHVybnMgYSB2YWxpZCBmcmFtZSwgc28gY2FuIG9ubHkKKyAgICAgICAg
Ly8gYmUgdXNlZCB3aGVuIHN1Y2ggYSBmcmFtZSBpcyBwb3NzaWJsZS4gU2luY2UgZHJhd0xheWVy
cygpIGRlcGVuZHMgb24gdGhlIHJlc3VsdCBvZgorICAgICAgICAvLyBwcmVwYXJlVG9EcmF3KCks
IGl0IGlzIGd1YXJkZWQgb24gY2FuRHJhdygpIGFzIHdlbGwuCisgICAgICAgIGlmICghbV9sYXll
clRyZWVIb3N0SW1wbC0+Y2FuRHJhdygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgbV9s
YXllclRyZWVIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSk7CisgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBtX2xheWVyVHJlZUhvc3RJ
bXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKICAgICB9CiAKICAgICBpZiAobV9sYXllclRy
ZWVIb3N0SW1wbC0+aXNDb250ZXh0TG9zdCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVh
ZFByb3h5LmgKaW5kZXggMTU2YmRkY2ExMTg3OWJlOTcxNWRlM2QwYjljZTM0NWRhMDVmZTgyYy4u
MTY1ZGM4NGM1Y2M3ODQ5YTJmZmIyN2IxMThlNTMxNDA5ODA0N2M5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2luZ2xlVGhyZWFkUHJveHkuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CitjbGFzcyBDQ1NpbmdsZVRocmVhZFByb3h5
QW5pbWF0aW9uVGltZXI7CiAKIGNsYXNzIENDU2luZ2xlVGhyZWFkUHJveHkgOiBwdWJsaWMgQ0NQ
cm94eSwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCB7CiBwdWJsaWM6CkBAIC01OSw2ICs2MCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGJvb2wgY29tbWl0UmVxdWVzdGVkKCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHNldFZpc2libGUoYm9vbCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IGRpZEFkZEFuaW1hdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydCgpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBz
aXplX3QgbWF4UGFydGlhbFRleHR1cmVVcGRhdGVzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
c3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsgfQpAQCAtOTQsNiArOTYsOCBAQCBw
cml2YXRlOgogICAgIC8vIGJlIHVzZWQgZm9yIGFueXRoaW5nIGVsc2UuCiAgICAgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHRCZWZvcmVJbml0aWFsaXphdGlvbjsKIAorICAgIE93
blB0cjxDQ1NpbmdsZVRocmVhZFByb3h5QW5pbWF0aW9uVGltZXI+IG1fYW5pbWF0aW9uVGltZXI7
CisKICAgICAvLyBVc2VkIG9uIHRoZSBDQ1RocmVhZCwgYnV0IGNoZWNrZWQgb24gbWFpbiB0aHJl
YWQgZHVyaW5nIGluaXRpYWxpemF0aW9uL3NodXRkb3duLgogICAgIE93blB0cjxDQ0xheWVyVHJl
ZUhvc3RJbXBsPiBtX2xheWVyVHJlZUhvc3RJbXBsOwogICAgIGJvb2wgbV9sYXllclJlbmRlcmVy
SW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMjkxNWE4MTE5ZTdmYzRh
NjhlMmEzZjIyNTA3N2YyOWY4OTk3ZDdlZi4uOWZmNTgxZWY5MDdmOWJjOWFlODUzNTY1YzFlZDI4
YTQ5ZGExYzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtNjgsNiArNjgsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGNvbW1pdFJlcXVlc3RlZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRB
ZGRBbmltYXRpb24oKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgc2l6
ZV90IG1heFBhcnRpYWxUZXh0dXJlVXBkYXRlcygpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKaW5k
ZXggNDRmODdjNmE5M2E4MmNjNmQ0ZjRjZmIwNTZlYzQ4ZTJkNGMyYmNlNC4uYTU2MGJlOGMwYmNm
NzlkZGI0NTZkZWY0ZjMzNTU3OGQ3ZjZjNGM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0xMTQwLDkgKzExNDAs
MTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVMYXllcnMoQ0NMYXllclRy
ZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIGRvdWJsZSBtb25vdG9uaWNUaW1lKQogICAg
IHsKLSAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7Ci0gICAgICAgICAgICAvLyBXZSBoYXZl
IGEgbG9uZyBhbmltYXRpb24gcnVubmluZy4gSXQgc2hvdWxkIGNvbnRpbnVlIHRvIHRpY2sgZXZl
biBpZiB3ZSBhcmUgbm90IHZpc2libGUuCi0gICAgICAgICAgICBwb3N0U2V0VmlzaWJsZVRvTWFp
blRocmVhZChmYWxzZSk7CisgICAgICAgIGlmIChtX251bUFuaW1hdGVzIDwgMikgeworICAgICAg
ICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBh
IGxvbmcgYW5pbWF0aW9uIHJ1bm5pbmcuIEl0IHNob3VsZCBjb250aW51ZSB0byB0aWNrIGV2ZW4g
aWYgd2UgYXJlIG5vdCB2aXNpYmxlLgorICAgICAgICAgICAgICAgIHBvc3RTZXRWaXNpYmxlVG9N
YWluVGhyZWFkKGZhbHNlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1fbnVtQW5pbWF0
ZXMrKzsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTE1NywxNSArMTE1OSw3
IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbnVtQW5pbWF0ZXM7CiB9OwogCi0jaWYgT1MoV0lORE9X
UykKLS8vIGh0dHA6Ly93ZWJraXQub3JnL2IvNzQ2MjMKLVRFU1RfRihDQ0xheWVyVHJlZUhvc3RU
ZXN0VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkLCBGTEFLWV9ydW5NdWx0aVRocmVhZCkK
LSNlbHNlCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFRpY2tBbmltYXRpb25XaGlsZUJhY2tn
cm91bmRlZCwgcnVuTXVsdGlUaHJlYWQpCi0jZW5kaWYKLXsKLSAgICBydW5UZXN0VGhyZWFkZWQo
KTsKLX0KK1NJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0
VGlja0FuaW1hdGlvbldoaWxlQmFja2dyb3VuZGVkKQogCiAvLyBFbnN1cmVzIHRoYXQgYW5pbWF0
aW9ucyBjb250aW51ZSB0byBiZSB0aWNrZWQgd2hlbiB3ZSBhcmUgYmFja2dyb3VuZGVkLgogY2xh
c3MgQ0NMYXllclRyZWVIb3N0VGVzdEFkZEFuaW1hdGlvbldpdGhUaW1pbmdGdW5jdGlvbiA6IHB1
YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0VGhyZWFkT25seSB7CkBAIC0xMjAwLDE1ICsxMTk0LDcg
QEAgcHVibGljOgogcHJpdmF0ZToKIH07CiAKLSNpZiBPUyhXSU5ET1dTKQotLy8gaHR0cDovL3dl
YmtpdC5vcmcvYi83NDYyMwotVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRpb25X
aXRoVGltaW5nRnVuY3Rpb24sIEZMQUtZX3J1bk11bHRpVGhyZWFkKQotI2Vsc2UKLVRFU1RfRihD
Q0xheWVyVHJlZUhvc3RUZXN0QWRkQW5pbWF0aW9uV2l0aFRpbWluZ0Z1bmN0aW9uLCBydW5NdWx0
aVRocmVhZCkKLSNlbmRpZgotewotICAgIHJ1blRlc3RUaHJlYWRlZCgpOwotfQorU0lOR0xFX0FO
RF9NVUxUSV9USFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBZGRBbmltYXRpb25XaXRo
VGltaW5nRnVuY3Rpb24pCiAKIC8vIEVuc3VyZXMgdGhhdCB3aGVuIG9wYWNpdHkgaXMgYmVpbmcg
YW5pbWF0ZWQsIHRoaXMgdmFsdWUgZG9lcyBub3QgY2F1c2UgdGhlIHN1YnRyZWUgdG8gYmUgc2tp
cHBlZC4KIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3REb05vdFNraXBMYXllcnNXaXRoQW5pbWF0
ZWRPcGFjaXR5IDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKQEAgLTEy
OTAsMTAgKzEyNzYsNyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwqIG1fbGF5
ZXJUcmVlSG9zdEltcGw7CiB9OwogCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdFN5bmNocm9u
aXplQW5pbWF0aW9uU3RhcnRUaW1lcywgcnVuTXVsdGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRo
cmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVI
b3N0VGVzdFN5bmNocm9uaXplQW5pbWF0aW9uU3RhcnRUaW1lcykKIAogLy8gRW5zdXJlcyB0aGF0
IG1haW4gdGhyZWFkIGFuaW1hdGlvbnMgaGF2ZSB0aGVpciBzdGFydCB0aW1lcyBzeW5jaHJvbml6
ZWQgd2l0aCBpbXBsIHRocmVhZCBhbmltYXRpb25zLgogY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVz
dEFuaW1hdGlvbkZpbmlzaGVkRXZlbnRzIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3RUaHJl
YWRPbmx5IHsKQEAgLTEzMTksMTAgKzEzMDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogfTsKIAot
VEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RBbmltYXRpb25GaW5pc2hlZEV2ZW50cywgcnVuTXVs
dGlUaHJlYWQpCi17Ci0gICAgcnVuVGVzdFRocmVhZGVkKCk7Ci19CitTSU5HTEVfQU5EX01VTFRJ
X1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdEFuaW1hdGlvbkZpbmlzaGVkRXZlbnRz
KQogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsU2ltcGxlIDogcHVibGljIENDTGF5
ZXJUcmVlSG9zdFRlc3RUaHJlYWRPbmx5IHsKIHB1YmxpYzoK
</data>

          </attachment>
      

    </bug>

</bugzilla>