<?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>100550</bug_id>
          
          <creation_ts>2012-10-26 12:00:25 -0700</creation_ts>
          <short_desc>No tests for changing mouse cursors</short_desc>
          <delta_ts>2012-11-15 11:15:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          <dependson>101876</dependson>
          <blocked>53341</blocked>
    
    <blocked>101225</blocked>
    
    <blocked>85343</blocked>
    
    <blocked>99493</blocked>
    
    <blocked>100059</blocked>
    
    <blocked>101501</blocked>
    
    <blocked>101857</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rick Byers">rbyers</reporter>
          <assigned_to name="Rick Byers">rbyers</assigned_to>
          <cc>abarth</cc>
    
    <cc>aivopaas</cc>
    
    <cc>darin</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hayato</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>752253</commentid>
    <comment_count>0</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-26 12:00:25 -0700</bug_when>
    <thetext>No tests for changing mouse cursors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752261</commentid>
    <comment_count>1</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-26 12:05:50 -0700</bug_when>
    <thetext>Whenever we change/extend support for custom mouse cursors, we don&apos;t add any tests because there is no machinery for them.  Eg. in http://trac.webkit.org/changeset/96566 darin@ wrote &apos;No tests because we currently don&apos;t have any test machinery for cursors.&apos;.

This bug tracks adding some minimal tests for changing mouse cursors.  I&apos;m not going to attempt to cover all the scenarios and different edge cases here, but we need to stop the bleeding so that there&apos;s no excuse not to add more tests in the future.

It looks like this should probably be done in a port-specific fashion so we can see the effects of any port-specific code (eg. see chromium&apos;s WebCursor).  See bug 99493 for more discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752268</commentid>
    <comment_count>2</comment_count>
      <attachid>170982</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-26 12:10:30 -0700</bug_when>
    <thetext>Created attachment 170982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752437</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-26 14:47:37 -0700</bug_when>
    <thetext>There is a number of tests in ManualTests, can these be converted using this machinery?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752675</commentid>
    <comment_count>4</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-26 21:03:03 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; There is a number of tests in ManualTests, can these be converted using this machinery?

Thanks, I didn&apos;t know about those.  Yes it looks easy to cover all those cases in this test.  There is, of course, some additional coverage from the manual tests (eg. embedder and os code, image appearance, etc.) but it&apos;s easy to get most of the value.  In particular:

cur-hotspot.html: I intended to add this case when fixing it in chromium - bug 19059
cursor-empty-url.html: trivial, I&apos;ll add it
cursor-maxsize.html: I cover most of this already, I can add the few extra variations but not sure it has any real value.  This test also seems to expect behavior that doesn&apos;t match the code - I&apos;ll check a couple ports.
cursor.html: This exhaustively lists all standard cursors.  I considered doing this but decided it wasn&apos;t worth it - but maybe it is.
cursorfallback.xml: looks easy to add svg cases - I&apos;ll do it
custom-cursors.html: already covered here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753399</commentid>
    <comment_count>5</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-29 07:09:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; cursor-maxsize.html: I cover most of this already, I can add the few extra variations but not sure it has any real value.  This test also seems to expect behavior that doesn&apos;t match the code - I&apos;ll check a couple ports.

I&apos;ve confirmed this test doesn&apos;t currently pass on Safari on Mac (we get the help cursor).  It expects that hotspots outside the boundary of the cursor will make the entire cursor invalid.  This probably isn&apos;t reasonable since we won&apos;t necessarily have loaded the image by the time we&apos;re choosing which cursor to use.  Current behavior for safari port is to just ignore the hotspot (fall back to 0,0).  On chromium we instead snap the hotspot to the image boundaries but I&apos;ll probably change that to be consistent with safari in bug 100059.  

Also, this  manual test incorrectly passes (shows no custom cursor) on chromium, apparently because we don&apos;t support TIFF images for cursors.  All the sites I can find on-line recommend CUR, PNG, GIF, etc cursors not tiff - so this is probably a pretty bogus test anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753736</commentid>
    <comment_count>6</comment_count>
      <attachid>171307</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-29 13:59:34 -0700</bug_when>
    <thetext>Created attachment 171307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753745</commentid>
    <comment_count>7</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-29 14:07:32 -0700</bug_when>
    <thetext>A couple more manual tests I missed:

canvas-cursor.html - this is really cool, but it&apos;s explicitly looking for flickering which I can&apos;t test here.  It also doesn&apos;t work at all on chromium for some reason, and doesn&apos;t animate smoothly on safari unless you&apos;re actively moving the mouse (we change the cursor on mouse events).

css3-cursor-fallback-quirks.html/css3-cursor-fallback-strict.html: I&apos;ve included a couple of the relevant cases here.  I haven&apos;t attempted here to test the subtle differences between quirks and strict mode.  Some of this difference appears to no longer exist (parsing of hotspots is done in both cases) - neither of these tests seems to pass completely on current safari builds.

link-cursor-auto.html - interesting regression case, I&apos;ve added it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753769</commentid>
    <comment_count>8</comment_count>
      <attachid>171307</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-29 14:32:23 -0700</bug_when>
    <thetext>Comment on attachment 171307
Patch

Attachment 171307 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14620544

New failing tests:
fast/events/mouse-cursor.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754518</commentid>
    <comment_count>9</comment_count>
      <attachid>171485</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-30 11:08:59 -0700</bug_when>
    <thetext>Created attachment 171485
Fix mac failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754612</commentid>
    <comment_count>10</comment_count>
      <attachid>171485</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-30 13:01:46 -0700</bug_when>
    <thetext>Comment on attachment 171485
Fix mac failure

Attachment 171485 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14629636

New failing tests:
fast/events/mouse-cursor.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758589</commentid>
    <comment_count>11</comment_count>
      <attachid>172347</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-05 09:00:04 -0800</bug_when>
    <thetext>Created attachment 172347
Explicitly expect failure on non-chromium platforms for now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758656</commentid>
    <comment_count>12</comment_count>
      <attachid>172347</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-05 10:19:14 -0800</bug_when>
    <thetext>Comment on attachment 172347
Explicitly expect failure on non-chromium platforms for now

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

The latest patch doesn&apos;t apply, so EWS didn&apos;t test it.

&gt; Tools/ChangeLog:10
&gt; +        * DumpRenderTree/chromium/DRTTestRunner.cpp:

How much platform logic is in the code path you are testing? It might be meaningful to put getCurrentCursorInfo in Internals if you are mostly testing WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758679</commentid>
    <comment_count>13</comment_count>
      <attachid>172360</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-05 10:43:01 -0800</bug_when>
    <thetext>Created attachment 172360
Update to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758685</commentid>
    <comment_count>14</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-05 10:48:20 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 172347 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=172347&amp;action=review
&gt; 
&gt; The latest patch doesn&apos;t apply, so EWS didn&apos;t test it.

Thanks.  TestExpectations change often I guess.

&gt; &gt; Tools/ChangeLog:10
&gt; &gt; +        * DumpRenderTree/chromium/DRTTestRunner.cpp:
&gt; 
&gt; How much platform logic is in the code path you are testing? It might be meaningful to put getCurrentCursorInfo in Internals if you are mostly testing WebCore.

I debated this in some detail in bug 99493.  There isn&apos;t a ton of port-specific code, but there is some and it is precisely that code which I need to test in bugs like bug 100059.  So I definitely need to add some port-specific hook here, the only question is if it&apos;s worth having both mechanisms and testing at both layers.  Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758686</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-05 10:50:05 -0800</bug_when>
    <thetext>Attachment 172360 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
LayoutTests/platform/gtk/TestExpectations:1315:  Path does not exist.  [test/expectations] [5]
LayoutTests/platform/mac/TestExpectations:804:  Path does not exist.  [test/expectations] [5]
LayoutTests/platform/win/TestExpectations:1999:  Path does not exist.  [test/expectations] [5]
Total errors found: 3 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758710</commentid>
    <comment_count>16</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-05 11:09:42 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Attachment 172360 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
&gt; LayoutTests/platform/gtk/TestExpectations:1315:  Path does not exist.  [test/expectations] [5]
&gt; LayoutTests/platform/mac/TestExpectations:804:  Path does not exist.  [test/expectations] [5]
&gt; LayoutTests/platform/win/TestExpectations:1999:  Path does not exist.  [test/expectations] [5]
&gt; Total errors found: 3 in 11 files

This is failing upstream at the moment (these aren&apos;t the lines I added).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758855</commentid>
    <comment_count>17</comment_count>
      <attachid>172347</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-05 13:57:20 -0800</bug_when>
    <thetext>Comment on attachment 172347
Explicitly expect failure on non-chromium platforms for now

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

&gt; Tools/DumpRenderTree/chromium/DRTTestRunner.cpp:2306
&gt; +static const char* cursorTypeToString(WebCursorInfo::Type cursorType)

This function is kind of ugly.  Will we need to replicate it for every port?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758861</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-05 14:00:49 -0800</bug_when>
    <thetext>Looks like the enum comes from Cursor.h eventually.  If we need to test port-specific behavior, as you wrote in Comment #14, I wonder if we can avoid replicating this blob of code somehow...  One approach is to try implementing this for another port to see how it might work there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759005</commentid>
    <comment_count>19</comment_count>
      <attachid>172360</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-05 16:22:48 -0800</bug_when>
    <thetext>Comment on attachment 172360
Update to ToT

Attachment 172360 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14721850</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760025</commentid>
    <comment_count>20</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-06 14:02:04 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Looks like the enum comes from Cursor.h eventually.  If we need to test port-specific behavior, as you wrote in Comment #14, I wonder if we can avoid replicating this blob of code somehow...  One approach is to try implementing this for another port to see how it might work there.

Thanks Adam.  I&apos;ve started to look at implementing this for the mac port as well.  Ideally I think we&apos;d share more than just this function - we could also share some of the logic for constructing the cursor info string (just pass in the values, have common string formatting).

Unless I&apos;m missing something, it looks like we don&apos;t currently share much code between the mac DRT and chromium DRT.  Is it OK to just add this stuff to DumpRenderTreeCommon.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760088</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 15:02:13 -0800</bug_when>
    <thetext>We don&apos;t share much code.  The question is more of a design question.  On the surface, this TestRunner method seems very tightly coupled with the Chromium WebKit API.  A better design would be one that we could run on many different ports, either because the functionality was part of Internals or because the TestRunner method made sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760089</commentid>
    <comment_count>22</comment_count>
      <attachid>172360</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 15:02:44 -0800</bug_when>
    <thetext>Comment on attachment 172360
Update to ToT

We should be able to avoid the giant switch statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760968</commentid>
    <comment_count>23</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-07 12:29:33 -0800</bug_when>
    <thetext>In terms of the port-specific nature of the testing: It looks like most/all other ports have USE(LAZY_NATIVE_CURSOR), which gives a Cursor object which can be tested in a port-agnostic fashion.

Without this, Cursor is entirely port-specific (just a wrapper around a port-specific PlatformCursor type), and so testing would have to be completely port-specific (really doesn&apos;t make sense to try to share test code across ports).

Talking offline with Adam, I&apos;m going to look into switching chromium to use the LAZY_NATIVE_CURSOR path just for the sake of unification.  See bug 101501.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762085</commentid>
    <comment_count>24</comment_count>
      <attachid>173100</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 12:51:18 -0800</bug_when>
    <thetext>Created attachment 173100
Make tests port-agnostic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762087</commentid>
    <comment_count>25</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 12:53:37 -0800</bug_when>
    <thetext>This new patch uses the same basic approach, except that it adds an API to internals.idl that works for all ports that have USE(LAZY_NATIVE_CURSOR) (nearly all of them).  I talked with Adam offline about using a formatting string and the need for a big switch statement to convert the enum to a string, and he said as long as it&apos;s not in chromium-specific code then it&apos;s fine.

Adam, how does this look now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762155</commentid>
    <comment_count>26</comment_count>
      <attachid>173100</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-08 14:02:37 -0800</bug_when>
    <thetext>Comment on attachment 173100
Make tests port-agnostic

Attachment 173100 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14765648</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762170</commentid>
    <comment_count>27</comment_count>
      <attachid>173100</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-08 14:24:15 -0800</bug_when>
    <thetext>Comment on attachment 173100
Make tests port-agnostic

Attachment 173100 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14765653</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762440</commentid>
    <comment_count>28</comment_count>
      <attachid>173174</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 19:03:14 -0800</bug_when>
    <thetext>Created attachment 173174
Add export</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762445</commentid>
    <comment_count>29</comment_count>
      <attachid>173175</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 19:08:29 -0800</bug_when>
    <thetext>Created attachment 173175
Ignore - wrong bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762462</commentid>
    <comment_count>30</comment_count>
      <attachid>173174</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-08 19:38:32 -0800</bug_when>
    <thetext>Comment on attachment 173174
Add export

Attachment 173174 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14763862</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762906</commentid>
    <comment_count>31</comment_count>
      <attachid>173281</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 05:51:12 -0800</bug_when>
    <thetext>Created attachment 173281
More exports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762968</commentid>
    <comment_count>32</comment_count>
      <attachid>173297</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 06:45:52 -0800</bug_when>
    <thetext>Created attachment 173297
One more export for gtk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763331</commentid>
    <comment_count>33</comment_count>
      <attachid>173368</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 14:33:56 -0800</bug_when>
    <thetext>Created attachment 173368
Merge with ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763356</commentid>
    <comment_count>34</comment_count>
      <attachid>173368</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-09 14:48:21 -0800</bug_when>
    <thetext>Comment on attachment 173368
Merge with ToT

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

&gt; Source/WebCore/testing/Internals.cpp:1531
&gt; +    return &quot;UNKNOWN&quot;;

This should be ASSERT_NOT_REACHED(), right?

&gt; Source/WebCore/testing/Internals.cpp:1545
&gt; +    String result = String(&quot;type=&quot;) + cursorTypeToString(cursor.type())

You should use StringBuilder because you&apos;re got a conditional in here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763393</commentid>
    <comment_count>35</comment_count>
      <attachid>173383</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 15:29:15 -0800</bug_when>
    <thetext>Created attachment 173383
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763445</commentid>
    <comment_count>36</comment_count>
      <attachid>173395</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 16:28:21 -0800</bug_when>
    <thetext>Created attachment 173395
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763547</commentid>
    <comment_count>37</comment_count>
      <attachid>173395</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 18:45:54 -0800</bug_when>
    <thetext>Comment on attachment 173395
Patch for landing

Clearing flags on attachment: 173395

Committed r134144: &lt;http://trac.webkit.org/changeset/134144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763548</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 18:46:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763952</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-11 18:12:41 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 101876</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764103</commentid>
    <comment_count>40</comment_count>
    <who name="Aivo Paas">aivopaas</who>
    <bug_when>2012-11-11 23:41:21 -0800</bug_when>
    <thetext>Spotted missing braces.

@@ -1862,7 +1862,8 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent&amp; mouseEvent, Hi
         if (FrameView* view = m_frame-&gt;view()) {
             OptionalCursor optionalCursor = selectCursor(mev, scrollbar);
             if (optionalCursor.isCursorChange())
-                view-&gt;setCursor(optionalCursor.cursor());
+                m_currentMouseCursor = optionalCursor.cursor();
+                view-&gt;setCursor(m_currentMouseCursor);
         }
     }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764372</commentid>
    <comment_count>41</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-12 06:57:29 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; Spotted missing braces.
&gt; 
&gt; @@ -1862,7 +1862,8 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent&amp; mouseEvent, Hi
&gt;          if (FrameView* view = m_frame-&gt;view()) {
&gt;              OptionalCursor optionalCursor = selectCursor(mev, scrollbar);
&gt;              if (optionalCursor.isCursorChange())
&gt; -                view-&gt;setCursor(optionalCursor.cursor());
&gt; +                m_currentMouseCursor = optionalCursor.cursor();
&gt; +                view-&gt;setCursor(m_currentMouseCursor);
&gt;          }
&gt;      }

Dammit, thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764392</commentid>
    <comment_count>42</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-12 07:19:20 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; (In reply to comment #40)
&gt; &gt; Spotted missing braces.
&gt; &gt; 
&gt; &gt; @@ -1862,7 +1862,8 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent&amp; mouseEvent, Hi
&gt; &gt;          if (FrameView* view = m_frame-&gt;view()) {
&gt; &gt;              OptionalCursor optionalCursor = selectCursor(mev, scrollbar);
&gt; &gt;              if (optionalCursor.isCursorChange())
&gt; &gt; -                view-&gt;setCursor(optionalCursor.cursor());
&gt; &gt; +                m_currentMouseCursor = optionalCursor.cursor();
&gt; &gt; +                view-&gt;setCursor(m_currentMouseCursor);
&gt; &gt;          }
&gt; &gt;      }
&gt; 
&gt; Dammit, thank you!

I&apos;m just figuring out how to add a test case for the no-cursor-change scenario (don&apos;t want to rely on chromium browser tests here), and then I&apos;ll resubmit with that new case.

Sorry for the trouble this stupid error caused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764553</commentid>
    <comment_count>43</comment_count>
      <attachid>173395</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-12 10:30:52 -0800</bug_when>
    <thetext>Comment on attachment 173395
Patch for landing

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

&gt; Source/WebCore/testing/Internals.cpp:1530
&gt; +    case Cursor::Pointer: return &quot;TypePointer&quot;;
&gt; +    case Cursor::Cross: return &quot;TypeCross&quot;;
&gt; +    case Cursor::Hand: return &quot;TypeHand&quot;;
&gt; +    case Cursor::IBeam: return &quot;TypeIBeam&quot;;
&gt; +    case Cursor::Wait: return &quot;TypeWait&quot;;
&gt; +    case Cursor::Help: return &quot;TypeHelp&quot;;
&gt; +    case Cursor::EastResize: return &quot;TypeEastResize&quot;;
&gt; +    case Cursor::NorthResize: return &quot;TypeNorthResize&quot;;
&gt; +    case Cursor::NorthEastResize: return &quot;TypeNorthEastResize&quot;;
&gt; +    case Cursor::NorthWestResize: return &quot;TypeNorthWestResize&quot;;
&gt; +    case Cursor::SouthResize: return &quot;TypeSouthResize&quot;;
&gt; +    case Cursor::SouthEastResize: return &quot;TypeSouthEastResize&quot;;
&gt; +    case Cursor::SouthWestResize: return &quot;TypeSouthWestResize&quot;;
&gt; +    case Cursor::WestResize: return &quot;TypeWestResize&quot;;
&gt; +    case Cursor::NorthSouthResize: return &quot;TypeNorthSouthResize&quot;;
&gt; +    case Cursor::EastWestResize: return &quot;TypeEastWestResize&quot;;
&gt; +    case Cursor::NorthEastSouthWestResize: return &quot;TypeNorthEastSouthWestResize&quot;;
&gt; +    case Cursor::NorthWestSouthEastResize: return &quot;TypeNorthWestSouthEastResize&quot;;
&gt; +    case Cursor::ColumnResize: return &quot;TypeColumnResize&quot;;
&gt; +    case Cursor::RowResize: return &quot;TypeRowResize&quot;;
&gt; +    case Cursor::MiddlePanning: return &quot;TypeMiddlePanning&quot;;
&gt; +    case Cursor::EastPanning: return &quot;TypeEastPanning&quot;;
&gt; +    case Cursor::NorthPanning: return &quot;TypeNorthPanning&quot;;
&gt; +    case Cursor::NorthEastPanning: return &quot;TypeNorthEastPanning&quot;;
&gt; +    case Cursor::NorthWestPanning: return &quot;TypeNorthWestPanning&quot;;
&gt; +    case Cursor::SouthPanning: return &quot;TypeSouthPanning&quot;;
&gt; +    case Cursor::SouthEastPanning: return &quot;TypeSouthEastPanning&quot;;
&gt; +    case Cursor::SouthWestPanning: return &quot;TypeSouthWestPanning&quot;;
&gt; +    case Cursor::WestPanning: return &quot;TypeWestPanning&quot;;
&gt; +    case Cursor::Move: return &quot;TypeMove&quot;;
&gt; +    case Cursor::VerticalText: return &quot;TypeVerticalText&quot;;
&gt; +    case Cursor::Cell: return &quot;TypeCell&quot;;
&gt; +    case Cursor::ContextMenu: return &quot;TypeContextMenu&quot;;
&gt; +    case Cursor::Alias: return &quot;TypeAlias&quot;;
&gt; +    case Cursor::Progress: return &quot;TypeProgress&quot;;
&gt; +    case Cursor::NoDrop: return &quot;TypeNoDrop&quot;;
&gt; +    case Cursor::Copy: return &quot;TypeCopy&quot;;
&gt; +    case Cursor::None: return &quot;TypeNone&quot;;
&gt; +    case Cursor::NotAllowed: return &quot;TypeNotAllowed&quot;;
&gt; +    case Cursor::ZoomIn: return &quot;TypeZoomIn&quot;;
&gt; +    case Cursor::ZoomOut: return &quot;TypeZoomOut&quot;;
&gt; +    case Cursor::Grab: return &quot;TypeGrab&quot;;
&gt; +    case Cursor::Grabbing: return &quot;TypeGrabbing&quot;;
&gt; +    case Cursor::Custom: return &quot;TypeCustom&quot;;

Could we drop all these Type prefixes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768086</commentid>
    <comment_count>44</comment_count>
      <attachid>174444</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 08:16:13 -0800</bug_when>
    <thetext>Created attachment 174444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768088</commentid>
    <comment_count>45</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 08:17:00 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; 
&gt; Could we drop all these Type prefixes?

Done.  Sorry, those were a hold-over from when this code was chromium specific (the Chromium version of that enum uses Type prefixes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768091</commentid>
    <comment_count>46</comment_count>
      <attachid>174446</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 08:18:24 -0800</bug_when>
    <thetext>Created attachment 174446
Just the changes from the originally landed version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768097</commentid>
    <comment_count>47</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 08:22:45 -0800</bug_when>
    <thetext>The stupid error I made (missing braces) was a little hard to write a direct test for, because it resulted in a Cursor object with an uninitialized field (unpredictable value).

So instead I added an explicit initialization and ASSERTs to the code to check that such uninitialized Cursor objects are never used.  I verified that (before fixing the missing braces) some existing WebKit layout tests failed due to these ASSERTs.  In particular, plugins/resize-from-plugin.html hits the rare NoCursorChange case, and hit this ASSERT until I added the missing braces.

I&apos;ve attached both a new full patch, as well as just the diff from what I previously landed.  Adam, can you please review?  Sorry again for missing this stupid typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768100</commentid>
    <comment_count>48</comment_count>
      <attachid>174448</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 08:24:51 -0800</bug_when>
    <thetext>Created attachment 174448
Just the changes from the originally landed version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768261</commentid>
    <comment_count>49</comment_count>
      <attachid>174444</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-15 10:27:35 -0800</bug_when>
    <thetext>Comment on attachment 174444
Patch

r=me.  Rollout if the tests fail again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768329</commentid>
    <comment_count>50</comment_count>
      <attachid>174444</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 11:15:51 -0800</bug_when>
    <thetext>Comment on attachment 174444
Patch

Clearing flags on attachment: 174444

Committed r134803: &lt;http://trac.webkit.org/changeset/134803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768330</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 11:15:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170982</attachid>
            <date>2012-10-26 12:10:30 -0700</date>
            <delta_ts>2012-10-29 13:59:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100550-20121026150901.patch</filename>
            <type>text/plain</type>
            <size>16999</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjExMDEyOGIyOTExZTIxNDI4MDljMjIzZmMwMDk1MDI3
YTBkNjVkZC4uY2FlOTA3OGUyMDU2YzM1ZmQ1MjFlMmNhY2NkYmQwOTkyMjBlOTEzYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEyLTEwLTI2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0byBsZXQgTGF5b3V0
VGVzdHMgZ2V0IGRldGFpbHMgb24gdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorICAgICAgICBT
aW5jZSB0aGVzZSBkZXRhaWxzIG1heSBiZSBwb3J0LXNwZWNpZmljLCBJIHJldHVybiBhbiBhcmli
dHJhcmlseQorICAgICAgICBmb3JtYXR0ZWQgc3RyaW5nIHRvIGJlIGdlbmVyYXRlZCBpbiB0ZXN0
IG91dHB1dC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5u
ZXIuY3BwOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6RFJUVGVzdFJ1bm5lcik6CisgICAgICAg
IChjdXJzb3JUeXBlVG9TdHJpbmcpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6Z2V0Q3VycmVu
dEN1cnNvckluZm8pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RS
dW5uZXIuaDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpkaWRD
aGFuZ2VDdXJzb3IpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0Lmg6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Z2V0Q3VycmVudEN1cnNvckluZm8pOgorICAg
ICAgICAoV2ViVmlld0hvc3QpOgorCiAyMDEyLTEwLTI1ICBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUg
bXkgY29udGFjdCBpbmZvLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJUVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRU
ZXN0UnVubmVyLmNwcAppbmRleCAyMDVjZWMwYjU1Y2VjZmRmNzZmZDc2NDRhZjNhYzY2YmY0M2Vl
OTU1Li4wZjMzYmZjZjQ1NjU4MmFhZjQ3MWMzYTIxNzNmNzhmMTc2ZGY0NTk4IDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcApAQCAtNDEsNiAr
NDEsNyBAQAogI2luY2x1ZGUgIldlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJX
ZWJCaW5kaW5ncy5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCisjaW5jbHVkZSAi
V2ViQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgIldlYkRldmljZU9yaWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgiCiAjaW5jbHVkZSAiV2ViRG9j
dW1lbnQuaCIKQEAgLTI4MCw2ICsyODEsNyBAQCBEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVy
KFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgic2VsZWN0aW9uQXNNYXJrdXAiLCAm
RFJUVGVzdFJ1bm5lcjo6c2VsZWN0aW9uQXNNYXJrdXApOwogICAgIGJpbmRNZXRob2QoInNldEhh
c0N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvciIsICZEUlRUZXN0UnVubmVyOjpzZXRIYXNDdXN0b21G
dWxsU2NyZWVuQmVoYXZpb3IpOwogICAgIGJpbmRNZXRob2QoInRleHRTdXJyb3VuZGluZ05vZGUi
LCAmRFJUVGVzdFJ1bm5lcjo6dGV4dFN1cnJvdW5kaW5nTm9kZSk7CisgICAgYmluZE1ldGhvZCgi
Z2V0Q3VycmVudEN1cnNvckluZm8iLCAmRFJUVGVzdFJ1bm5lcjo6Z2V0Q3VycmVudEN1cnNvcklu
Zm8pOwogCiAgICAgLy8gVGhlIGZhbGxiYWNrIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiB1bmtu
b3duIG1ldGhvZCBpcyBpbnZva2VkLgogICAgIGJpbmRGYWxsYmFja01ldGhvZCgmRFJUVGVzdFJ1
bm5lcjo6ZmFsbGJhY2tNZXRob2QpOwpAQCAtMjI4OSwzICsyMjkxLDc4IEBAIHZvaWQgRFJUVGVz
dFJ1bm5lcjo6dGV4dFN1cnJvdW5kaW5nTm9kZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3Vt
ZW50cywgQ3BwVmFyCiAKICAgICByZXN1bHQtPnNldChzdXJyb3VuZGluZ1RleHQudGV4dENvbnRl
bnQoKS51dGY4KCkpOwogfQorCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRvU3RyaW5n
KFdlYkN1cnNvckluZm86OlR5cGUgY3Vyc29yVHlwZSkKK3sKKyAgICBzd2l0Y2ggKGN1cnNvclR5
cGUpIHsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVQb2ludGVyOiByZXR1cm4gIlR5cGVQ
b2ludGVyIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVDcm9zczogcmV0dXJuICJUeXBl
Q3Jvc3MiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUhhbmQ6IHJldHVybiAiVHlwZUhh
bmQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUlCZWFtOiByZXR1cm4gIlR5cGVJQmVh
bSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlV2FpdDogcmV0dXJuICJUeXBlV2FpdCI7
CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlSGVscDogcmV0dXJuICJUeXBlSGVscCI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlRWFzdFJl
c2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhSZXNpemU6IHJldHVybiAi
VHlwZU5vcnRoUmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RS
ZXNpemU6IHJldHVybiAiVHlwZU5vcnRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJ
bmZvOjpUeXBlTm9ydGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVTb3V0
aFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlw
ZVNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNl
IFdlYkN1cnNvckluZm86OlR5cGVXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFNvdXRoUmVzaXplOiByZXR1cm4gIlR5
cGVOb3J0aFNvdXRoUmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2Vz
dFJlc2l6ZTogcmV0dXJuICJUeXBlRWFzdFdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0
U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RT
b3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ29sdW1uUmVzaXplOiByZXR1cm4gIlR5cGVDb2x1
bW5SZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVJvd1Jlc2l6ZTogcmV0dXJu
ICJUeXBlUm93UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVNaWRkbGVQYW5u
aW5nOiByZXR1cm4gIlR5cGVNaWRkbGVQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86
OlR5cGVFYXN0UGFubmluZzogcmV0dXJuICJUeXBlRWFzdFBhbm5pbmciOworICAgIGNhc2UgV2Vi
Q3Vyc29ySW5mbzo6VHlwZU5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5
cGVOb3J0aEVhc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdl
c3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVTb3V0aFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFubmluZyI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBl
U291dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0
UGFubmluZzogcmV0dXJuICJUeXBlU291dGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJz
b3JJbmZvOjpUeXBlV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAgICBj
YXNlIFdlYkN1cnNvckluZm86OlR5cGVNb3ZlOiByZXR1cm4gIlR5cGVNb3ZlIjsKKyAgICBjYXNl
IFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQ6IHJldHVybiAiVHlwZVZlcnRpY2FsVGV4
dCI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7
CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ29udGV4dE1lbnU6IHJldHVybiAiVHlwZUNv
bnRleHRNZW51IjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVBbGlhczogcmV0dXJuICJU
eXBlQWxpYXMiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVByb2dyZXNzOiByZXR1cm4g
IlR5cGVQcm9ncmVzcyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9Ecm9wOiByZXR1
cm4gIlR5cGVOb0Ryb3AiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHk6IHJldHVy
biAiVHlwZUNvcHkiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vbmU6IHJldHVybiAi
VHlwZU5vbmUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vdEFsbG93ZWQ6IHJldHVy
biAiVHlwZU5vdEFsbG93ZWQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21Jbjog
cmV0dXJuICJUeXBlWm9vbUluIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVab29tT3V0
OiByZXR1cm4gIlR5cGVab29tT3V0IjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVHcmFi
OiByZXR1cm4gIlR5cGVHcmFiIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVHcmFiYmlu
ZzogcmV0dXJuICJUeXBlR3JhYmJpbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUN1
c3RvbTogcmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIlVOS05PV04i
OworfQorCit2b2lkIERSVFRlc3RSdW5uZXI6OmdldEN1cnJlbnRDdXJzb3JJbmZvKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICAvLyBXZSBjb3VsZCBj
cmVhdGUgYSBmdWxsIGJsb3duIG9iamVjdCBoZXJlIGJ1dCB0aGF0IGxvb2tzIGxpa2UgYSBsb3Qg
bW9yZSB3b3JrIGFuZAorICAgIC8vIHJlYWxseSBub3Qgd29ydGggdGhlIGVmZm9ydCAodGhlIGRl
dGFpbHMgYXJlIHByb2JhYmx5IGdvaW5nIHRvIGJlIHBvcnQtc3BlY2lmaWMKKyAgICAvLyBhbnl3
YXksIHNvIHdlIGNvdWxkbid0IGVhc2lseSB0ZXN0IGZvciBleHBlY3RlZCB2YWx1ZXMgZnJvbSBq
YXZhc2NyaXB0IGFueXdheSkuCisgICAgLy8gU28sIHNpbWlsYXIgdG8gb3RoZXIgcGxhY2VzIGRl
dGFpbGluZyB3aXRoIGNvbXBsZXggZGF0YSwgd2UnbGwganVzdCBzdXBwbHkgYQorICAgIC8vIHN0
cmluZyB0aGF0IGNhbiBiZSB1c2VkIGluIHRlc3Qgb3V0cHV0LgorCisgICAgV2ViQ3Vyc29ySW5m
byBjdXJzb3IgPSBtX3NoZWxsLT53ZWJWaWV3SG9zdCgpLT5nZXRDdXJyZW50Q3Vyc29ySW5mbygp
OworICAgIG9zdHJpbmdzdHJlYW0gc3M7CisgICAgc3MgPDwgInR5cGU9IiA8PCBjdXJzb3JUeXBl
VG9TdHJpbmcoY3Vyc29yLnR5cGUpOworICAgIHNzIDw8ICIgaG90U3BvdD0iIDw8IGN1cnNvci5o
b3RTcG90LnggPDwgIiwiIDw8IGN1cnNvci5ob3RTcG90Lnk7CisgICAgc3MgPDwgIiBjdXN0b21J
bWFnZT0iOworICAgIGlmIChjdXJzb3IuY3VzdG9tSW1hZ2UuaXNOdWxsKCkpCisgICAgICAgIHNz
IDw8ICJudWxsIjsKKyAgICBlbHNlIHsKKyAgICAgICAgV2ViU2l6ZSBzaXplID0gY3Vyc29yLmN1
c3RvbUltYWdlLnNpemUoKTsKKyAgICAgICAgc3MgPDwgc2l6ZS53aWR0aCA8PCAieCIgPDwgc2l6
ZS5oZWlnaHQ7CisgICAgfQorCisgICAgcmVzdWx0LT5zZXQoc3Muc3RyKCkpOworfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IGVjNDc3OGZk
NWM0NmY4ZjMyODc1OGExNTdhMzI4MjE0NTRiNWIyMjEuLmViMmJjODcyOWY4OGIwMTYyNDFlMTI3
YjU2NGIxZmYxMzczNTk2YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlRUZXN0UnVubmVyLmgKQEAgLTQzOSw2ICs0MzksOSBAQCBwdWJsaWM6CiAgICAgLy8gbGVuZ3Ro
IHRvIHJldHJpZXZlLgogICAgIHZvaWQgdGV4dFN1cnJvdW5kaW5nTm9kZShjb25zdCBDcHBBcmd1
bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAKKyAgICAvLyBSZXR1cm5zIGEgc3RyaW5nIHdpdGgg
aW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorICAgIHZvaWQgZ2V0
Q3VycmVudEN1cnNvckluZm8oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwor
CiBwdWJsaWM6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBub3QgZXhwb3NlZCB0
byBKYXZhU2NyaXB0LgogICAgIHZvaWQgc2V0V29ya1F1ZXVlRnJvemVuKGJvb2wgZnJvemVuKSB7
IG1fd29ya1F1ZXVlLnNldEZyb3plbihmcm96ZW4pOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggZDM3NjIyZGI5OTU4OGY3OTE1YjI0NGVm
OWNiN2QwNWUyMTJmYzczMS4uZTkxM2Q0NzRkNzgwOTQ5NDI0ZGQxYzVmYzQ1OGE5NjVhOTYyNzgz
MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3Qu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApA
QCAtOTMyLDggKzkzMiw2IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmNsb3NlV2lkZ2V0U29vbigpCiAK
IHZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUN1cnNvcihjb25zdCBXZWJDdXJzb3JJbmZvJiBj
dXJzb3JJbmZvKQogewotICAgIGlmICghaGFzV2luZG93KCkpCi0gICAgICAgIHJldHVybjsKICAg
ICBtX2N1cnJlbnRDdXJzb3IgPSBjdXJzb3JJbmZvOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCA5YWY0N2UwNzhmNzZhZjA3YzQ0MDA4NzZm
YTk3YWI5YTg1NGQ5NTI3Li5jNmE3MzQwMGMzY2YyYjBiYmZhYzBlYTJlYWM1N2RlZDc0MDAzYzY0
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTEy
OCw2ICsxMjgsOCBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdD
bGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIHZvaWQgc2V0UG9pbnRl
ckxvY2tXaWxsRmFpbFN5bmNocm9ub3VzbHkoKSB7IG1fcG9pbnRlckxvY2tQbGFubmVkUmVzdWx0
ID0gUG9pbnRlckxvY2tXaWxsRmFpbFN5bmM7IH0KICNlbmRpZgogCisgICAgV2ViS2l0OjpXZWJD
dXJzb3JJbmZvIGdldEN1cnJlbnRDdXJzb3JJbmZvKCkgeyByZXR1cm4gbV9jdXJyZW50Q3Vyc29y
OyB9CisKICAgICAvLyBXZWJUZXN0RGVsZWdhdGUuCiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYkNv
bnRleHRNZW51RGF0YSogbGFzdENvbnRleHRNZW51RGF0YSgpIGNvbnN0IE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBjbGVhckNvbnRleHRNZW51RGF0YSgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUz
MzNhYjQyZmQ4ZWJhMTg0ZDc1OWRhZTAyNjU5OGUxNjVmNGE0MjguLmVhNzJmOTAyMjM4NDM3MmJj
ZjJkMmZhYmU2ZmJjYzVlMmQ1YmFlNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0y
NiAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMg
Zm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBhIHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBz
Y2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBtb3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBDU1MuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisKIDIwMTItMTAtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBza2lwIGZhaWxpbmcg
dGVzdHMgdG8gc3BlZWR1cCB0ZXN0aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZjMGNjZDJmMTFkYThiMGVj
YjFlNzZmNzliNTM2MGFiZWUwNzk3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorVGVz
dCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworRkFJTCBUaGlzIHRlc3QgcmVxdWlyZXMgc3VwcG9ydCBmb3Ig
ZHVtcEN1cnJlbnRDdXJzb3JJbmZvCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKKworVEVT
VCBDQVNFOiBFeHBsaWNpdCBkZWZhdWx0CisKK1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0bworCitU
RVNUIENBU0U6IE5vIGN1cnNvcgorCitURVNUIENBU0U6IFBvaW50ZXIKKworVEVTVCBDQVNFOiAt
d2Via2l0LWdyYWJiaW5nCisKK1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUgaW1hZ2UKKworVEVT
VCBDQVNFOiBJbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKKworVEVTVCBDQVNF
OiBJbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1hZ2UKKworVEVTVCBDQVNFOiBJbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApCisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0
aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApCisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBl
eHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpCisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBs
aWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzMCwzMCkKKworVEVTVCBDQVNFOiBPdmVy
IGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDRiMGM2Y2U4ZWI3ZjM1NTBh
ZTJkYjczYWRiOTVlN2U1MTFkYmZkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCkBAIC0wLDAgKzEsMTA3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9InRlc3Qt
Y29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZhdWx0IGN1cnNvcjwvZGl2PgorICA8ZGl2
IHN0eWxlPSdjdXJzb3I6IGRlZmF1bHQnPkV4cGxpY2l0IGRlZmF1bHQ8L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiBhdXRvJz5FeHBsaWNpdCBhdXRvPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogbm9uZSc+Tm8gY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogcG9pbnRl
cic+UG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmcn
Pi13ZWJraXQtZ3JhYmJpbmc8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3Vy
Y2VzL2dyZWVuYm94LnBuZyksIGhhbmQnPkV4aXN0aW5nIDI1eDI1IGltYWdlPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHBvaW50ZXInPkludmFsaWQg
VVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHVybChkb2VzbnRleGlzdC5wbmcpLCB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIHBvaW50
ZXInPkludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAwIDAsIHBvaW50ZXInPklt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPkltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ug
d2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3
aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyksIHBvaW50
ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+Cis8L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9M
b2FkID0gMDsKKworZnVuY3Rpb24gb25JbWFnZUxvYWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1
ZyBvdXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMgYW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMg
LSBvbmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBydW5uaW5nIGluIERSVAorICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVnKCAnRXZlbnQgJyArIGUudHlwZSArICc6ICcg
KyBlLnRhcmdldC5zcmMpOworICAgICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAg
aWYgKGltYWdlc0xlZnRUb0xvYWQgPT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAo
aW1hZ2VzTGVmdFRvTG9hZCA8IDApCisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQv
ZXJyb3IgY2FsbGJhY2sgdGhhbiBleHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVu
ZXhwZWN0ZWQoZSkgeworICAgIHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUudHlw
ZSArICdcJyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVuY3Rp
b24gcnVuVGVzdHMoKSB7CisgICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgnI3Rlc3QtY29udGFpbmVyID4gZGl2Jyk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9U
ZXN0W2ldOworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wICsgMyk7CisgICAg
ICAgIH0KKyAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOwor
ICAgICAgICBpZiAoaGFzQ3Vyc29ySW5mbykKKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBj
b3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0
aGF0J3MgYSBsb3QgbW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdp
dGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0
IGR1bXAKKyAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUg
ZGVzY3JpcHRpb24uIAorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgdGVzdFJ1
bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5mbygpKTsKKyAgICAgICAgZGVidWcoJycpOyAgCisgICAg
fQorICAgIAorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAg
ICAvLyBUaGlzIHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0IC0gaGlkZSBp
dAorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBt
b3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsKKwordmFyIGhhc0N1cnNvcklu
Zm8gPSBmYWxzZTsKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdGVzdEZhaWxlZCgn
VGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9IGVsc2UgaWYgKHdpbmRvdy50
ZXN0UnVubmVyICYmICF3aW5kb3cudGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5mbykgewor
ICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBzdXBwb3J0IGZvciBkdW1wQ3VycmVu
dEN1cnNvckluZm8nKTsKK30gZWxzZSB7CisgICAgaGFzQ3Vyc29ySW5mbyA9IHRydWU7Cit9CisK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFj
aCBpbWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9hZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisv
LyBXaXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxsIGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVn
LiBubyBrbm93biBzaXplLgordmFyIGltYWdlc1RvTG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291
cmNlcy9ncmVlbmJveC5wbmcnIH0sCisgICAgeyB1cmw6ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJv
cjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGlt
ZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBleHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtpXS5l
cnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/IG9u
SW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxvYWQpOworICAgIGltZy5hZGRFdmVudExpc3RlbmVy
KCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25JbWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3RlZCk7
CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9hZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZjgyMjExZWIwZjJkZTAzM2UxMDA0MDYwNGVlMTc1NWY3OTU4NThmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVu
dHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUxIEBACitUZXN0IHRoYXQg
bW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTog
RXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVBvaW50ZXIgaG90U3BvdD0w
LDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJ
bmZvOiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1Qg
Q0FTRTogTm8gY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlTm9uZSBob3RTcG90PTAsMCBj
dXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogUG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IC13ZWJr
aXQtZ3JhYmJpbmcKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMCBj
dXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUgaW1hZ2UKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0yNXgyNQor
CitURVNUIENBU0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNU
IENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PS0xLC0xIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1Qg
Q0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT0yNXgyNQorCitURVNUIENB
U0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTIwLDEwIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1Qg
Q0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpCitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVT
VCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMw
LDMwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTMwLDMwIGN1c3RvbUlt
YWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRv
IHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwIGN1c3RvbUlt
YWdlPW51bGwKKworCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171307</attachid>
            <date>2012-10-29 13:59:34 -0700</date>
            <delta_ts>2012-10-30 11:08:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100550-20121029165800.patch</filename>
            <type>text/plain</type>
            <size>17903</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjExMDEyOGIyOTExZTIxNDI4MDljMjIzZmMwMDk1MDI3
YTBkNjVkZC4uZmJlYzBhNjBjMWE3NmYzYTc1ODFjOTQzYjNhNGU4MmRmMWEyZThhYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTEwLTI2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0byBsZXQgTGF5b3V0
VGVzdHMgZ2V0IGRldGFpbHMgb24gdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChE
UlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKGN1cnNvclR5cGVUb1N0cmlu
Zyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAo
RFJUVGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZENoYW5nZUN1cnNvcik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0OjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAgICAgIChXZWJWaWV3SG9zdCk6
CisKIDIwMTItMTAtMjUgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBteSBjb250YWN0IGluZm8uCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4
IDIwNWNlYzBiNTVjZWNmZGY3NmZkNzY0NGFmM2FjNjZiZjQzZWU5NTUuLmVhZTc0MGMxZGI4N2Zk
ODE2MzM1M2YxNDc2ZTgyMzI3OTdjMzk1NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
V2ViQW5pbWF0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYkJpbmRpbmdzLmgiCiAjaW5j
bHVkZSAiV2ViQ29uc29sZU1lc3NhZ2UuaCIKKyNpbmNsdWRlICJXZWJDdXJzb3JJbmZvLmgiCiAj
aW5jbHVkZSAiV2ViRGV2aWNlT3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJXZWJEZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgpAQCAtMjgwLDYg
KzI4MSw3IEBAIERSVFRlc3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKiBzaGVsbCkK
ICAgICBiaW5kTWV0aG9kKCJzZWxlY3Rpb25Bc01hcmt1cCIsICZEUlRUZXN0UnVubmVyOjpzZWxl
Y3Rpb25Bc01hcmt1cCk7CiAgICAgYmluZE1ldGhvZCgic2V0SGFzQ3VzdG9tRnVsbFNjcmVlbkJl
aGF2aW9yIiwgJkRSVFRlc3RSdW5uZXI6OnNldEhhc0N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcik7
CiAgICAgYmluZE1ldGhvZCgidGV4dFN1cnJvdW5kaW5nTm9kZSIsICZEUlRUZXN0UnVubmVyOjp0
ZXh0U3Vycm91bmRpbmdOb2RlKTsKKyAgICBiaW5kTWV0aG9kKCJnZXRDdXJyZW50Q3Vyc29ySW5m
byIsICZEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk7CiAKICAgICAvLyBUaGUg
ZmFsbGJhY2sgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIHVua25vd24gbWV0aG9kIGlzIGludm9r
ZWQuCiAgICAgYmluZEZhbGxiYWNrTWV0aG9kKCZEUlRUZXN0UnVubmVyOjpmYWxsYmFja01ldGhv
ZCk7CkBAIC0yMjg5LDMgKzIyOTEsNzYgQEAgdm9pZCBEUlRUZXN0UnVubmVyOjp0ZXh0U3Vycm91
bmRpbmdOb2RlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXIKIAogICAg
IHJlc3VsdC0+c2V0KHN1cnJvdW5kaW5nVGV4dC50ZXh0Q29udGVudCgpLnV0ZjgoKSk7CiB9CisK
K3N0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoV2ViQ3Vyc29ySW5mbzo6VHlw
ZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlwZSkgeworICAgIGNhc2UgV2Vi
Q3Vyc29ySW5mbzo6VHlwZVBvaW50ZXI6IHJldHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZUNyb3NzOiByZXR1cm4gIlR5cGVDcm9zcyI7CisgICAgY2FzZSBX
ZWJDdXJzb3JJbmZvOjpUeXBlSGFuZDogcmV0dXJuICJUeXBlSGFuZCI7CisgICAgY2FzZSBXZWJD
dXJzb3JJbmZvOjpUeXBlSUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVXYWl0OiByZXR1cm4gIlR5cGVXYWl0IjsKKyAgICBjYXNlIFdlYkN1cnNv
ckluZm86OlR5cGVIZWxwOiByZXR1cm4gIlR5cGVIZWxwIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdl
YkN1cnNvckluZm86OlR5cGVOb3J0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RS
ZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJ
bmZvOjpUeXBlU291dGhSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoUmVzaXplIjsKKyAgICBjYXNl
IFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoRWFz
dFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlw
ZVdlc3RSZXNpemU6IHJldHVybiAiVHlwZVdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoU291dGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoU291dGhSZXNpemUi
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5
cGVFYXN0V2VzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0
U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZTogcmV0
dXJuICJUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlUm93UmVzaXplOiByZXR1cm4gIlR5cGVSb3dSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU1pZGRsZVBhbm5pbmc6IHJldHVybiAiVHlwZU1p
ZGRsZVBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RQYW5uaW5nOiBy
ZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9y
dGhQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoRWFzdFBhbm5pbmci
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAi
VHlwZU5vcnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRo
UGFubmluZzogcmV0dXJuICJUeXBlU291dGhQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RQYW5uaW5nIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5
cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVXZXN0UGFu
bmluZzogcmV0dXJuICJUeXBlV2VzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6
VHlwZU1vdmU6IHJldHVybiAiVHlwZU1vdmUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlw
ZVZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVDZWxsOiByZXR1cm4gIlR5cGVDZWxsIjsKKyAgICBjYXNlIFdlYkN1cnNv
ckluZm86OlR5cGVDb250ZXh0TWVudTogcmV0dXJuICJUeXBlQ29udGV4dE1lbnUiOworICAgIGNh
c2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlUHJvZ3Jlc3M6IHJldHVybiAiVHlwZVByb2dyZXNzIjsKKyAg
ICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb0Ryb3A6IHJldHVybiAiVHlwZU5vRHJvcCI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAg
Y2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9uZTogcmV0dXJuICJUeXBlTm9uZSI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm90QWxsb3dlZDogcmV0dXJuICJUeXBlTm90QWxsb3dlZCI7
CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4i
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21PdXQ6IHJldHVybiAiVHlwZVpvb21P
dXQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWI6IHJldHVybiAiVHlwZUdyYWIi
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWJiaW5nOiByZXR1cm4gIlR5cGVHcmFi
YmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ3VzdG9tOiByZXR1cm4gIlR5cGVD
dXN0b20iOworICAgIH0KKworICAgIHJldHVybiAiVU5LTk9XTiI7Cit9CisKK3ZvaWQgRFJUVGVz
dFJ1bm5lcjo6Z2V0Q3VycmVudEN1cnNvckluZm8oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCogcmVzdWx0KQoreworICAgIC8vIFdlIGNvdWxkIGNyZWF0ZSBhIGZ1bGwgYmxvd24g
b2JqZWN0IGhlcmUgYnV0IHRoYXQgbG9va3MgbGlrZSBhIGxvdCBtb3JlIHdvcmsgYW5kCisgICAg
Ly8gcHJvYmFibHkgbm90IHdvcnRoIHRoZSBlZmZvcnQuIFNvLCBzaW1pbGFyIHRvIG90aGVyIHBs
YWNlcyBkZXRhaWxpbmcgd2l0aAorICAgIC8vIGNvbXBsZXggZGF0YSwgd2UnbGwganVzdCBzdXBw
bHkgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBpbiB0ZXN0IG91dHB1dC4KKworICAgIFdlYkN1
cnNvckluZm8gY3Vyc29yID0gbV9zaGVsbC0+d2ViVmlld0hvc3QoKS0+Z2V0Q3VycmVudEN1cnNv
ckluZm8oKTsKKyAgICBvc3RyaW5nc3RyZWFtIHNzOworICAgIHNzIDw8ICJ0eXBlPSIgPDwgY3Vy
c29yVHlwZVRvU3RyaW5nKGN1cnNvci50eXBlKTsKKyAgICBzcyA8PCAiIGhvdFNwb3Q9IiA8PCBj
dXJzb3IuaG90U3BvdC54IDw8ICIsIiA8PCBjdXJzb3IuaG90U3BvdC55OworICAgIHNzIDw8ICIg
Y3VzdG9tSW1hZ2U9IjsKKyAgICBpZiAoY3Vyc29yLmN1c3RvbUltYWdlLmlzTnVsbCgpKQorICAg
ICAgICBzcyA8PCAibnVsbCI7CisgICAgZWxzZSB7CisgICAgICAgIFdlYlNpemUgc2l6ZSA9IGN1
cnNvci5jdXN0b21JbWFnZS5zaXplKCk7CisgICAgICAgIHNzIDw8IHNpemUud2lkdGggPDwgIngi
IDw8IHNpemUuaGVpZ2h0OworICAgIH0KKworICAgIHJlc3VsdC0+c2V0KHNzLnN0cigpKTsKK30K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAppbmRleCBl
YzQ3NzhmZDVjNDZmOGYzMjg3NThhMTU3YTMyODIxNDU0YjViMjIxLi5lYjJiYzg3MjlmODhiMDE2
MjQxZTEyN2I1NjRiMWZmMTM3MzU5NmE5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJUVGVzdFJ1bm5lci5oCkBAIC00MzksNiArNDM5LDkgQEAgcHVibGljOgogICAgIC8v
IGxlbmd0aCB0byByZXRyaWV2ZS4KICAgICB2b2lkIHRleHRTdXJyb3VuZGluZ05vZGUoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCisgICAgLy8gUmV0dXJucyBhIHN0cmlu
ZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IG1vdXNlIGN1cnNvci4KKyAgICB2
b2lkIGdldEN1cnJlbnRDdXJzb3JJbmZvKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlh
bnQqKTsKKwogcHVibGljOgogICAgIC8vIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgbm90IGV4
cG9zZWQgdG8gSmF2YVNjcmlwdC4KICAgICB2b2lkIHNldFdvcmtRdWV1ZUZyb3plbihib29sIGZy
b3plbikgeyBtX3dvcmtRdWV1ZS5zZXRGcm96ZW4oZnJvemVuKTsgfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGQzNzYyMmRiOTk1ODhmNzkx
NWIyNDRlZjljYjdkMDVlMjEyZmM3MzEuLmU5MTNkNDc0ZDc4MDk0OTQyNGRkMWM1ZmM0NThhOTY1
YTk2Mjc4MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKQEAgLTkzMiw4ICs5MzIsNiBAQCB2b2lkIFdlYlZpZXdIb3N0OjpjbG9zZVdpZGdldFNv
b24oKQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VDdXJzb3IoY29uc3QgV2ViQ3Vyc29y
SW5mbyYgY3Vyc29ySW5mbykKIHsKLSAgICBpZiAoIWhhc1dpbmRvdygpKQotICAgICAgICByZXR1
cm47CiAgICAgbV9jdXJyZW50Q3Vyc29yID0gY3Vyc29ySW5mbzsKIH0KIApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggOWFmNDdlMDc4Zjc2YWYwN2M0
NDAwODc2ZmE5N2FiOWE4NTRkOTUyNy4uYzZhNzM0MDBjM2NmMmIwYmJmYWMwZWEyZWFjNTdkZWQ3
NDAwM2M2NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CkBAIC0xMjgsNiArMTI4LDggQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2b2lkIHNl
dFBvaW50ZXJMb2NrV2lsbEZhaWxTeW5jaHJvbm91c2x5KCkgeyBtX3BvaW50ZXJMb2NrUGxhbm5l
ZFJlc3VsdCA9IFBvaW50ZXJMb2NrV2lsbEZhaWxTeW5jOyB9CiAjZW5kaWYKIAorICAgIFdlYktp
dDo6V2ViQ3Vyc29ySW5mbyBnZXRDdXJyZW50Q3Vyc29ySW5mbygpIHsgcmV0dXJuIG1fY3VycmVu
dEN1cnNvcjsgfQorCiAgICAgLy8gV2ViVGVzdERlbGVnYXRlLgogICAgIHZpcnR1YWwgV2ViS2l0
OjpXZWJDb250ZXh0TWVudURhdGEqIGxhc3RDb250ZXh0TWVudURhdGEoKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJDb250ZXh0TWVudURhdGEoKSBPVkVSUklERTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1MzMzYWI0MmZkOGViYTE4NGQ3NTlkYWUwMjY1OThlMTY1ZjRhNDI4Li4xNTk5ZjBkZWEw
ZDRjYzg2MGYzOTQ1MDdhMWQ2YzNiN2Q2YjlhYWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMTAtMjYgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5v
IHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBzaW1wbGUgdGVzdCBjb3ZlcmluZyB0aGUg
YmFzaWMgc2NlbmFyaW9zIG9mIGNoYW5naW5nIGEgbW91c2UKKyAgICAgICAgY3Vyc29yIHdpdGgg
Q1NTLiAgVGhpcyBpbmNsdWRlcyBtb3N0IG9mIHRoZSBjYXNlcyBjdXJyZW50bHkgY292ZXJlZAor
ICAgICAgICBieSBNYW51YWxUZXN0cy8qY3Vyc29yKi4KKworICAgICAgICAqIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0y
NSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0g
VW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgZmFpbGluZyB0ZXN0cyB0byBzcGVlZHVwIHRlc3Rp
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYzRlYjRjYjk3YmQ1MzliOTRiOWIxMjZiMTVhYTcwODQ5YTY5YTEy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFy
ZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZB
SUwgVGhpcyB0ZXN0IHJlcXVpcmVzIHN1cHBvcnQgZm9yIGR1bXBDdXJyZW50Q3Vyc29ySW5mbwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExMjFmNTAwYmFh
MTY3NmI2ZWIxZGU4Yjc1NzQ2ZTBjNWMyYjYzNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBo
cmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEw
MDU1MDwvYT48L3A+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisg
ICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMCIg
aGVpZ2h0PSIwIj4KKyAgPGRlZnM+CisgICAgPGN1cnNvciBpZD0iZ3JlZW5ib3giIHhsaW5rOmhy
ZWY9InJlc291cmNlcy9ncmVlbmJveC5wbmciIHg9IjAiIHk9IjAiLz4KKyAgPC9kZWZzPgorPC9z
dmc+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBj
dXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBkZWZhdWx0Jz5FeHBsaWNpdCBkZWZh
dWx0PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogYXV0byc+RXhwbGljaXQgYXV0bzwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IG5vbmUnPk5vIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHBvaW50ZXInPlBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiAtd2Via2l0LWdyYWJiaW5nJz4td2Via2l0LWdyYWJiaW5nPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpLCBoYW5kJz5FeGlzdGluZyAyNXgy
NSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcp
LCBwb2ludGVyJz5JbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAg
PGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgdXJsKHJlc291cmNlcy9n
cmVlbmJveC5wbmcpLCBwb2ludGVyJz5JbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1h
Z2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBu
ZykgMCAwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDIw
IDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCk8L2Rp
dj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgLTEg
LTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKC0xLC0xKTwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAzMCAz
MCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0
ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL29ubG9h
ZC1pbWFnZS5wbmcpLCBwb2ludGVyJz5PdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8g
cG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybCgjZ3JlZW5ib3gpLCBwb2lu
dGVyJz5TVkcgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKG1vdXNlLWN1
cnNvci5odG1sKSwgdXJsKHVua25vd24tc2NoZW1lOmN1cnNvci5wbmcpLCBwb2ludGVyJz5NdWx0
aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogdXJsKCNub25leGlzdGVudCksIHBvaW50ZXInPk5vbmV4aXN0ZW50
IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+ZGl2PgorICA8ZGl2Pjxh
IGhyZWY9JyMnPkEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yPC9hPjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHdhaXQnPjxhIGhyZWY9JyMnPkxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBv
dmVycmlkaW5nIHdhaXQ8L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGRp
diBzdHlsZT0nY3Vyc29yOiBkb2VzbnRleGlzdCc+V2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5v
dCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlPC9kaXY+PC9kaXY+Cis8L2Rpdj4K
Kzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVm
dFRvTG9hZCA9IDA7Cit2YXIgaGFzQ3Vyc29ySW5mbyA9IGZhbHNlOworCitmdW5jdGlvbiBvbklt
YWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5p
c3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8g
bm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICciOiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAg
ICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09
IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQor
ICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhw
ZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsKKyAgICB0ZXN0
RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdl
OiAnICsgZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIC8v
IENhbid0IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdpdGhvdXQgY3Vyc29yIGluZm8KKyAgICBp
ZiAoIWhhc0N1cnNvckluZm8pCisgICAgICAgIHJldHVybjsKKworICAgIHZhciBub2Rlc1RvVGVz
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRhaW5lciA+IGRpdicpOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3QubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgdmFyIG5vZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTog
JyArIG5vZGUudGV4dENvbnRlbnQpOworICAgICAgICBpZiAoaGFzQ3Vyc29ySW5mbykgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAz
KTsKKyAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1cmVkIGRhdGEg
d2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisgICAgICAgIC8v
IHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1
dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0
IHRoYXQgaXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCisgICAgICAgIGlmIChoYXNDdXJzb3JJ
bmZvKSBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB0ZXN0UnVubmVyLmdldEN1cnJlbnRDdXJzb3JJ
bmZvKCkpOworICAgICAgICBkZWJ1ZygnJyk7ICAKKyAgICB9CisgICAgCisgICAgLy8gVGhpcyB0
ZXh0IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0IG91dHB1dCAtIGhpZGUgaXQKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25v
bmUnOworICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0
aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAoIXdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBEdW1w
UmVuZGVyVHJlZScpOworfSBlbHNlIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiAhd2luZG93LnRl
c3RSdW5uZXIuZ2V0Q3VycmVudEN1cnNvckluZm8pIHsKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgc3VwcG9ydCBmb3IgZHVtcEN1cnJlbnRDdXJzb3JJbmZvJyk7Cit9IGVsc2Ug
eworICAgIGhhc0N1cnNvckluZm8gPSB0cnVlOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3
YWl0IGZvciBlYWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGlu
ZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBj
dXJzb3JzIC0gZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsg
dXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4aXN0
LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3Iu
cG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJy
b3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVycm9yOiB0cnVlIH0gXTsK
K2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9IDA7
IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgaW1nID0gbmV3IEltYWdl
KCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAgICBp
bWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhwZWN0
ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXhw
ZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcuc3Jj
ID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlkYjA4NmQyMjY1ZDkwMzMzOTYwM2IwYzA1ODg2MTMwZWNkM2IzNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3Jz
IGFyZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0J1ZyAxMDA1NTAKKworIAorVEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKwor
VEVTVCBDQVNFOiBFeHBsaWNpdCBkZWZhdWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9pbnRl
ciBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0
bworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51
bGwKKworVEVTVCBDQVNFOiBObyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVOb25lIGhv
dFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBQb2ludGVyCitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1Qg
Q0FTRTogLXdlYmtpdC1ncmFiYmluZworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUdyYWJiaW5nIGhv
dFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBp
bWFnZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PS0xLC0xIGN1c3RvbUlt
YWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2lu
dGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1u
dWxsCisKK1RFU1QgQ0FTRTogSW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4
MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPTI1eDI1
CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgY3VzdG9tSW1hZ2U9MjV4
MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSkK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0y
NXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBp
bWFnZSBhdCAoMzAsMzApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MzAs
MzAgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBPdmVyIGxhcmdlIGltYWdlIHdpdGgg
ZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0w
LDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZv
OiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0yNXgyNQorCitURVNU
IENBU0U6IE11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwK
KworVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9
bnVsbAorCitURVNUIENBU0U6IEEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FT
RTogTGluayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdAorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6
IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJz
b3IgcnVsZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAgY3VzdG9tSW1h
Z2U9bnVsbAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171485</attachid>
            <date>2012-10-30 11:08:59 -0700</date>
            <delta_ts>2012-11-05 09:00:01 -0800</delta_ts>
            <desc>Fix mac failure</desc>
            <filename>bug-100550-20121030140723.patch</filename>
            <type>text/plain</type>
            <size>17936</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjExMDEyOGIyOTExZTIxNDI4MDljMjIzZmMwMDk1MDI3
YTBkNjVkZC4uZmJlYzBhNjBjMWE3NmYzYTc1ODFjOTQzYjNhNGU4MmRmMWEyZThhYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTEwLTI2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0byBsZXQgTGF5b3V0
VGVzdHMgZ2V0IGRldGFpbHMgb24gdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChE
UlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKGN1cnNvclR5cGVUb1N0cmlu
Zyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAo
RFJUVGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZENoYW5nZUN1cnNvcik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0OjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAgICAgIChXZWJWaWV3SG9zdCk6
CisKIDIwMTItMTAtMjUgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBteSBjb250YWN0IGluZm8uCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4
IDIwNWNlYzBiNTVjZWNmZGY3NmZkNzY0NGFmM2FjNjZiZjQzZWU5NTUuLmVhZTc0MGMxZGI4N2Zk
ODE2MzM1M2YxNDc2ZTgyMzI3OTdjMzk1NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
V2ViQW5pbWF0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYkJpbmRpbmdzLmgiCiAjaW5j
bHVkZSAiV2ViQ29uc29sZU1lc3NhZ2UuaCIKKyNpbmNsdWRlICJXZWJDdXJzb3JJbmZvLmgiCiAj
aW5jbHVkZSAiV2ViRGV2aWNlT3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJXZWJEZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgpAQCAtMjgwLDYg
KzI4MSw3IEBAIERSVFRlc3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKiBzaGVsbCkK
ICAgICBiaW5kTWV0aG9kKCJzZWxlY3Rpb25Bc01hcmt1cCIsICZEUlRUZXN0UnVubmVyOjpzZWxl
Y3Rpb25Bc01hcmt1cCk7CiAgICAgYmluZE1ldGhvZCgic2V0SGFzQ3VzdG9tRnVsbFNjcmVlbkJl
aGF2aW9yIiwgJkRSVFRlc3RSdW5uZXI6OnNldEhhc0N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcik7
CiAgICAgYmluZE1ldGhvZCgidGV4dFN1cnJvdW5kaW5nTm9kZSIsICZEUlRUZXN0UnVubmVyOjp0
ZXh0U3Vycm91bmRpbmdOb2RlKTsKKyAgICBiaW5kTWV0aG9kKCJnZXRDdXJyZW50Q3Vyc29ySW5m
byIsICZEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk7CiAKICAgICAvLyBUaGUg
ZmFsbGJhY2sgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIHVua25vd24gbWV0aG9kIGlzIGludm9r
ZWQuCiAgICAgYmluZEZhbGxiYWNrTWV0aG9kKCZEUlRUZXN0UnVubmVyOjpmYWxsYmFja01ldGhv
ZCk7CkBAIC0yMjg5LDMgKzIyOTEsNzYgQEAgdm9pZCBEUlRUZXN0UnVubmVyOjp0ZXh0U3Vycm91
bmRpbmdOb2RlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXIKIAogICAg
IHJlc3VsdC0+c2V0KHN1cnJvdW5kaW5nVGV4dC50ZXh0Q29udGVudCgpLnV0ZjgoKSk7CiB9CisK
K3N0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoV2ViQ3Vyc29ySW5mbzo6VHlw
ZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlwZSkgeworICAgIGNhc2UgV2Vi
Q3Vyc29ySW5mbzo6VHlwZVBvaW50ZXI6IHJldHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZUNyb3NzOiByZXR1cm4gIlR5cGVDcm9zcyI7CisgICAgY2FzZSBX
ZWJDdXJzb3JJbmZvOjpUeXBlSGFuZDogcmV0dXJuICJUeXBlSGFuZCI7CisgICAgY2FzZSBXZWJD
dXJzb3JJbmZvOjpUeXBlSUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVXYWl0OiByZXR1cm4gIlR5cGVXYWl0IjsKKyAgICBjYXNlIFdlYkN1cnNv
ckluZm86OlR5cGVIZWxwOiByZXR1cm4gIlR5cGVIZWxwIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdl
YkN1cnNvckluZm86OlR5cGVOb3J0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RS
ZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJ
bmZvOjpUeXBlU291dGhSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoUmVzaXplIjsKKyAgICBjYXNl
IFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoRWFz
dFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlw
ZVdlc3RSZXNpemU6IHJldHVybiAiVHlwZVdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoU291dGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoU291dGhSZXNpemUi
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5
cGVFYXN0V2VzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0
U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZTogcmV0
dXJuICJUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlUm93UmVzaXplOiByZXR1cm4gIlR5cGVSb3dSZXNpemUiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU1pZGRsZVBhbm5pbmc6IHJldHVybiAiVHlwZU1p
ZGRsZVBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RQYW5uaW5nOiBy
ZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9y
dGhQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoRWFzdFBhbm5pbmci
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAi
VHlwZU5vcnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRo
UGFubmluZzogcmV0dXJuICJUeXBlU291dGhQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RQYW5uaW5nIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5
cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVXZXN0UGFu
bmluZzogcmV0dXJuICJUeXBlV2VzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6
VHlwZU1vdmU6IHJldHVybiAiVHlwZU1vdmUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlw
ZVZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVDZWxsOiByZXR1cm4gIlR5cGVDZWxsIjsKKyAgICBjYXNlIFdlYkN1cnNv
ckluZm86OlR5cGVDb250ZXh0TWVudTogcmV0dXJuICJUeXBlQ29udGV4dE1lbnUiOworICAgIGNh
c2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlUHJvZ3Jlc3M6IHJldHVybiAiVHlwZVByb2dyZXNzIjsKKyAg
ICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb0Ryb3A6IHJldHVybiAiVHlwZU5vRHJvcCI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAg
Y2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9uZTogcmV0dXJuICJUeXBlTm9uZSI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm90QWxsb3dlZDogcmV0dXJuICJUeXBlTm90QWxsb3dlZCI7
CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4i
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21PdXQ6IHJldHVybiAiVHlwZVpvb21P
dXQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWI6IHJldHVybiAiVHlwZUdyYWIi
OworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWJiaW5nOiByZXR1cm4gIlR5cGVHcmFi
YmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ3VzdG9tOiByZXR1cm4gIlR5cGVD
dXN0b20iOworICAgIH0KKworICAgIHJldHVybiAiVU5LTk9XTiI7Cit9CisKK3ZvaWQgRFJUVGVz
dFJ1bm5lcjo6Z2V0Q3VycmVudEN1cnNvckluZm8oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCogcmVzdWx0KQoreworICAgIC8vIFdlIGNvdWxkIGNyZWF0ZSBhIGZ1bGwgYmxvd24g
b2JqZWN0IGhlcmUgYnV0IHRoYXQgbG9va3MgbGlrZSBhIGxvdCBtb3JlIHdvcmsgYW5kCisgICAg
Ly8gcHJvYmFibHkgbm90IHdvcnRoIHRoZSBlZmZvcnQuIFNvLCBzaW1pbGFyIHRvIG90aGVyIHBs
YWNlcyBkZXRhaWxpbmcgd2l0aAorICAgIC8vIGNvbXBsZXggZGF0YSwgd2UnbGwganVzdCBzdXBw
bHkgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBpbiB0ZXN0IG91dHB1dC4KKworICAgIFdlYkN1
cnNvckluZm8gY3Vyc29yID0gbV9zaGVsbC0+d2ViVmlld0hvc3QoKS0+Z2V0Q3VycmVudEN1cnNv
ckluZm8oKTsKKyAgICBvc3RyaW5nc3RyZWFtIHNzOworICAgIHNzIDw8ICJ0eXBlPSIgPDwgY3Vy
c29yVHlwZVRvU3RyaW5nKGN1cnNvci50eXBlKTsKKyAgICBzcyA8PCAiIGhvdFNwb3Q9IiA8PCBj
dXJzb3IuaG90U3BvdC54IDw8ICIsIiA8PCBjdXJzb3IuaG90U3BvdC55OworICAgIHNzIDw8ICIg
Y3VzdG9tSW1hZ2U9IjsKKyAgICBpZiAoY3Vyc29yLmN1c3RvbUltYWdlLmlzTnVsbCgpKQorICAg
ICAgICBzcyA8PCAibnVsbCI7CisgICAgZWxzZSB7CisgICAgICAgIFdlYlNpemUgc2l6ZSA9IGN1
cnNvci5jdXN0b21JbWFnZS5zaXplKCk7CisgICAgICAgIHNzIDw8IHNpemUud2lkdGggPDwgIngi
IDw8IHNpemUuaGVpZ2h0OworICAgIH0KKworICAgIHJlc3VsdC0+c2V0KHNzLnN0cigpKTsKK30K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAppbmRleCBl
YzQ3NzhmZDVjNDZmOGYzMjg3NThhMTU3YTMyODIxNDU0YjViMjIxLi5lYjJiYzg3MjlmODhiMDE2
MjQxZTEyN2I1NjRiMWZmMTM3MzU5NmE5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJUVGVzdFJ1bm5lci5oCkBAIC00MzksNiArNDM5LDkgQEAgcHVibGljOgogICAgIC8v
IGxlbmd0aCB0byByZXRyaWV2ZS4KICAgICB2b2lkIHRleHRTdXJyb3VuZGluZ05vZGUoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCisgICAgLy8gUmV0dXJucyBhIHN0cmlu
ZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IG1vdXNlIGN1cnNvci4KKyAgICB2
b2lkIGdldEN1cnJlbnRDdXJzb3JJbmZvKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlh
bnQqKTsKKwogcHVibGljOgogICAgIC8vIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgbm90IGV4
cG9zZWQgdG8gSmF2YVNjcmlwdC4KICAgICB2b2lkIHNldFdvcmtRdWV1ZUZyb3plbihib29sIGZy
b3plbikgeyBtX3dvcmtRdWV1ZS5zZXRGcm96ZW4oZnJvemVuKTsgfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGQzNzYyMmRiOTk1ODhmNzkx
NWIyNDRlZjljYjdkMDVlMjEyZmM3MzEuLmU5MTNkNDc0ZDc4MDk0OTQyNGRkMWM1ZmM0NThhOTY1
YTk2Mjc4MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKQEAgLTkzMiw4ICs5MzIsNiBAQCB2b2lkIFdlYlZpZXdIb3N0OjpjbG9zZVdpZGdldFNv
b24oKQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VDdXJzb3IoY29uc3QgV2ViQ3Vyc29y
SW5mbyYgY3Vyc29ySW5mbykKIHsKLSAgICBpZiAoIWhhc1dpbmRvdygpKQotICAgICAgICByZXR1
cm47CiAgICAgbV9jdXJyZW50Q3Vyc29yID0gY3Vyc29ySW5mbzsKIH0KIApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggOWFmNDdlMDc4Zjc2YWYwN2M0
NDAwODc2ZmE5N2FiOWE4NTRkOTUyNy4uYzZhNzM0MDBjM2NmMmIwYmJmYWMwZWEyZWFjNTdkZWQ3
NDAwM2M2NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CkBAIC0xMjgsNiArMTI4LDggQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2b2lkIHNl
dFBvaW50ZXJMb2NrV2lsbEZhaWxTeW5jaHJvbm91c2x5KCkgeyBtX3BvaW50ZXJMb2NrUGxhbm5l
ZFJlc3VsdCA9IFBvaW50ZXJMb2NrV2lsbEZhaWxTeW5jOyB9CiAjZW5kaWYKIAorICAgIFdlYktp
dDo6V2ViQ3Vyc29ySW5mbyBnZXRDdXJyZW50Q3Vyc29ySW5mbygpIHsgcmV0dXJuIG1fY3VycmVu
dEN1cnNvcjsgfQorCiAgICAgLy8gV2ViVGVzdERlbGVnYXRlLgogICAgIHZpcnR1YWwgV2ViS2l0
OjpXZWJDb250ZXh0TWVudURhdGEqIGxhc3RDb250ZXh0TWVudURhdGEoKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJDb250ZXh0TWVudURhdGEoKSBPVkVSUklERTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1MzMzYWI0MmZkOGViYTE4NGQ3NTlkYWUwMjY1OThlMTY1ZjRhNDI4Li4xNTk5ZjBkZWEw
ZDRjYzg2MGYzOTQ1MDdhMWQ2YzNiN2Q2YjlhYWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMTAtMjYgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5v
IHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBzaW1wbGUgdGVzdCBjb3ZlcmluZyB0aGUg
YmFzaWMgc2NlbmFyaW9zIG9mIGNoYW5naW5nIGEgbW91c2UKKyAgICAgICAgY3Vyc29yIHdpdGgg
Q1NTLiAgVGhpcyBpbmNsdWRlcyBtb3N0IG9mIHRoZSBjYXNlcyBjdXJyZW50bHkgY292ZXJlZAor
ICAgICAgICBieSBNYW51YWxUZXN0cy8qY3Vyc29yKi4KKworICAgICAgICAqIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0y
NSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0g
VW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgZmFpbGluZyB0ZXN0cyB0byBzcGVlZHVwIHRlc3Rp
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYzRlYjRjYjk3YmQ1MzliOTRiOWIxMjZiMTVhYTcwODQ5YTY5YTEy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFy
ZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZB
SUwgVGhpcyB0ZXN0IHJlcXVpcmVzIHN1cHBvcnQgZm9yIGR1bXBDdXJyZW50Q3Vyc29ySW5mbwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZjZhOGI2YjE0
N2FjYWE0NDhjYzgyNzk2NGNhMTgzYWVmYzNkNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApAQCAtMCwwICsxLDEyMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBo
cmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEw
MDU1MDwvYT48L3A+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisg
ICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMCIg
aGVpZ2h0PSIwIj4KKyAgPGRlZnM+CisgICAgPGN1cnNvciBpZD0iZ3JlZW5ib3giIHhsaW5rOmhy
ZWY9InJlc291cmNlcy9ncmVlbmJveC5wbmciIHg9IjAiIHk9IjAiLz4KKyAgPC9kZWZzPgorPC9z
dmc+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBj
dXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBkZWZhdWx0Jz5FeHBsaWNpdCBkZWZh
dWx0PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogYXV0byc+RXhwbGljaXQgYXV0bzwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IG5vbmUnPk5vIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHBvaW50ZXInPlBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiAtd2Via2l0LWdyYWJiaW5nJz4td2Via2l0LWdyYWJiaW5nPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpLCBoYW5kJz5FeGlzdGluZyAyNXgy
NSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcp
LCBwb2ludGVyJz5JbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAg
PGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgdXJsKHJlc291cmNlcy9n
cmVlbmJveC5wbmcpLCBwb2ludGVyJz5JbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1h
Z2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBu
ZykgMCAwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDIw
IDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCk8L2Rp
dj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgLTEg
LTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKC0xLC0xKTwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAzMCAz
MCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0
ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL29ubG9h
ZC1pbWFnZS5wbmcpLCBwb2ludGVyJz5PdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8g
cG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybCgjZ3JlZW5ib3gpLCBwb2lu
dGVyJz5TVkcgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKG1vdXNlLWN1
cnNvci5odG1sKSwgdXJsKHVua25vd24tc2NoZW1lOmN1cnNvci5wbmcpLCBwb2ludGVyJz5NdWx0
aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogdXJsKCNub25leGlzdGVudCksIHBvaW50ZXInPk5vbmV4aXN0ZW50
IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+ZGl2PgorICA8ZGl2Pjxh
IGhyZWY9JyMnPkEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yPC9hPjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHdhaXQnPjxhIGhyZWY9JyMnPkxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBv
dmVycmlkaW5nIHdhaXQ8L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGRp
diBzdHlsZT0nY3Vyc29yOiBkb2VzbnRleGlzdCc+V2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5v
dCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlPC9kaXY+PC9kaXY+Cis8L2Rpdj4K
Kzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVm
dFRvTG9hZCA9IDA7Cit2YXIgaGFzQ3Vyc29ySW5mbyA9IGZhbHNlOworCitmdW5jdGlvbiBvbklt
YWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5p
c3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8g
bm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICciOiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAg
ICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09
IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQor
ICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhw
ZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsKKyAgICB0ZXN0
RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdl
OiAnICsgZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIC8v
IENhbid0IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdpdGhvdXQgY3Vyc29yIGluZm8KKyAgICBp
ZiAoaGFzQ3Vyc29ySW5mbykgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFy
IG5vZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcg
KyBub2RlLnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIGlmIChoYXNDdXJzb3JJbmZvKSBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRvcCAr
IDMpOworICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1cmVk
IGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisgICAg
ICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1bmRhbnQgd2l0aCByZWx5aW5nIG9uIHRoZSBleHBl
Y3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVyIHRvIGp1c3QgZHVtcAorICAgICAgICAgICAgLy8g
aXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRjaGVzIHRoZSBkZXNjcmlwdGlvbi4KKyAgICAgICAg
ICAgIGlmIChoYXNDdXJzb3JJbmZvKSBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB0ZXN0UnVubmVy
LmdldEN1cnJlbnRDdXJzb3JJbmZvKCkpOworICAgICAgICAgICAgZGVidWcoJycpOworICAgICAg
ICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRw
dXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRh
aW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpT
VGVzdCgpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFw
cGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRl
c3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZScpOworfSBlbHNlIGlm
ICh3aW5kb3cudGVzdFJ1bm5lciAmJiAhd2luZG93LnRlc3RSdW5uZXIuZ2V0Q3VycmVudEN1cnNv
ckluZm8pIHsKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgc3VwcG9ydCBmb3Ig
ZHVtcEN1cnJlbnRDdXJzb3JJbmZvJyk7Cit9IGVsc2UgeworICAgIGhhc0N1cnNvckluZm8gPSB0
cnVlOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBlYWNoIGltYWdlIHRvIGxv
YWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhp
cyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0gZWcuIG5vIGtub3duIHNp
emUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94
LnBuZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisg
ICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAg
ICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDog
JyNub25leGlzdGVudCcsIGVycm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFn
ZXNUb0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3Ro
OyBpKyspIHsKKyAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9y
ID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAg
aW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6
IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsK
K30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYjA4NmQyMjY1ZDkwMzMzOTYwM2Iw
YzA1ODg2MTMwZWNkM2IzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNzIgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDA1NTAKKworIAorVEVTVCBD
QVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFt
IGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBFeHBsaWNpdCBkZWZh
dWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9pbnRlciBob3RTcG90PTAsMCBjdXN0b21JbWFn
ZT1udWxsCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0bworQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUlCZWFtIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBObyBjdXJz
b3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVOb25lIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51
bGwKKworVEVTVCBDQVNFOiBQb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RT
cG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogLXdlYmtpdC1ncmFiYmluZwor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUdyYWJiaW5nIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51
bGwKKworVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUN1c3RvbSBob3RTcG90PS0xLC0xIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTog
SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogSW52YWxp
ZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3
aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0
aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9MjAsMTAgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3
aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVD
dXN0b20gaG90U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MzAsMzAgY3VzdG9tSW1hZ2U9MjV4MjUKKwor
VEVTVCBDQVNFOiBPdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitU
RVNUIENBU0U6IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3Bv
dD0tMSwtMSBjdXN0b21JbWFnZT0yNXgyNQorCitURVNUIENBU0U6IE11bHRpcGxlIGludmFsaWQg
Y3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVI
YW5kIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBOb25leGlzdGVu
dCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IEEgbGlu
ayB3aXRoIGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90
PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogTGluayB3aXRoIGRlZmF1bHQgY3Vy
c29yIG92ZXJyaWRpbmcgd2FpdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0w
LDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3Vs
ZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172347</attachid>
            <date>2012-11-05 09:00:04 -0800</date>
            <delta_ts>2012-11-05 13:57:20 -0800</delta_ts>
            <desc>Explicitly expect failure on non-chromium platforms for now</desc>
            <filename>bug-100550-20121105115818.patch</filename>
            <type>text/plain</type>
            <size>20354</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDkwYTcxZDQxYzI1Zjk3NDAxZDhiZjZiMDhhYzVmZDZk
ZWIyNmQ2Zi4uNWRjZjhlOGZjOGQ5YjliMzM2YmRiZmIwYmM3ZjM2YzkwODQxMWEzMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTExLTA1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0byBsZXQgTGF5b3V0
VGVzdHMgZ2V0IGRldGFpbHMgb24gdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChE
UlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKGN1cnNvclR5cGVUb1N0cmlu
Zyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAo
RFJUVGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZENoYW5nZUN1cnNvcik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0OjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAgICAgIChXZWJWaWV3SG9zdCk6
CisKIDIwMTItMTAtMzEgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0Bp
bnRlbC5jb20+CiAKICAgICAgICAgW1dUUl0gV2ViS2l0VGVzdFJ1bm5lciBpcyBub3QgY2xlYW5p
bmcgdXAgdGhlIGljb24gZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJUVGVzdFJ1bm5lci5jcHAKaW5kZXggZGFmYWZhMTgxZWRiNmI2M2IyNGViY2JlNGU0ZWEy
YTFlZWQ0ZDlhMC4uZWIzNzRjZTliMmQwMjY5Y2JmNTMxYzljMmM5MmJlYjlmMGJiNjAzYSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAKQEAg
LTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJXZWJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiV2ViQmluZGluZ3MuaCIKICNpbmNsdWRlICJXZWJDb25zb2xlTWVzc2FnZS5oIgorI2lu
Y2x1ZGUgIldlYkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJXZWJEZXZpY2VPcmllbnRhdGlvbi5o
IgogI2luY2x1ZGUgIldlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIgogI2luY2x1ZGUg
IldlYkRvY3VtZW50LmgiCkBAIC0yODEsNiArMjgyLDcgQEAgRFJUVGVzdFJ1bm5lcjo6RFJUVGVz
dFJ1bm5lcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoInNlbGVjdGlvbkFzTWFy
a3VwIiwgJkRSVFRlc3RSdW5uZXI6OnNlbGVjdGlvbkFzTWFya3VwKTsKICAgICBiaW5kTWV0aG9k
KCJzZXRIYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IiLCAmRFJUVGVzdFJ1bm5lcjo6c2V0SGFz
Q3VzdG9tRnVsbFNjcmVlbkJlaGF2aW9yKTsKICAgICBiaW5kTWV0aG9kKCJ0ZXh0U3Vycm91bmRp
bmdOb2RlIiwgJkRSVFRlc3RSdW5uZXI6OnRleHRTdXJyb3VuZGluZ05vZGUpOworICAgIGJpbmRN
ZXRob2QoImdldEN1cnJlbnRDdXJzb3JJbmZvIiwgJkRSVFRlc3RSdW5uZXI6OmdldEN1cnJlbnRD
dXJzb3JJbmZvKTsKIAogICAgIC8vIFRoZSBmYWxsYmFjayBtZXRob2QgaXMgY2FsbGVkIHdoZW4g
YW4gdW5rbm93biBtZXRob2QgaXMgaW52b2tlZC4KICAgICBiaW5kRmFsbGJhY2tNZXRob2QoJkRS
VFRlc3RSdW5uZXI6OmZhbGxiYWNrTWV0aG9kKTsKQEAgLTIzMDAsMyArMjMwMiw3NiBAQCB2b2lk
IERSVFRlc3RSdW5uZXI6OnRleHRTdXJyb3VuZGluZ05vZGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiBhcmd1bWVudHMsIENwcFZhcgogCiAgICAgcmVzdWx0LT5zZXQoc3Vycm91bmRpbmdUZXh0LnRl
eHRDb250ZW50KCkudXRmOCgpKTsKIH0KKworc3RhdGljIGNvbnN0IGNoYXIqIGN1cnNvclR5cGVU
b1N0cmluZyhXZWJDdXJzb3JJbmZvOjpUeXBlIGN1cnNvclR5cGUpCit7CisgICAgc3dpdGNoIChj
dXJzb3JUeXBlKSB7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlUG9pbnRlcjogcmV0dXJu
ICJUeXBlUG9pbnRlciI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3M6IHJldHVy
biAiVHlwZUNyb3NzIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVIYW5kOiByZXR1cm4g
IlR5cGVIYW5kIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVJQmVhbTogcmV0dXJuICJU
eXBlSUJlYW0iOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVdhaXQ6IHJldHVybiAiVHlw
ZVdhaXQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUhlbHA6IHJldHVybiAiVHlwZUhl
bHAiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RSZXNpemU6IHJldHVybiAiVHlw
ZUVhc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUmVzaXplOiBy
ZXR1cm4gIlR5cGVOb3J0aFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9y
dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgV2Vi
Q3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhXZXN0UmVz
aXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFJlc2l6ZTogcmV0dXJuICJU
eXBlU291dGhSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoRWFzdFJl
c2l6ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVTb3V0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoV2VzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlV2VzdFJl
c2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhTb3V0aFJlc2l6ZTogcmV0
dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBl
RWFzdFdlc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RXZXN0UmVzaXplIjsKKyAgICBjYXNlIFdl
YkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZU5v
cnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9y
dGhXZXN0U291dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNp
emUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbHVtblJlc2l6ZTogcmV0dXJuICJU
eXBlQ29sdW1uUmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemU6
IHJldHVybiAiVHlwZVJvd1Jlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTWlk
ZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJz
b3JJbmZvOjpUeXBlRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZUVhc3RQYW5uaW5nIjsKKyAgICBj
YXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoUGFu
bmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UGFubmluZzogcmV0
dXJuICJUeXBlTm9ydGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBl
Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhXZXN0UGFubmluZyI7CisgICAgY2Fz
ZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFBhbm5p
bmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoRWFzdFBhbm5pbmc6IHJldHVy
biAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNv
dXRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoV2VzdFBhbm5pbmciOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVXZXN0UGFubmluZyI7
CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTW92ZTogcmV0dXJuICJUeXBlTW92ZSI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlVmVydGljYWxUZXh0OiByZXR1cm4gIlR5cGVWZXJ0
aWNhbFRleHQiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUNlbGw6IHJldHVybiAiVHlw
ZUNlbGwiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbnRleHRNZW51OiByZXR1cm4g
IlR5cGVDb250ZXh0TWVudSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlQWxpYXM6IHJl
dHVybiAiVHlwZUFsaWFzIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVzczog
cmV0dXJuICJUeXBlUHJvZ3Jlc3MiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vRHJv
cDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVDb3B5
OiByZXR1cm4gIlR5cGVDb3B5IjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb25lOiBy
ZXR1cm4gIlR5cGVOb25lIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3RBbGxvd2Vk
OiByZXR1cm4gIlR5cGVOb3RBbGxvd2VkIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVa
b29tSW46IHJldHVybiAiVHlwZVpvb21JbiI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBl
Wm9vbU91dDogcmV0dXJuICJUeXBlWm9vbU91dCI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpU
eXBlR3JhYjogcmV0dXJuICJUeXBlR3JhYiI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBl
R3JhYmJpbmc6IHJldHVybiAiVHlwZUdyYWJiaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86
OlR5cGVDdXN0b206IHJldHVybiAiVHlwZUN1c3RvbSI7CisgICAgfQorCisgICAgcmV0dXJuICJV
TktOT1dOIjsKK30KKwordm9pZCBEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyhj
b25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgLy8gV2Ug
Y291bGQgY3JlYXRlIGEgZnVsbCBibG93biBvYmplY3QgaGVyZSBidXQgdGhhdCBsb29rcyBsaWtl
IGEgbG90IG1vcmUgd29yayBhbmQKKyAgICAvLyBwcm9iYWJseSBub3Qgd29ydGggdGhlIGVmZm9y
dC4gU28sIHNpbWlsYXIgdG8gb3RoZXIgcGxhY2VzIGRldGFpbGluZyB3aXRoCisgICAgLy8gY29t
cGxleCBkYXRhLCB3ZSdsbCBqdXN0IHN1cHBseSBhIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGlu
IHRlc3Qgb3V0cHV0LgorCisgICAgV2ViQ3Vyc29ySW5mbyBjdXJzb3IgPSBtX3NoZWxsLT53ZWJW
aWV3SG9zdCgpLT5nZXRDdXJyZW50Q3Vyc29ySW5mbygpOworICAgIG9zdHJpbmdzdHJlYW0gc3M7
CisgICAgc3MgPDwgInR5cGU9IiA8PCBjdXJzb3JUeXBlVG9TdHJpbmcoY3Vyc29yLnR5cGUpOwor
ICAgIHNzIDw8ICIgaG90U3BvdD0iIDw8IGN1cnNvci5ob3RTcG90LnggPDwgIiwiIDw8IGN1cnNv
ci5ob3RTcG90Lnk7CisgICAgc3MgPDwgIiBjdXN0b21JbWFnZT0iOworICAgIGlmIChjdXJzb3Iu
Y3VzdG9tSW1hZ2UuaXNOdWxsKCkpCisgICAgICAgIHNzIDw8ICJudWxsIjsKKyAgICBlbHNlIHsK
KyAgICAgICAgV2ViU2l6ZSBzaXplID0gY3Vyc29yLmN1c3RvbUltYWdlLnNpemUoKTsKKyAgICAg
ICAgc3MgPDwgc2l6ZS53aWR0aCA8PCAieCIgPDwgc2l6ZS5oZWlnaHQ7CisgICAgfQorCisgICAg
cmVzdWx0LT5zZXQoc3Muc3RyKCkpOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IGM0Y2I3YWNlOGJkNDQwNjEyNzFmMThhOTg3Y2JiYzkx
NGY5MmQzNTYuLjY2MjE5ZGNiMjk2OTc0YjE0ZTY2MWU4NGJlZTdlMTY3OTU3M2ZiNWMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAgLTQ1Niw2
ICs0NTYsOSBAQCBwdWJsaWM6CiAgICAgLy8gbGVuZ3RoIHRvIHJldHJpZXZlLgogICAgIHZvaWQg
dGV4dFN1cnJvdW5kaW5nTm9kZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7
CiAKKyAgICAvLyBSZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1
cnJlbnQgbW91c2UgY3Vyc29yLgorICAgIHZvaWQgZ2V0Q3VycmVudEN1cnNvckluZm8oY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworCiBwdWJsaWM6CiAgICAgLy8gVGhlIGZv
bGxvd2luZyBtZXRob2RzIGFyZSBub3QgZXhwb3NlZCB0byBKYXZhU2NyaXB0LgogICAgIHZvaWQg
c2V0V29ya1F1ZXVlRnJvemVuKGJvb2wgZnJvemVuKSB7IG1fd29ya1F1ZXVlLnNldEZyb3plbihm
cm96ZW4pOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHAKaW5kZXggOThiODdiZjhlOTBlZWE0NzIwNDM1NWM5MjZhY2Y2ZmZjNzNhYWEwZC4uMDUyYmFm
ODdkOTZjM2QxNjA0YjJjZDliNTlmM2Q5MzUxMTEzODJmNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtOTM4LDggKzkzOCw2IEBAIHZvaWQg
V2ViVmlld0hvc3Q6OmNsb3NlV2lkZ2V0U29vbigpCiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZENo
YW5nZUN1cnNvcihjb25zdCBXZWJDdXJzb3JJbmZvJiBjdXJzb3JJbmZvKQogewotICAgIGlmICgh
aGFzV2luZG93KCkpCi0gICAgICAgIHJldHVybjsKICAgICBtX2N1cnJlbnRDdXJzb3IgPSBjdXJz
b3JJbmZvOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3Qu
aAppbmRleCA4NjAwNzE5NGIwNDM1NjcyYzAxNDk5OWQ1ODYwNTNlY2ZmNWY4YjRmLi5kM2UxNjRi
ZDhjNjZhOThlYjk3MGM2MWE0N2I4M2VkNzI2YzQxNTY3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTEyOCw2ICsxMjgsOCBAQCBjbGFzcyBXZWJW
aWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6Oldl
YkZyYW1lQ2xpZW50LAogICAgIHZvaWQgc2V0UG9pbnRlckxvY2tXaWxsRmFpbFN5bmNocm9ub3Vz
bHkoKSB7IG1fcG9pbnRlckxvY2tQbGFubmVkUmVzdWx0ID0gUG9pbnRlckxvY2tXaWxsRmFpbFN5
bmM7IH0KICNlbmRpZgogCisgICAgV2ViS2l0OjpXZWJDdXJzb3JJbmZvIGdldEN1cnJlbnRDdXJz
b3JJbmZvKCkgeyByZXR1cm4gbV9jdXJyZW50Q3Vyc29yOyB9CisKICAgICAvLyBXZWJUZXN0RGVs
ZWdhdGUuCiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYkNvbnRleHRNZW51RGF0YSogbGFzdENvbnRl
eHRNZW51RGF0YSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvbnRl
eHRNZW51RGF0YSgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQwNzIxMjMxMDlhNDlhODM3Y2NmZDVjZjI0
NjI3ZDM5MDRlMGJmNjEuLjY2MTYxNmQ2ZWQ5OWIwNDcxZWY4YzRmMzllODRhMzIyOTU3MGM5MGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMS0wNSAgUmljayBCeWVycyAgPHJieWVyc0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNv
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBt
b3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBDU1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2YgdGhl
IGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVkCisgICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJzb3Iq
LgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEy
LTEwLTMxICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZy4gUmViYXNlbGluaW5nIHRlc3RzIGFmdGVyIHIxMzMwMTkuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZGIwODZkMjI2NWQ5MDMzMzk2MDNiMGMwNTg4NjEzMGVjZDNiMzU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcyIEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBw
bGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAw
NTUwCisKKyAKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZv
OiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FT
RTogRXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVBvaW50ZXIgaG90U3Bv
dD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RF
U1QgQ0FTRTogTm8gY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlTm9uZSBob3RTcG90PTAs
MCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogUG9pbnRlcgorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IC13
ZWJraXQtZ3JhYmJpbmcKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAs
MCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUgaW1hZ2UKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0yNXgy
NQorCitURVNUIENBU0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitU
RVNUIENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PS0xLC0xIGN1c3RvbUltYWdlPTI1eDI1CisKK1RF
U1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKQorQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBjdXN0b21JbWFnZT0yNXgyNQorCitURVNU
IENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKQorQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTIwLDEwIGN1c3RvbUltYWdlPTI1eDI1CisKK1RF
U1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpCitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4MjUKKwor
VEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQg
KDMwLDMwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTMwLDMwIGN1c3Rv
bUltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNr
IHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwIGN1c3Rv
bUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBTVkcgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlQ3VzdG9tIGhvdFNwb3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBN
dWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1Qg
Q0FTRTogTm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKwor
VEVTVCBDQVNFOiBBIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IExpbmsg
d2l0aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQKK0N1cnNvciBJbmZvOiB0eXBlPVR5
cGVIYW5kIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBXYWl0IGN1
cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1bGUK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVXYWl0IGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwK
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBmNmE4
YjZiMTQ3YWNhYTQ0OGNjODI3OTY0Y2ExODNhZWZjM2Q2YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCkBAIC0wLDAgKzEsMTIwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxw
PjxhIGhyZWY9aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MD5C
dWcgMTAwNTUwPC9hPjwvcD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiAKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRo
PSIwIiBoZWlnaHQ9IjAiPgorICA8ZGVmcz4KKyAgICA8Y3Vyc29yIGlkPSJncmVlbmJveCIgeGxp
bms6aHJlZj0icmVzb3VyY2VzL2dyZWVuYm94LnBuZyIgeD0iMCIgeT0iMCIvPgorICA8L2RlZnM+
Cis8L3N2Zz4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZh
dWx0IGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGRlZmF1bHQnPkV4cGxpY2l0
IGRlZmF1bHQ8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBhdXRvJz5FeHBsaWNpdCBhdXRv
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogbm9uZSc+Tm8gY3Vyc29yPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogcG9pbnRlcic+UG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IC13ZWJraXQtZ3JhYmJpbmcnPi13ZWJraXQtZ3JhYmJpbmc8L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIGhhbmQnPkV4aXN0aW5n
IDI1eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0
LnBuZyksIHBvaW50ZXInPkludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCB1cmwocmVzb3Vy
Y2VzL2dyZWVuYm94LnBuZyksIHBvaW50ZXInPkludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgy
NSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5i
b3gucG5nKSAwIDAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAs
MCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBu
ZykgMjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEw
KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5n
KSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEp
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcp
IDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1h
Z2UgYXQgKDMwLDMwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMv
b25sb2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFj
ayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCks
IHBvaW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91
c2UtY3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXIn
Pk11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhp
c3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj5kaXY+CisgIDxk
aXY+PGEgaHJlZj0nIyc+QSBsaW5rIHdpdGggZGVmYXVsdCBjdXJzb3I8L2E+PC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGEgaHJlZj0nIyc+TGluayB3aXRoIGRlZmF1bHQgY3Vy
c29yIG92ZXJyaWRpbmcgd2FpdDwvYT48L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB3YWl0
Jz48ZGl2IHN0eWxlPSdjdXJzb3I6IGRvZXNudGV4aXN0Jz5XYWl0IGN1cnNvciB3aGljaCBzaG91
bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1bGU8L2Rpdj48L2Rpdj4KKzwv
ZGl2PgorPGJyLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFn
ZXNMZWZ0VG9Mb2FkID0gMDsKK3ZhciBoYXNDdXJzb3JJbmZvID0gZmFsc2U7CisKK2Z1bmN0aW9u
IG9uSW1hZ2VMb2FkKGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlzIG5vbi1kZXRl
cm1pbmlzdGljIGFuZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93IHdoZW4KKyAg
ICAvLyBub3QgcnVubmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICBkZWJ1ZyggJ0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdldC5zcmMpOwor
ICAgICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdlc0xlZnRUb0xv
YWQgPT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA8
IDApCisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2FsbGJhY2sgdGhh
biBleHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQoZSkgeworICAg
IHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUudHlwZSArICdcJyBldmVudCBmb3Ig
aW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVuY3Rpb24gcnVuVGVzdHMoKSB7Cisg
ICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBjdXJzb3IgaW5mbwor
ICAgIGlmIChoYXNDdXJzb3JJbmZvKSB7CisgICAgICAgIHZhciBub2Rlc1RvVGVzdCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRhaW5lciA+IGRpdicpOworICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAg
ICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOworICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FT
RTogJyArIG5vZGUudGV4dENvbnRlbnQpOworICAgICAgICAgICAgaWYgKGhhc0N1cnNvckluZm8p
IGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0
VG9wICsgMyk7CisgICAgICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVj
dHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUK
KyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhl
IGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAg
ICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAg
ICAgICAgICAgaWYgKGhhc0N1cnNvckluZm8pIGRlYnVnKCdDdXJzb3IgSW5mbzogJyArIHRlc3RS
dW5uZXIuZ2V0Q3VycmVudEN1cnNvckluZm8oKSk7CisgICAgICAgICAgICBkZWJ1ZygnJyk7Cisg
ICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0
IG91dHB1dCAtIGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qt
Y29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAgCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBh
cmUgYXBwbGllZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKSB7Cisg
ICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9IGVs
c2UgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmICF3aW5kb3cudGVzdFJ1bm5lci5nZXRDdXJyZW50
Q3Vyc29ySW5mbykgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBzdXBwb3J0
IGZvciBkdW1wQ3VycmVudEN1cnNvckluZm8nKTsKK30gZWxzZSB7CisgICAgaGFzQ3Vyc29ySW5m
byA9IHRydWU7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2Ug
dG8gbG9hZCBvciBmYWlsIHRvIGxvYWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91
dCB0aGlzIHdlIGNhbiBnZXQgbnVsbCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25v
d24gc2l6ZS4KK3ZhciBpbWFnZXNUb0xvYWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3Jl
ZW5ib3gucG5nJyB9LAorICAgIHsgdXJsOiAnZG9lc250ZXhpc3QucG5nJywgZXJyb3I6IHRydWUg
fSwKKyAgICB7IHVybDogJ3Vua25vd24tc2NoZW1lOmN1cnNvci5wbmcnLCBlcnJvcjogdHJ1ZSB9
LAorICAgIHsgdXJsOiAnbW91c2UtY3Vyc29yLmh0bWwnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsg
dXJsOiAnI25vbmV4aXN0ZW50JywgZXJyb3I6IHRydWUgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9
IGltYWdlc1RvTG9hZC5sZW5ndGg7Citmb3IgKHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5s
ZW5ndGg7IGkrKykgeworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0
RXJyb3IgPSBpbWFnZXNUb0xvYWRbaV0uZXJyb3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsK
KyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VM
b2FkIDogb25JbWFnZVVuZXhwZWN0ZWQpOworICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0u
dXJsOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNmRmZGFjYzg5NjcxMjExMGNm
OGFmNDFiYjY3YmZiMDc3NzZiNzg1Li42ZmZmNDUzMDliMTBkNGExNDJlODlhY2YyNGExZjgwYjI2
OTY3NWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NjYxLDYgKzY2MSw5IEBAIHdlYmtpdC5vcmcvYi8xMDA1MTkgZmFzdC9pbWFnZXMvanBlZy13aXRo
LWNvbG9yLXByb2ZpbGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMDUxOSBmYXN0L2lt
YWdlcy9wbmctd2l0aC1jb2xvci1wcm9maWxlLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8x
MDA1MTkgZmFzdC9pbWFnZXMvcGFsZXR0ZWQtcG5nLXdpdGgtY29sb3ItcHJvZmlsZS5odG1sIFsg
U2tpcCBdCiAKKyMgTmVlZHMgdGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5mbyBpbmZyYXN0
cnVjdHVyZQord2Via2l0Lm9yZy9iLzEwMTIyNSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bCBbIEZhaWx1cmUgXQorCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBDUkFT
SEVTCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwYTM2ZGYxYzk1YjdlZDlkNGE1ZDY4MTQyNzYw
OGM1MjAxNGVjOTMxLi5lMzEzM2RhMWZhYTgyNTYzMzBlMTBlYWIxYTdlNTIzODQ2M2Q2YTY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDM0LDYgKzQz
NCw5IEBAIHdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL3Jvdy1hbGlnbm1l
bnQueGh0bWwgWyBGYWlsdXJlIF0KICMgUmVxdWlyZXMgUmVzb2x1dGlvbiBNZWRpYSBRdWVyeSBz
dXBwb3J0CiB3ZWJraXQub3JnL2IvMTAwMTM3IGZhc3QvbWVkaWEvbXEtcmVzb2x1dGlvbi5odG1s
IFsgRmFpbHVyZSBdCiAKKyMgTmVlZHMgdGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5mbyBp
bmZyYXN0cnVjdHVyZQord2Via2l0Lm9yZy9iLzEwMTIyNSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3IuaHRtbCBbIEZhaWx1cmUgXQorCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwog
IyBFbmQgb2YgRXhwZWN0ZWQgZmFpbHVyZXMKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDY3ZDhh
YmM4MzcwMDBhNjAyMGFhMWNjNzc4M2E4MGNiYmE3Zjk0YWMuLmVlMjYzZDNkNTE3ZmMyNDk0MDA5
ZDljYzZlMTRlY2U0MDY2ZmM1MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0xMzU2LDMgKzEzNTYsNiBAQCB3ZWJraXQub3JnL2IvNjExMzggaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWluZyBbIFNraQog
cGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xMDA4
NDYgaW5zcGVjdG9yLXByb3RvY29sL2RlYnVnZ2VyLXBhdXNlLWRlZGljYXRlZC13b3JrZXIuaHRt
bCBbIFNraXAgXQorCisjIE5lZWRzIHRlc3RSdW5uZXIuZ2V0Q3VycmVudEN1cnNvckluZm8gaW5m
cmFzdHJ1Y3R1cmUKK3dlYmtpdC5vcmcvYi8xMDEyMjUgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNDQyNGIzZTE1OTNhNjc5ZmFiNTE0NzUzNzU3ZGVmMzY1Yzk2OTAxZS4uYmJjMWNh
ZmIzOTljYWU5ZDFmYTU4MDJjNjljMjA1YzkzZGMzNWQxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MDUsMyArMjQwNSw2IEBAIGNvbXBvc2l0aW5n
L3RpbGluZy90aWxlLWNhY2hlLXpvb21lZC5odG1sCiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0
aW9uLWltYWdlLWRvY3VtZW50Lmh0bWwKIAogd2Via2l0Lm9yZy9iLzEwMDg0NiBpbnNwZWN0b3It
cHJvdG9jb2wvZGVidWdnZXItcGF1c2UtZGVkaWNhdGVkLXdvcmtlci5odG1sIFsgU2tpcCBdCisK
KyMgTmVlZHMgdGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5mbyBpbmZyYXN0cnVjdHVyZQor
d2Via2l0Lm9yZy9iLzEwMTIyNSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBbIEZhaWx1
cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172360</attachid>
            <date>2012-11-05 10:43:01 -0800</date>
            <delta_ts>2012-11-08 12:51:13 -0800</delta_ts>
            <desc>Update to ToT</desc>
            <filename>bug-100550-20121105134115.patch</filename>
            <type>text/plain</type>
            <size>20460</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzIxYTIxYTljM2FlODRjMTEzOTY2ZWRlNTUyY2ZjYWVl
NTQxZmQ0NS4uNjQyODE4NmEyZWIzOWZiMzA2MzA4M2UzZmUzODAxN2E5ZjBiZWIyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTExLTA1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0byBsZXQgTGF5b3V0
VGVzdHMgZ2V0IGRldGFpbHMgb24gdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChE
UlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKGN1cnNvclR5cGVUb1N0cmlu
Zyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAo
RFJUVGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZENoYW5nZUN1cnNvcik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0OjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6CisgICAgICAgIChXZWJWaWV3SG9zdCk6
CisKIDIwMTItMTEtMDUgIEt5dW5nVGFlIEtpbSAgPGt0Zi5raW1Ac2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0VGTF0gRml4IGJ1aWxkIHdhcm5pbmcgaW4gRVdlYkxhdW5jaGVyL21haW4uYwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAppbmRleCBk
YWZhZmExODFlZGI2YjYzYjI0ZWJjYmU0ZTRlYTJhMWVlZDRkOWEwLi5lYjM3NGNlOWIyZDAyNjlj
YmY1MzFjOWMyYzkyYmViOWYwYmI2MDNhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIldl
YkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJCaW5kaW5ncy5oIgogI2luY2x1
ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCisjaW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5oIgogI2lu
Y2x1ZGUgIldlYkRldmljZU9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKQEAgLTI4MSw2ICsy
ODIsNyBAQCBEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKFRlc3RTaGVsbCogc2hlbGwpCiAg
ICAgYmluZE1ldGhvZCgic2VsZWN0aW9uQXNNYXJrdXAiLCAmRFJUVGVzdFJ1bm5lcjo6c2VsZWN0
aW9uQXNNYXJrdXApOwogICAgIGJpbmRNZXRob2QoInNldEhhc0N1c3RvbUZ1bGxTY3JlZW5CZWhh
dmlvciIsICZEUlRUZXN0UnVubmVyOjpzZXRIYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IpOwog
ICAgIGJpbmRNZXRob2QoInRleHRTdXJyb3VuZGluZ05vZGUiLCAmRFJUVGVzdFJ1bm5lcjo6dGV4
dFN1cnJvdW5kaW5nTm9kZSk7CisgICAgYmluZE1ldGhvZCgiZ2V0Q3VycmVudEN1cnNvckluZm8i
LCAmRFJUVGVzdFJ1bm5lcjo6Z2V0Q3VycmVudEN1cnNvckluZm8pOwogCiAgICAgLy8gVGhlIGZh
bGxiYWNrIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiB1bmtub3duIG1ldGhvZCBpcyBpbnZva2Vk
LgogICAgIGJpbmRGYWxsYmFja01ldGhvZCgmRFJUVGVzdFJ1bm5lcjo6ZmFsbGJhY2tNZXRob2Qp
OwpAQCAtMjMwMCwzICsyMzAyLDc2IEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6dGV4dFN1cnJvdW5k
aW5nTm9kZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyCiAKICAgICBy
ZXN1bHQtPnNldChzdXJyb3VuZGluZ1RleHQudGV4dENvbnRlbnQoKS51dGY4KCkpOwogfQorCitz
dGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRvU3RyaW5nKFdlYkN1cnNvckluZm86OlR5cGUg
Y3Vyc29yVHlwZSkKK3sKKyAgICBzd2l0Y2ggKGN1cnNvclR5cGUpIHsKKyAgICBjYXNlIFdlYkN1
cnNvckluZm86OlR5cGVQb2ludGVyOiByZXR1cm4gIlR5cGVQb2ludGVyIjsKKyAgICBjYXNlIFdl
YkN1cnNvckluZm86OlR5cGVDcm9zczogcmV0dXJuICJUeXBlQ3Jvc3MiOworICAgIGNhc2UgV2Vi
Q3Vyc29ySW5mbzo6VHlwZUhhbmQ6IHJldHVybiAiVHlwZUhhbmQiOworICAgIGNhc2UgV2ViQ3Vy
c29ySW5mbzo6VHlwZUlCZWFtOiByZXR1cm4gIlR5cGVJQmVhbSI7CisgICAgY2FzZSBXZWJDdXJz
b3JJbmZvOjpUeXBlV2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAgY2FzZSBXZWJDdXJzb3JJ
bmZvOjpUeXBlSGVscDogcmV0dXJuICJUeXBlSGVscCI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZv
OjpUeXBlRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJD
dXJzb3JJbmZvOjpUeXBlTm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoUmVzaXplIjsKKyAg
ICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZU5v
cnRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhXZXN0UmVz
aXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5m
bzo6VHlwZVNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBX
ZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RS
ZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoV2VzdFJlc2l6ZTogcmV0
dXJuICJUeXBlU291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVX
ZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVOb3J0aFNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFNvdXRoUmVzaXplIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBl
RWFzdFdlc3RSZXNpemUiOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFNv
dXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAg
ICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemU6IHJldHVy
biAiVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZv
OjpUeXBlQ29sdW1uUmVzaXplOiByZXR1cm4gIlR5cGVDb2x1bW5SZXNpemUiOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZVJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKKyAg
ICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVNaWRkbGVQYW5uaW5nOiByZXR1cm4gIlR5cGVNaWRk
bGVQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmluZzogcmV0
dXJuICJUeXBlRWFzdFBhbm5pbmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRo
UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvcklu
Zm86OlR5cGVOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RQYW5uaW5nIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5
cGVOb3J0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFBh
bm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZv
OjpUeXBlU291dGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlU291dGhFYXN0UGFubmluZyI7Cisg
ICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBl
U291dGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFBhbm5p
bmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5
cGVNb3ZlOiByZXR1cm4gIlR5cGVNb3ZlIjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVW
ZXJ0aWNhbFRleHQ6IHJldHVybiAiVHlwZVZlcnRpY2FsVGV4dCI7CisgICAgY2FzZSBXZWJDdXJz
b3JJbmZvOjpUeXBlQ2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7CisgICAgY2FzZSBXZWJDdXJzb3JJ
bmZvOjpUeXBlQ29udGV4dE1lbnU6IHJldHVybiAiVHlwZUNvbnRleHRNZW51IjsKKyAgICBjYXNl
IFdlYkN1cnNvckluZm86OlR5cGVBbGlhczogcmV0dXJuICJUeXBlQWxpYXMiOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZVByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7CisgICAg
Y2FzZSBXZWJDdXJzb3JJbmZvOjpUeXBlTm9Ecm9wOiByZXR1cm4gIlR5cGVOb0Ryb3AiOworICAg
IGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHk6IHJldHVybiAiVHlwZUNvcHkiOworICAgIGNh
c2UgV2ViQ3Vyc29ySW5mbzo6VHlwZU5vbmU6IHJldHVybiAiVHlwZU5vbmUiOworICAgIGNhc2Ug
V2ViQ3Vyc29ySW5mbzo6VHlwZU5vdEFsbG93ZWQ6IHJldHVybiAiVHlwZU5vdEFsbG93ZWQiOwor
ICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbjogcmV0dXJuICJUeXBlWm9vbUluIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0
IjsKKyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVHcmFiOiByZXR1cm4gIlR5cGVHcmFiIjsK
KyAgICBjYXNlIFdlYkN1cnNvckluZm86OlR5cGVHcmFiYmluZzogcmV0dXJuICJUeXBlR3JhYmJp
bmciOworICAgIGNhc2UgV2ViQ3Vyc29ySW5mbzo6VHlwZUN1c3RvbTogcmV0dXJuICJUeXBlQ3Vz
dG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIlVOS05PV04iOworfQorCit2b2lkIERSVFRlc3RS
dW5uZXI6OmdldEN1cnJlbnRDdXJzb3JJbmZvKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZh
cmlhbnQqIHJlc3VsdCkKK3sKKyAgICAvLyBXZSBjb3VsZCBjcmVhdGUgYSBmdWxsIGJsb3duIG9i
amVjdCBoZXJlIGJ1dCB0aGF0IGxvb2tzIGxpa2UgYSBsb3QgbW9yZSB3b3JrIGFuZAorICAgIC8v
IHByb2JhYmx5IG5vdCB3b3J0aCB0aGUgZWZmb3J0LiBTbywgc2ltaWxhciB0byBvdGhlciBwbGFj
ZXMgZGV0YWlsaW5nIHdpdGgKKyAgICAvLyBjb21wbGV4IGRhdGEsIHdlJ2xsIGp1c3Qgc3VwcGx5
IGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGVzdCBvdXRwdXQuCisKKyAgICBXZWJDdXJz
b3JJbmZvIGN1cnNvciA9IG1fc2hlbGwtPndlYlZpZXdIb3N0KCktPmdldEN1cnJlbnRDdXJzb3JJ
bmZvKCk7CisgICAgb3N0cmluZ3N0cmVhbSBzczsKKyAgICBzcyA8PCAidHlwZT0iIDw8IGN1cnNv
clR5cGVUb1N0cmluZyhjdXJzb3IudHlwZSk7CisgICAgc3MgPDwgIiBob3RTcG90PSIgPDwgY3Vy
c29yLmhvdFNwb3QueCA8PCAiLCIgPDwgY3Vyc29yLmhvdFNwb3QueTsKKyAgICBzcyA8PCAiIGN1
c3RvbUltYWdlPSI7CisgICAgaWYgKGN1cnNvci5jdXN0b21JbWFnZS5pc051bGwoKSkKKyAgICAg
ICAgc3MgPDwgIm51bGwiOworICAgIGVsc2UgeworICAgICAgICBXZWJTaXplIHNpemUgPSBjdXJz
b3IuY3VzdG9tSW1hZ2Uuc2l6ZSgpOworICAgICAgICBzcyA8PCBzaXplLndpZHRoIDw8ICJ4IiA8
PCBzaXplLmhlaWdodDsKKyAgICB9CisKKyAgICByZXN1bHQtPnNldChzcy5zdHIoKSk7Cit9CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKaW5kZXggYzRj
YjdhY2U4YmQ0NDA2MTI3MWYxOGE5ODdjYmJjOTE0ZjkyZDM1Ni4uNjYyMTlkY2IyOTY5NzRiMTRl
NjYxZTg0YmVlN2UxNjc5NTczZmI1YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVFRlc3RSdW5uZXIuaApAQCAtNDU2LDYgKzQ1Niw5IEBAIHB1YmxpYzoKICAgICAvLyBs
ZW5ndGggdG8gcmV0cmlldmUuCiAgICAgdm9pZCB0ZXh0U3Vycm91bmRpbmdOb2RlKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAorICAgIC8vIFJldHVybnMgYSBzdHJpbmcg
d2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCisgICAgdm9p
ZCBnZXRDdXJyZW50Q3Vyc29ySW5mbyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
Kik7CisKIHB1YmxpYzoKICAgICAvLyBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIG5vdCBleHBv
c2VkIHRvIEphdmFTY3JpcHQuCiAgICAgdm9pZCBzZXRXb3JrUXVldWVGcm96ZW4oYm9vbCBmcm96
ZW4pIHsgbV93b3JrUXVldWUuc2V0RnJvemVuKGZyb3plbik7IH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCA5OGI4N2JmOGU5MGVlYTQ3MjA0
MzU1YzkyNmFjZjZmZmM3M2FhYTBkLi4wNTJiYWY4N2Q5NmMzZDE2MDRiMmNkOWI1OWYzZDkzNTEx
MTM4MmY1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3Qu
Y3BwCkBAIC05MzgsOCArOTM4LDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6Y2xvc2VXaWRnZXRTb29u
KCkKIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkQ2hhbmdlQ3Vyc29yKGNvbnN0IFdlYkN1cnNvcklu
Zm8mIGN1cnNvckluZm8pCiB7Ci0gICAgaWYgKCFoYXNXaW5kb3coKSkKLSAgICAgICAgcmV0dXJu
OwogICAgIG1fY3VycmVudEN1cnNvciA9IGN1cnNvckluZm87CiB9CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmluZGV4IDg2MDA3MTk0YjA0MzU2NzJjMDE0
OTk5ZDU4NjA1M2VjZmY1ZjhiNGYuLmQzZTE2NGJkOGM2NmE5OGViOTcwYzYxYTQ3YjgzZWQ3MjZj
NDE1NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApA
QCAtMTI4LDYgKzEyOCw4IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2Vi
Vmlld0NsaWVudCwgcHVibGljIFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAgICAgdm9pZCBzZXRQ
b2ludGVyTG9ja1dpbGxGYWlsU3luY2hyb25vdXNseSgpIHsgbV9wb2ludGVyTG9ja1BsYW5uZWRS
ZXN1bHQgPSBQb2ludGVyTG9ja1dpbGxGYWlsU3luYzsgfQogI2VuZGlmCiAKKyAgICBXZWJLaXQ6
OldlYkN1cnNvckluZm8gZ2V0Q3VycmVudEN1cnNvckluZm8oKSB7IHJldHVybiBtX2N1cnJlbnRD
dXJzb3I7IH0KKwogICAgIC8vIFdlYlRlc3REZWxlZ2F0ZS4KICAgICB2aXJ0dWFsIFdlYktpdDo6
V2ViQ29udGV4dE1lbnVEYXRhKiBsYXN0Q29udGV4dE1lbnVEYXRhKCkgY29uc3QgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyQ29udGV4dE1lbnVEYXRhKCkgT1ZFUlJJREU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMjhmMjYzYzY0M2UxNjQyMDZiYmVlZjVkNjNkY2Y0NjA0N2JjMmQyZC4uNDk0NDJiYjBmYmNl
ZDI2OTdjNWY5ZWQ2NTcyMTM5NDg1MTcxMDYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTExLTA1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0
ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHRlc3QgY292ZXJpbmcgdGhlIGJh
c2ljIHNjZW5hcmlvcyBvZiBjaGFuZ2luZyBhIG1vdXNlCisgICAgICAgIGN1cnNvciB3aXRoIENT
Uy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBvZiB0aGUgY2FzZXMgY3VycmVudGx5IGNvdmVyZWQKKyAg
ICAgICAgYnkgTWFudWFsVGVzdHMvKmN1cnNvciouCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTEtMDUgIERhdmlkIEJhcnRvbiAgPGRiYXJ0
b25AbWF0aHNjcmliZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUJvdW5kc0ZvckdseXBoIG9uIHNraWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYjA4NmQyMjY1ZDkw
MzMzOTYwM2IwYzA1ODg2MTMwZWNkM2IzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAK
K1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDA1NTAKKworIAorVEVTVCBDQVNFOiBJbXBs
aWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9
MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBFeHBsaWNpdCBkZWZhdWx0CitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlUG9pbnRlciBob3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisK
K1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0bworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhv
dFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBObyBjdXJzb3IKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVOb25lIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVT
VCBDQVNFOiBQb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBj
dXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogLXdlYmtpdC1ncmFiYmluZworQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUdyYWJiaW5nIGhvdFNwb3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVT
VCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3Rv
bSBob3RTcG90PS0xLC0xIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBV
Ukwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBo
b3RTcG90PTAsMCBjdXN0b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogSW52YWxpZCB3aXRoIGZh
bGxiYWNrIHRvIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9LTEsLTEgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IGF0ICgwLDApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9MCwwIGN1c3RvbUltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBhdCAoMjAsMTApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9MjAsMTAgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IGF0ICgtMSwtMSkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90
U3BvdD0tMSwtMSBjdXN0b21JbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhw
bGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJzb3IgSW5mbzogdHlw
ZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MzAsMzAgY3VzdG9tSW1hZ2U9MjV4MjUKKworVEVTVCBDQVNF
OiBPdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6
IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0tMSwtMSBj
dXN0b21JbWFnZT0yNXgyNQorCitURVNUIENBU0U6IE11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3
aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNw
b3Q9MCwwIGN1c3RvbUltYWdlPW51bGwKKworVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vy
c29yIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQg
aG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitURVNUIENBU0U6IEEgbGluayB3aXRoIGRl
ZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMCBjdXN0
b21JbWFnZT1udWxsCisKK1RFU1QgQ0FTRTogTGluayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJy
aWRpbmcgd2FpdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAgY3VzdG9t
SW1hZ2U9bnVsbAorCitURVNUIENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUg
YWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdh
aXQgaG90U3BvdD0wLDAgY3VzdG9tSW1hZ2U9bnVsbAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGY2YThiNmIxNDdhY2FhNDQ4Y2M4Mjc5NjRjYTE4
M2FlZmMzZDZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwxMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+PGEgaHJlZj1odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1ZyAxMDA1NTA8L2E+PC9wPgorPHN2ZyB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjAiIGhlaWdodD0iMCI+CisgIDxkZWZz
PgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94IiB4bGluazpocmVmPSJyZXNvdXJjZXMvZ3JlZW5i
b3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwvZGVmcz4KKzwvc3ZnPgorPGRpdiBpZD0idGVzdC1j
b250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhwbGljaXQgZGVmYXVsdDwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0IGF1dG88L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBwb2ludGVy
Jz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogLXdlYmtpdC1ncmFiYmluZyc+
LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhpc3RpbmcgMjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgcG9pbnRlcic+SW52YWxpZCBV
Ukwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjog
dXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgcG9pbnRl
cic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDAgMCwgcG9pbnRlcic+SW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ug
d2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVyJz5JbWFnZSB3
aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXInPkltYWdlIHdp
dGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nKSwgcG9pbnRl
cic+T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1cnNvcjwvZGl2
PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCksIHVybCh1bmtu
b3duLXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxpZCBjdXJzb3Jz
IHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bCgjbm9uZXhpc3RlbnQpLCBwb2ludGVyJz5Ob25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFs
bGJhY2sgdG8gcG9pbnRlcjwvZGl2PmRpdj4KKyAgPGRpdj48YSBocmVmPScjJz5BIGxpbmsgd2l0
aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB3YWl0Jz48
YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0PC9hPjwv
ZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYgc3R5bGU9J2N1cnNvcjogZG9l
c250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5r
bm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8YnIvPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRUb0xvYWQgPSAwOwordmFyIGhh
c0N1cnNvckluZm8gPSBmYWxzZTsKKworZnVuY3Rpb24gb25JbWFnZUxvYWQoZSkgeworCisgICAg
Ly8gVGhpcyBkZWJ1ZyBvdXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMgYW5kIGNvbnRhaW5zIGFi
c29sdXRlIFVSTHMgLSBvbmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBydW5uaW5nIGluIERSVAor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVnKCAnRXZlbnQgIicgKyBl
LnR5cGUgKyAnIjogJyArIGUudGFyZ2V0LnNyYyk7CisgICAgICAgIAorICAgIGltYWdlc0xlZnRU
b0xvYWQtLTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA9PSAwKQorICAgICAgICBydW5UZXN0
cygpOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkIDwgMCkKKyAgICAgICAgdGVzdEZhaWxlZCgn
R290IG1vcmUgbG9hZC9lcnJvciBjYWxsYmFjayB0aGFuIGV4cGVjdGVkLicpOworfQorCitmdW5j
dGlvbiBvbkltYWdlVW5leHBlY3RlZChlKSB7CisgICAgdGVzdEZhaWxlZCgnR290IHVuZXhwZWN0
ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUudGFyZ2V0LnNyYyk7
IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGluZyB1
c2VmdWwgaGVyZSB3aXRob3V0IGN1cnNvciBpbmZvCisgICAgaWYgKGhhc0N1cnNvckluZm8pIHsK
KyAgICAgICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Rl
c3QtY29udGFpbmVyID4gZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNU
b1Rlc3QubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3Rb
aV07CisgICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7
CisgICAgICAgICAgICBpZiAoaGFzQ3Vyc29ySW5mbykgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
bm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKyAgICAgICAgICAgIC8v
IE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4g
dmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQg
aXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4g
IEJldHRlciB0byBqdXN0IGR1bXAKKyAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQg
aXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCisgICAgICAgICAgICBpZiAoaGFzQ3Vyc29ySW5m
bykgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgdGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5m
bygpKTsKKyAgICAgICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAgfQorICAgICAgICAvLyBUaGlz
IHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0IC0gaGlkZSBpdAorICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5
ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZGVzY3Jp
cHRpb24oIlRlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsK
KworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3Qg
cmVxdWlyZXMgRHVtcFJlbmRlclRyZWUnKTsKK30gZWxzZSBpZiAod2luZG93LnRlc3RSdW5uZXIg
JiYgIXdpbmRvdy50ZXN0UnVubmVyLmdldEN1cnJlbnRDdXJzb3JJbmZvKSB7CisgICAgdGVzdEZh
aWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHN1cHBvcnQgZm9yIGR1bXBDdXJyZW50Q3Vyc29ySW5m
bycpOworfSBlbHNlIHsKKyAgICBoYXNDdXJzb3JJbmZvID0gdHJ1ZTsKK30KKworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
fQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBpbWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9hZCBi
ZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBXaXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxsIGlt
YWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBubyBrbm93biBzaXplLgordmFyIGltYWdlc1RvTG9h
ZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC5wbmcnIH0sCisgICAgeyB1cmw6
ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAndW5rbm93bi1z
Y2hlbWU6Y3Vyc29yLnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICdtb3VzZS1jdXJz
b3IuaHRtbCcsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICcjbm9uZXhpc3RlbnQnLCBlcnJv
cjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGlt
ZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBleHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtpXS5l
cnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/IG9u
SW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxvYWQpOworICAgIGltZy5hZGRFdmVudExpc3RlbmVy
KCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25JbWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3RlZCk7
CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9hZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDNiMWNhM2JhYmJhNDBjNjM1YTQ3YmU1MzI3MTVkMWM5ZjM0NGVkNDAuLjVm
OWE3NDJhYzA3YzkzODcwODI0ODVkMDM3YzRmMjFiNGI2MDIzNDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC02NjUsNiArNjY1LDkgQEAgd2Via2l0Lm9y
Zy9iLzEwMDUxOSBmYXN0L2ltYWdlcy9qcGVnLXdpdGgtY29sb3ItcHJvZmlsZS5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTAwNTE5IGZhc3QvaW1hZ2VzL3BuZy13aXRoLWNvbG9yLXByb2Zp
bGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMDUxOSBmYXN0L2ltYWdlcy9wYWxldHRl
ZC1wbmctd2l0aC1jb2xvci1wcm9maWxlLmh0bWwgWyBTa2lwIF0KIAorIyBOZWVkcyB0ZXN0UnVu
bmVyLmdldEN1cnJlbnRDdXJzb3JJbmZvIGluZnJhc3RydWN0dXJlCit3ZWJraXQub3JnL2IvMTAx
MjI1IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCisKICMvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIENSQVNIRVMKICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGZhOGUxMTU2Zjc5OTczNDVmMjlkNDQ3NWE3YjVmMTZiYzg4NjNmMmEuLmJiODIzZjUxMDBi
NzMzYzcyMjlhM2RkMTIyZDkwZjA5OGUwN2VkYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCkBAIC00MDAsNiArNDAwLDkgQEAgd2Via2l0Lm9yZy9iLzEwMDEz
NyBmYXN0L21lZGlhL21xLXJlc29sdXRpb24uaHRtbCBbIEZhaWx1cmUgXQogIyBDU1MgRGV2aWNl
IEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZp
Y2UtYWRhcHQgWyBTa2lwIF0KIAorIyBOZWVkcyB0ZXN0UnVubmVyLmdldEN1cnJlbnRDdXJzb3JJ
bmZvIGluZnJhc3RydWN0dXJlCit3ZWJraXQub3JnL2IvMTAxMjI1IGZhc3QvZXZlbnRzL21vdXNl
LWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCiAjIEVuZCBvZiBFeHBlY3RlZCBmYWlsdXJlcwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MjcxY2YyZjg1OTM3Yzg0ZmE5N2YzY2IwMDRhMzVlNWExY2MwYmViOC4uNDVlZDM3MTgxMjMzOGE0
YzhhNzFkNWE1YzUxYmY0OGUzMzViMzgzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTExNjEsMyArMTE2MSw2IEBAIHdlYmtpdC5vcmcvYi82MTEzOCBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vSW50ZWwvcmVzb3VyY2UtdGltaW5nIFsg
U2tpCiBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJhd2luZy8gWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9i
LzEwMDg0NiBpbnNwZWN0b3ItcHJvdG9jb2wvZGVidWdnZXItcGF1c2UtZGVkaWNhdGVkLXdvcmtl
ci5odG1sIFsgU2tpcCBdCisKKyMgTmVlZHMgdGVzdFJ1bm5lci5nZXRDdXJyZW50Q3Vyc29ySW5m
byBpbmZyYXN0cnVjdHVyZQord2Via2l0Lm9yZy9iLzEwMTIyNSBmYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3IuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA4NDhjYTQyMTY3Zjc3YjU5YTljNWIzNmI4NDUyODA2NTAzYTZkN2Y4Li41
OTk2NDBkNTFlOGJlMzNiODI0OTM4MzkyMzdkODEwNWQzZjcxNmIwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQxOCw0ICsyNDE4LDcgQEAgZmFzdC9p
bWFnZXMvZXhpZi1vcmllbnRhdGlvbi1pbWFnZS1kb2N1bWVudC5odG1sCiB3ZWJraXQub3JnL2Iv
MTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci1wYXVzZS1kZWRpY2F0ZWQtd29ya2Vy
Lmh0bWwgWyBTa2lwIF0KIAogI2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAxMTcKLWZhc3QveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtcmVjdXJzaXZlLXN5
bmMtZXZlbnQuaHRtbApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Zhc3QveG1saHR0cHJl
cXVlc3QveG1saHR0cHJlcXVlc3QtcmVjdXJzaXZlLXN5bmMtZXZlbnQuaHRtbAorCisjIE5lZWRz
IHRlc3RSdW5uZXIuZ2V0Q3VycmVudEN1cnNvckluZm8gaW5mcmFzdHJ1Y3R1cmUKK3dlYmtpdC5v
cmcvYi8xMDEyMjUgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173100</attachid>
            <date>2012-11-08 12:51:18 -0800</date>
            <delta_ts>2012-11-08 19:03:07 -0800</delta_ts>
            <desc>Make tests port-agnostic</desc>
            <filename>bug-100550-20121108154927.patch</filename>
            <type>text/plain</type>
            <size>18397</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwZWVjZThkNjQyMDI2
ODg5NjUwYWI0NWFlZjgyNTg4Njk4N2U4MC4uOGQ3OGQyNTIwYzQ4OTdhNjU5ZGQyNzg3ZmQ5NWE2
MzUzYTE0ZTY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTExLTA4ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bAorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBz
ZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1vdXNlQ3Vyc29yKTogTmV3IGdldHRlciBm
b3IgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y3Vyc29yVHlwZVRvU3RyaW5nKTogSGVscGVyIHRvIGNvbnZl
cnQgY3Vyc29yIHR5cGUgdG8gZW51bQorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKTogTmV3IGZ1bmN0aW9uIHRvIHJl
dHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJbmZvCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJ
bmZvCisKIDIwMTItMTEtMDggIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgU2tpcCBmcmFtZSBvd25lciBkaXNjb25uZWN0IHdoZW4gdGhlcmUncyBubyBm
cmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA5MjA1NWExMjMzYTc4
NDY5NTJiN2JiY2ZjMTFhZDczYzVjODNlOThmLi5kMzhjM2M0NmFkMWRhNGM5NGUwNmMyZWRkYmUz
ODRkNzkxZDljZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTI2
LDcgKzE1MjYsNyBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihj
b25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgogICAgIH0KICAgICByZXR1cm4g
cG9pbnRlckN1cnNvcigpOwogfQotICAgIAorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQ
b2ludEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bv
aW50KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xODYyLDcg
KzE4NjIsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBIaQogICAgICAgICBpZiAoRnJhbWVWaWV3
KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBPcHRpb25hbEN1cnNvciBv
cHRpb25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJhcik7CiAgICAgICAgICAg
ICBpZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKLSAgICAgICAgICAgICAgICB2
aWV3LT5zZXRDdXJzb3Iob3B0aW9uYWxDdXJzb3IuY3Vyc29yKCkpOworICAgICAgICAgICAgICAg
IG1fY3VycmVudE1vdXNlQ3Vyc29yID0gb3B0aW9uYWxDdXJzb3IuY3Vyc29yKCk7CisgICAgICAg
ICAgICAgICAgdmlldy0+c2V0Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKICAgICAgICAg
fQogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDkzYzZiMTBl
Yjk4NzQ0ZmJmNTY3YTgxOWYyODE2OGYzMjJhMWMxYzguLjJjMWI1MWVhMTg4MmM5NjBlZmE4NDFi
YzMzMTlhNDFlY2Y2ZmY5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMjYs
NiArMjYsNyBAQAogI2lmbmRlZiBFdmVudEhhbmRsZXJfaAogI2RlZmluZSBFdmVudEhhbmRsZXJf
aAogCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRHJhZ0FjdGlvbnMuaCIKICNpbmNs
dWRlICJEcmFnU3RhdGUuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgpAQCAtMTQxLDYg
KzE0Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2l6ZUxheWVyRGVzdHJveWVkKCk7CiAKICAg
ICBJbnRQb2ludCBjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0OworICAgIEN1cnNvciBjdXJy
ZW50TW91c2VDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRNb3VzZUN1cnNvcjsgfQog
CiAgICAgc3RhdGljIEZyYW1lKiBzdWJmcmFtZUZvclRhcmdldE5vZGUoTm9kZSopOwogICAgIHN0
YXRpYyBGcmFtZSogc3ViZnJhbWVGb3JIaXRUZXN0UmVzdWx0KGNvbnN0IE1vdXNlRXZlbnRXaXRo
SGl0VGVzdFJlc3VsdHMmKTsKQEAgLTQyMCw2ICs0MjIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxOb2RlPiBtX2xhc3ROb2RlVW5kZXJNb3VzZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fbGFzdE1v
dXNlTW92ZUV2ZW50U3ViZnJhbWU7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9sYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZTsKKyAgICBDdXJzb3IgbV9jdXJyZW50TW91c2VDdXJzb3I7CiAKICAgICBp
bnQgbV9jbGlja0NvdW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2NsaWNrTm9kZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBlNGQzMDg0MTBhMDYzMzY4ZmNlYzYwYzJkZWMz
OTJiZjdlMmU5ZGE3Li4zMWYyZjFmMGNhNWIyMGYzOTQyYjdjZGI4ZTQ2NDA3YmJkZmVlZmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSAiQ2xpZW50UmVjdC5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVk
ZSAiQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmgiCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5j
bHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFk
b3cuaCIKKyNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAt
OTMsNyArOTUsNiBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfQURKVVNUTUVOVCkKLSNp
bmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5oIgogI2VuZGlm
CiAKQEAgLTE0NzcsNCArMTQ3OCw4MCBAQCB2b2lkIEludGVybmFsczo6c3RvcFRyYWNraW5nUmVw
YWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZp
ZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorI2lmIFVTRShMQVpZX05BVElWRV9D
VVJTT1IpCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRvU3RyaW5nKEN1cnNvcjo6VHlw
ZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlwZSkgeworICAgIGNhc2UgQ3Vy
c29yOjpQb2ludGVyOiByZXR1cm4gIlR5cGVQb2ludGVyIjsKKyAgICBjYXNlIEN1cnNvcjo6Q3Jv
c3M6IHJldHVybiAiVHlwZUNyb3NzIjsKKyAgICBjYXNlIEN1cnNvcjo6SGFuZDogcmV0dXJuICJU
eXBlSGFuZCI7CisgICAgY2FzZSBDdXJzb3I6OklCZWFtOiByZXR1cm4gIlR5cGVJQmVhbSI7Cisg
ICAgY2FzZSBDdXJzb3I6OldhaXQ6IHJldHVybiAiVHlwZVdhaXQiOworICAgIGNhc2UgQ3Vyc29y
OjpIZWxwOiByZXR1cm4gIlR5cGVIZWxwIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFJlc2l6ZTog
cmV0dXJuICJUeXBlRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUmVzaXplOiBy
ZXR1cm4gIlR5cGVOb3J0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFJlc2l6
ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhX
ZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoRWFzdFJlc2l6ZSI7CisgICAgY2Fz
ZSBDdXJzb3I6OlNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhXZXN0UmVzaXplIjsK
KyAgICBjYXNlIEN1cnNvcjo6V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlV2VzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoU291dGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoU291dGhS
ZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlRWFz
dFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemU6
IHJldHVybiAiVHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6
Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhXZXN0U291dGhFYXN0
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29sdW1uUmVzaXplOiByZXR1cm4gIlR5cGVDb2x1
bW5SZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpSb3dSZXNpemU6IHJldHVybiAiVHlwZVJvd1Jl
c2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok1pZGRsZVBhbm5pbmc6IHJldHVybiAiVHlwZU1pZGRs
ZVBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UGFubmluZzogcmV0dXJuICJUeXBlRWFz
dFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFBhbm5pbmc6IHJldHVybiAiVHlwZU5v
cnRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFBhbm5pbmc6IHJldHVybiAi
VHlwZU5vcnRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RQYW5uaW5n
OiByZXR1cm4gIlR5cGVOb3J0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhQ
YW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0
aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1
cnNvcjo6U291dGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlU291dGhXZXN0UGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6Oldlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVXZXN0UGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok1vdmU6IHJldHVybiAiVHlwZU1vdmUiOworICAgIGNhc2UgQ3Vyc29y
OjpWZXJ0aWNhbFRleHQ6IHJldHVybiAiVHlwZVZlcnRpY2FsVGV4dCI7CisgICAgY2FzZSBDdXJz
b3I6OkNlbGw6IHJldHVybiAiVHlwZUNlbGwiOworICAgIGNhc2UgQ3Vyc29yOjpDb250ZXh0TWVu
dTogcmV0dXJuICJUeXBlQ29udGV4dE1lbnUiOworICAgIGNhc2UgQ3Vyc29yOjpBbGlhczogcmV0
dXJuICJUeXBlQWxpYXMiOworICAgIGNhc2UgQ3Vyc29yOjpQcm9ncmVzczogcmV0dXJuICJUeXBl
UHJvZ3Jlc3MiOworICAgIGNhc2UgQ3Vyc29yOjpOb0Ryb3A6IHJldHVybiAiVHlwZU5vRHJvcCI7
CisgICAgY2FzZSBDdXJzb3I6OkNvcHk6IHJldHVybiAiVHlwZUNvcHkiOworICAgIGNhc2UgQ3Vy
c29yOjpOb25lOiByZXR1cm4gIlR5cGVOb25lIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm90QWxsb3dl
ZDogcmV0dXJuICJUeXBlTm90QWxsb3dlZCI7CisgICAgY2FzZSBDdXJzb3I6Olpvb21JbjogcmV0
dXJuICJUeXBlWm9vbUluIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbU91dDogcmV0dXJuICJUeXBl
Wm9vbU91dCI7CisgICAgY2FzZSBDdXJzb3I6OkdyYWI6IHJldHVybiAiVHlwZUdyYWIiOworICAg
IGNhc2UgQ3Vyc29yOjpHcmFiYmluZzogcmV0dXJuICJUeXBlR3JhYmJpbmciOworICAgIGNhc2Ug
Q3Vyc29yOjpDdXN0b206IHJldHVybiAiVHlwZUN1c3RvbSI7CisgICAgfQorCisgICAgcmV0dXJu
ICJVTktOT1dOIjsKK30KKyNlbmRpZgorCitTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vy
c29ySW5mbyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlm
ICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgQ3Vy
c29yIGN1cnNvciA9IGRvY3VtZW50LT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1v
dXNlQ3Vyc29yKCk7CisKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorICAgIFN0cmluZyBy
ZXN1bHQgPSBTdHJpbmcoInR5cGU9IikgKyBjdXJzb3JUeXBlVG9TdHJpbmcoY3Vyc29yLnR5cGUo
KSkKKyAgICAgICAgKyAiIGhvdFNwb3Q9IiArIFN0cmluZzo6bnVtYmVyKGN1cnNvci5ob3RTcG90
KCkueCgpKSArICIsIiArIFN0cmluZzo6bnVtYmVyKGN1cnNvci5ob3RTcG90KCkueSgpKTsKKyAg
ICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKKyAgICAgICAgSW50U2l6ZSBzaXplID0gY3Vyc29yLmlt
YWdlKCktPnNpemUoKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiIGltYWdlPSIgKyBTdHJpbmc6
Om51bWJlcihzaXplLndpZHRoKCkpICsgIngiICsgU3RyaW5nOjpudW1iZXIoc2l6ZS5oZWlnaHQo
KSkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworI2Vsc2UKKyAgICByZXR1cm4gIkZBSUw6
IEN1cnNvciBkZXRhaWxzIG5vdCBhdmFpbGFibGUgb24gdGhpcyBwbGF0Zm9ybS4iOworI2VuZGlm
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDIxMTE3Mzk3YzgxMWM4
NThmM2IxZjQ5ZmM1N2QxNmFjMjVhNzExMjEuLjg0ZmEwMTJkYzIwNmMxYTk3NjkxYzNkZmNiZmQ5
NDdjOGZlYWZhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjQyLDYgKzI0
Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCos
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgU3RyaW5nIGdldEN1cnJlbnRDdXJzb3JJbmZvKERv
Y3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVy
bmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA3YTVhYjdiOTBlZGI2NGI2NTBk
YzM0MzdiNDNhMWQ2OTk3MWIwMWFkLi4wNjRkMDExOGYwOWM2OGU0ODQxMGEwMzY1OWRkYzRjZTU5
MjZjNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yMTAsNCArMjEw
LDcgQEAKICAgICAvLyAgc3RhcnRUcmFja2luZ1JlcGFpbnRzLCByZXBhaW50UmVjdHNBc1RleHQs
IHN0b3BUcmFja2luZ1JlcGFpbnRzLgogICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzdG9w
VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOworCisgICAgLy8gUmV0dXJucyBhIHN0cmluZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRo
ZSBtb3VzZSBjdXJzb3IgdXNlZCBhdCB0aGUgc3BlY2lmaWVkIGNsaWVudCBsb2NhdGlvbi4KKyAg
ICBET01TdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTcxYjQwMmUyZmE5NDBiYjc2YzJjM2U5
MjIxYWFhY2ZjYTNlNWMzMy4uYWIxZDY4OWY0MjgyOGNkZDM3YWE2MjhjYzA2YmVkMTk5MTUxZTA0
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTA1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJz
QGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vy
c29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
NTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgc2ltcGxlIHRlc3QgY292ZXJpbmcgdGhlIGJhc2ljIHNjZW5hcmlvcyBvZiBjaGFuZ2luZyBh
IG1vdXNlCisgICAgICAgIGN1cnNvciB3aXRoIENTUy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBvZiB0
aGUgY2FzZXMgY3VycmVudGx5IGNvdmVyZWQKKyAgICAgICAgYnkgTWFudWFsVGVzdHMvKmN1cnNv
ciouCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisK
IDIwMTItMTEtMDggIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBM
YXlvdXQgdGVzdCBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmh0bWwg
Zmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhjMTVhOTFiNDQzMDM4NmJlMzE4MTUwNDFhM2IwOWM2YTlhZmIz
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3Jz
IGFyZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0J1ZyAxMDA1NTAKKworIAorVEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhwbGlj
aXQgZGVmYXVsdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVBvaW50ZXIgaG90U3BvdD0wLDAKKwor
VEVTVCBDQVNFOiBFeHBsaWNpdCBhdXRvCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90
U3BvdD0wLDAKKworVEVTVCBDQVNFOiBObyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVO
b25lIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogUG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiAtd2Via2l0LWdyYWJiaW5nCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlR3JhYmJpbmcgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeGlz
dGluZyAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAs
MCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8g
cG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBD
QVNFOiBJbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1hZ2UKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBl
Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBl
eHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9t
IGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IGF0ICgtMSwtMSkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90
U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhv
dCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1
c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IE92ZXIgbGFyZ2UgaW1h
Z2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBo
b3RTcG90PTAsMAorCitURVNUIENBU0U6IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5
cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBNdWx0aXBsZSBp
bnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlw
ZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IE5vbmV4aXN0ZW50IFNWRyBjdXJz
b3Igd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBo
b3RTcG90PTAsMAorCitURVNUIENBU0U6IEEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IExpbmsgd2l0
aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVI
YW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogV2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5v
dCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlV2FpdCBob3RTcG90PTAsMAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYTQ4Y2IzNjIwNzk0N2ZjMTVhY2ZjYjQ3YmVhNDlhM2Q0M2Y2N2RhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0
bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPHA+PGEgaHJlZj1odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1ZyAxMDA1NTA8L2E+PC9wPgorPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgd2lkdGg9IjAiIGhlaWdodD0iMCI+CisgIDxkZWZzPgorICAgIDxjdXJz
b3IgaWQ9ImdyZWVuYm94IiB4bGluazpocmVmPSJyZXNvdXJjZXMvZ3JlZW5ib3gucG5nIiB4PSIw
IiB5PSIwIi8+CisgIDwvZGVmcz4KKzwvc3ZnPgorPGRpdiBpZD0idGVzdC1jb250YWluZXIiPgor
ICA8ZGl2PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNv
cjogZGVmYXVsdCc+RXhwbGljaXQgZGVmYXVsdDwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IGF1dG8nPkV4cGxpY2l0IGF1dG88L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBub25lJz5O
byBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBwb2ludGVyJz5Qb2ludGVyPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogLXdlYmtpdC1ncmFiYmluZyc+LXdlYmtpdC1ncmFi
YmluZzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gu
cG5nKSwgaGFuZCc+RXhpc3RpbmcgMjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgcG9pbnRlcic+SW52YWxpZCBVUkwgd2l0aCBmYWxs
YmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4
aXN0LnBuZyksIHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgcG9pbnRlcic+SW52YWxpZCB3
aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjog
dXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDAgMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBs
aWNpdCBob3Qgc3BvdCBhdCAoMCwwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJl
c291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0
IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVz
b3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQg
aG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nKSwgcG9pbnRlcic+T3ZlciBsYXJn
ZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCksIHVybCh1bmtub3duLXNjaGVtZTpj
dXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJh
Y2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybCgjbm9uZXhpc3Rl
bnQpLCBwb2ludGVyJz5Ob25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcjwvZGl2PgorICA8ZGl2PjxhIGhyZWY9JyMnPkEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29y
PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxhIGhyZWY9JyMnPkxpbmsg
d2l0aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQ8L2E+PC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogd2FpdCc+PGRpdiBzdHlsZT0nY3Vyc29yOiBkb2VzbnRleGlzdCc+V2FpdCBj
dXJzb3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxl
PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+Cit2YXIgaW1hZ2VzTGVmdFRvTG9hZCA9IDA7CisKK2Z1bmN0aW9uIG9uSW1hZ2VMb2Fk
KGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlzIG5vbi1kZXRlcm1pbmlzdGljIGFu
ZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93IHdoZW4KKyAgICAvLyBub3QgcnVu
bmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBkZWJ1Zygg
J0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdldC5zcmMpOworICAgICAgICAKKyAg
ICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPT0gMCkKKyAg
ICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA8IDApCisgICAgICAg
IHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2FsbGJhY2sgdGhhbiBleHBlY3RlZC4n
KTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQoZSkgeworCWltYWdlc0xlZnRUb0xv
YWQtLTsKKyAgICB0ZXN0RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5cGUgKyAnXCcg
ZXZlbnQgZm9yIGltYWdlOiAnICsgZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0aW9uIHJ1blRl
c3RzKCkgeworICAgIC8vIENhbid0IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdpdGhvdXQgZXZl
bnRTZW5kZXIKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHZhciBub2Rl
c1RvVGVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRhaW5lciA+IGRp
dicpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsgaSsr
KSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOworICAgICAgICAgICAg
ZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOworICAgICAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3Ag
KyAzKTsKKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0dXJl
ZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQorICAg
ICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUgZXhw
ZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0IGR1bXAKKyAgICAgICAgICAgIC8v
IGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCisgICAgICAg
ICAgICBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRD
dXJzb3JJbmZvKGRvY3VtZW50KSk7CisgICAgICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAgIH0K
KyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0IG91dHB1dCAt
IGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtY29udGFpbmVy
Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAgCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGll
ZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdGVzdEZh
aWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
K30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2UgdG8gbG9hZCBvciBmYWlsIHRvIGxvYWQg
YmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91dCB0aGlzIHdlIGNhbiBnZXQgbnVsbCBp
bWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25vd24gc2l6ZS4KK3ZhciBpbWFnZXNUb0xv
YWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gucG5nJyB9LAorICAgIHsgdXJs
OiAnZG9lc250ZXhpc3QucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ3Vua25vd24t
c2NoZW1lOmN1cnNvci5wbmcnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAnbW91c2UtY3Vy
c29yLmh0bWwnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAnI25vbmV4aXN0ZW50JywgZXJy
b3I6IHRydWUgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9IGltYWdlc1RvTG9hZC5sZW5ndGg7Citm
b3IgKHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5sZW5ndGg7IGkrKykgeworICAgIHZhciBp
bWcgPSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0RXJyb3IgPSBpbWFnZXNUb0xvYWRbaV0u
ZXJyb3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXhwZWN0RXJyb3IgPyBv
bkltYWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5l
cignZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VMb2FkIDogb25JbWFnZVVuZXhwZWN0ZWQp
OworICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0udXJsOworfQorCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTEzM2I0MTcxYWJkZWUzYjdiNjgxYWZjMDU0OGZlYjY4
YWZlMGQ0Mi4uZTdjNzIyMGRjZjgxYTVjYmZjMWU0ZDhiOTgwZmIyNGQxYmRmOTk0YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjA4
LDMgKzQyMDgsNiBAQCB3ZWJraXQub3JnL2IvMTAxNTQ3IHN2Zy9jdXN0b20vaGl0LXRlc3Qtd2l0
aC1ici54aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwMTU3NiBbIERl
YnVnIF0gZWRpdGluZy9zZWxlY3Rpb24vZm9jdXNfZWRpdGFibGVfaHRtbC5odG1sIFsgQ3Jhc2gg
XQogd2Via2l0Lm9yZy9iLzEwMTU3NiBbIERlYnVnIF0gZWRpdGluZy9zZWxlY3Rpb24vY2xpY2st
YWZ0ZXItbmVzdGVkLWJsb2NrLmh0bWwgWyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTAxNTc2IFsg
RGVidWcgXSBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLmh0bWwgWyBDcmFzaCBdCisKKyMgVGhpcyB0
ZXN0IHdpbGwgYmUgZW5hYmxlZCBzaG9ydGx5IHdoZW4gY2hyb21pdW0gbW92ZXMgdG8gdGhlIFVT
RShMQVpZX05BVElWRV9DVVJTT1IpIGluZnJhc3RydWN0dXJlCit3ZWJraXQub3JnL2IvMTAxNTAx
IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173174</attachid>
            <date>2012-11-08 19:03:14 -0800</date>
            <delta_ts>2012-11-09 05:51:06 -0800</delta_ts>
            <desc>Add export</desc>
            <filename>bug-100550-20121108220122.patch</filename>
            <type>text/plain</type>
            <size>19013</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwZWVjZThkNjQyMDI2
ODg5NjUwYWI0NWFlZjgyNTg4Njk4N2U4MC4uM2E3MzIxMGRjMmIyOTlmOTMyN2UwMmRjZWI3ZGYw
YzcxODQ2ZWE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA4ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9y
dAorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOiBLZWVwIHRyYWNrIG9mIGxhc3Qgc2V0
IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnJlbnRNb3VzZUN1cnNvcik6IE5ldyBnZXR0ZXIgZm9y
IGxhc3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmN1cnNvclR5cGVUb1N0cmluZyk6IEhlbHBlciB0byBjb252ZXJ0
IGN1cnNvciB0eXBlIHRvIGVudW0KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6IE5ldyBmdW5jdGlvbiB0byByZXR1
cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5mbworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5m
bworCiAyMDEyLTExLTA4ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFNraXAgZnJhbWUgb3duZXIgZGlzY29ubmVjdCB3aGVuIHRoZXJlJ3Mgbm8gZnJh
bWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGI2ODcxODUyZjI1OWU4MDI2MDFlYzFiZTY2MGYz
NzQ2MzRmOGY1ZWEuLjlkMTIzNjQ5Y2UxYjc4MGZiZmQ5ZjIwOTk4YzFmYjYzMDdmODQ1YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzA0LDYgKzE3MDQsNyBAQCBfX1pON1dlYkNvcmU0UGFn
ZTIxd2luZG93U2NyZWVuRGlkQ2hhbmdlRWoKIF9fWk43V2ViQ29yZTVGcmFtZTlub2RlSW1hZ2VF
UE5TXzROb2RlRQogX19aTjdXZWJDb3JlNkN1cnNvcjhmcm9tVHlwZUVOUzBfNFR5cGVFCiBfX1pO
N1dlYkNvcmU2Q3Vyc29yQzFFUE5TXzVJbWFnZUVSS05TXzhJbnRQb2ludEUKK19fWk43V2ViQ29y
ZTZDdXJzb3JDMUVSS1MwXwogX19aTjdXZWJDb3JlNkN1cnNvckQxRXYKIF9fWk43V2ViQ29yZTZD
dXJzb3JhU0VSS1MwXwogX19aTjdXZWJDb3JlNkVkaXRvcjEzY2FuREhUTUxQYXN0ZUV2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggOTIwNTVhMTIzM2E3ODQ2OTUyYjdiYmNm
YzExYWQ3M2M1YzgzZTk4Zi4uZDM4YzNjNDZhZDFkYTRjOTRlMDZjMmVkZGJlMzg0ZDc5MWQ5Y2Q2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTUyNiw3ICsxNTI2LDcg
QEAgT3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICB9CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJz
b3IoKTsKIH0KLSAgICAKKwogc3RhdGljIExheW91dFBvaW50IGRvY3VtZW50UG9pbnRGb3JXaW5k
b3dQb2ludChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkKIHsKICAg
ICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwpAQCAtMTg2Miw3ICsxODYyLDggQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91
c2VFdmVudCYgbW91c2VFdmVudCwgSGkKICAgICAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1f
ZnJhbWUtPnZpZXcoKSkgewogICAgICAgICAgICAgT3B0aW9uYWxDdXJzb3Igb3B0aW9uYWxDdXJz
b3IgPSBzZWxlY3RDdXJzb3IobWV2LCBzY3JvbGxiYXIpOwogICAgICAgICAgICAgaWYgKG9wdGlv
bmFsQ3Vyc29yLmlzQ3Vyc29yQ2hhbmdlKCkpCi0gICAgICAgICAgICAgICAgdmlldy0+c2V0Q3Vy
c29yKG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpKTsKKyAgICAgICAgICAgICAgICBtX2N1cnJlbnRN
b3VzZUN1cnNvciA9IG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpOworICAgICAgICAgICAgICAgIHZp
ZXctPnNldEN1cnNvcihtX2N1cnJlbnRNb3VzZUN1cnNvcik7CiAgICAgICAgIH0KICAgICB9CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5M2M2YjEwZWI5ODc0NGZiZjU2
N2E4MTlmMjgxNjhmMzIyYTFjMWM4Li4yYzFiNTFlYTE4ODJjOTYwZWZhODQxYmMzMzE5YTQxZWNm
NmZmOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpZm5kZWYgRXZlbnRIYW5kbGVyX2gKICNkZWZpbmUgRXZlbnRIYW5kbGVyX2gKIAorI2luY2x1
ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRHJhZ1N0
YXRlLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCByZXNpemVMYXllckRlc3Ryb3llZCgpOwogCiAgICAgSW50UG9pbnQg
Y3VycmVudE1vdXNlUG9zaXRpb24oKSBjb25zdDsKKyAgICBDdXJzb3IgY3VycmVudE1vdXNlQ3Vy
c29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50TW91c2VDdXJzb3I7IH0KIAogICAgIHN0YXRp
YyBGcmFtZSogc3ViZnJhbWVGb3JUYXJnZXROb2RlKE5vZGUqKTsKICAgICBzdGF0aWMgRnJhbWUq
IHN1YmZyYW1lRm9ySGl0VGVzdFJlc3VsdChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzJik7CkBAIC00MjAsNiArNDIyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Tm9kZT4gbV9s
YXN0Tm9kZVVuZGVyTW91c2U7CiAgICAgUmVmUHRyPEZyYW1lPiBtX2xhc3RNb3VzZU1vdmVFdmVu
dFN1YmZyYW1lOwogICAgIFJlZlB0cjxTY3JvbGxiYXI+IG1fbGFzdFNjcm9sbGJhclVuZGVyTW91
c2U7CisgICAgQ3Vyc29yIG1fY3VycmVudE1vdXNlQ3Vyc29yOwogCiAgICAgaW50IG1fY2xpY2tD
b3VudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9jbGlja05vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKaW5kZXggZTRkMzA4NDEwYTA2MzM2OGZjZWM2MGMyZGVjMzkyYmY3ZTJlOWRh
Ny4uMzFmMmYxZjBjYTViMjBmMzk0MmI3Y2RiOGU0NjQwN2JiZGZlZWZmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkNsaWVu
dFJlY3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5oIgogI2luY2x1ZGUgIkNvbXBvc2Vk
U2hhZG93VHJlZVdhbGtlci5oIgorI2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRPTVN0
cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5o
IgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCisjaW5j
bHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1
ZGUgIkZvcm1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTkzLDcgKzk1LDYg
QEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKFRPVUNIX0FESlVTVE1FTlQpCi0jaW5jbHVkZSAiRXZl
bnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0UG9pbnQuaCIKICNlbmRpZgogCkBAIC0xNDc3
LDQgKzE0NzgsODAgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BUcmFja2luZ1JlcGFpbnRzKERvY3Vt
ZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZnJhbWVWaWV3LT5zZXRUcmFj
a3NSZXBhaW50cyhmYWxzZSk7CiB9CiAKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorc3Rh
dGljIGNvbnN0IGNoYXIqIGN1cnNvclR5cGVUb1N0cmluZyhDdXJzb3I6OlR5cGUgY3Vyc29yVHlw
ZSkKK3sKKyAgICBzd2l0Y2ggKGN1cnNvclR5cGUpIHsKKyAgICBjYXNlIEN1cnNvcjo6UG9pbnRl
cjogcmV0dXJuICJUeXBlUG9pbnRlciI7CisgICAgY2FzZSBDdXJzb3I6OkNyb3NzOiByZXR1cm4g
IlR5cGVDcm9zcyI7CisgICAgY2FzZSBDdXJzb3I6OkhhbmQ6IHJldHVybiAiVHlwZUhhbmQiOwor
ICAgIGNhc2UgQ3Vyc29yOjpJQmVhbTogcmV0dXJuICJUeXBlSUJlYW0iOworICAgIGNhc2UgQ3Vy
c29yOjpXYWl0OiByZXR1cm4gIlR5cGVXYWl0IjsKKyAgICBjYXNlIEN1cnNvcjo6SGVscDogcmV0
dXJuICJUeXBlSGVscCI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6IHJldHVybiAiVHlw
ZUVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RSZXNpemU6IHJldHVybiAi
VHlwZU5vcnRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZTog
cmV0dXJuICJUeXBlTm9ydGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhSZXNp
emU6IHJldHVybiAiVHlwZVNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0
UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpT
b3V0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBD
dXJzb3I6Oldlc3RSZXNpemU6IHJldHVybiAiVHlwZVdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vy
c29yOjpOb3J0aFNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFNvdXRoUmVzaXplIjsKKyAg
ICBjYXNlIEN1cnNvcjo6RWFzdFdlc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RXZXN0UmVzaXpl
IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5
cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RT
b3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6OkNvbHVtblJlc2l6ZTogcmV0dXJuICJUeXBlQ29sdW1uUmVzaXplIjsK
KyAgICBjYXNlIEN1cnNvcjo6Um93UmVzaXplOiByZXR1cm4gIlR5cGVSb3dSZXNpemUiOworICAg
IGNhc2UgQ3Vyc29yOjpNaWRkbGVQYW5uaW5nOiByZXR1cm4gIlR5cGVNaWRkbGVQYW5uaW5nIjsK
KyAgICBjYXNlIEN1cnNvcjo6RWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZUVhc3RQYW5uaW5nIjsK
KyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFBhbm5pbmci
OworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aEVh
c3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJU
eXBlTm9ydGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUGFubmluZzogcmV0
dXJuICJUeXBlU291dGhQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UGFubmlu
ZzogcmV0dXJuICJUeXBlU291dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRo
V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vy
c29yOjpXZXN0UGFubmluZzogcmV0dXJuICJUeXBlV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vy
c29yOjpNb3ZlOiByZXR1cm4gIlR5cGVNb3ZlIjsKKyAgICBjYXNlIEN1cnNvcjo6VmVydGljYWxU
ZXh0OiByZXR1cm4gIlR5cGVWZXJ0aWNhbFRleHQiOworICAgIGNhc2UgQ3Vyc29yOjpDZWxsOiBy
ZXR1cm4gIlR5cGVDZWxsIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29udGV4dE1lbnU6IHJldHVybiAi
VHlwZUNvbnRleHRNZW51IjsKKyAgICBjYXNlIEN1cnNvcjo6QWxpYXM6IHJldHVybiAiVHlwZUFs
aWFzIjsKKyAgICBjYXNlIEN1cnNvcjo6UHJvZ3Jlc3M6IHJldHVybiAiVHlwZVByb2dyZXNzIjsK
KyAgICBjYXNlIEN1cnNvcjo6Tm9Ecm9wOiByZXR1cm4gIlR5cGVOb0Ryb3AiOworICAgIGNhc2Ug
Q3Vyc29yOjpDb3B5OiByZXR1cm4gIlR5cGVDb3B5IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9uZTog
cmV0dXJuICJUeXBlTm9uZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vdEFsbG93ZWQ6IHJldHVybiAi
VHlwZU5vdEFsbG93ZWQiOworICAgIGNhc2UgQ3Vyc29yOjpab29tSW46IHJldHVybiAiVHlwZVpv
b21JbiI7CisgICAgY2FzZSBDdXJzb3I6Olpvb21PdXQ6IHJldHVybiAiVHlwZVpvb21PdXQiOwor
ICAgIGNhc2UgQ3Vyc29yOjpHcmFiOiByZXR1cm4gIlR5cGVHcmFiIjsKKyAgICBjYXNlIEN1cnNv
cjo6R3JhYmJpbmc6IHJldHVybiAiVHlwZUdyYWJiaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Q3Vz
dG9tOiByZXR1cm4gIlR5cGVDdXN0b20iOworICAgIH0KKworICAgIHJldHVybiAiVU5LTk9XTiI7
Cit9CisjZW5kaWYKKworU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvckluZm8oRG9j
dW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50
IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VS
UjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKworICAgIEN1cnNvciBjdXJzb3Ig
PSBkb2N1bWVudC0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmN1cnJlbnRNb3VzZUN1cnNvcigp
OworCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyAgICBTdHJpbmcgcmVzdWx0ID0gU3Ry
aW5nKCJ0eXBlPSIpICsgY3Vyc29yVHlwZVRvU3RyaW5nKGN1cnNvci50eXBlKCkpCisgICAgICAg
ICsgIiBob3RTcG90PSIgKyBTdHJpbmc6Om51bWJlcihjdXJzb3IuaG90U3BvdCgpLngoKSkgKyAi
LCIgKyBTdHJpbmc6Om51bWJlcihjdXJzb3IuaG90U3BvdCgpLnkoKSk7CisgICAgaWYgKGN1cnNv
ci5pbWFnZSgpKSB7CisgICAgICAgIEludFNpemUgc2l6ZSA9IGN1cnNvci5pbWFnZSgpLT5zaXpl
KCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoIiBpbWFnZT0iICsgU3RyaW5nOjpudW1iZXIoc2l6
ZS53aWR0aCgpKSArICJ4IiArIFN0cmluZzo6bnVtYmVyKHNpemUuaGVpZ2h0KCkpKTsKKyAgICB9
CisgICAgcmV0dXJuIHJlc3VsdDsKKyNlbHNlCisgICAgcmV0dXJuICJGQUlMOiBDdXJzb3IgZGV0
YWlscyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIjsKKyNlbmRpZgorfQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyMTExNzM5N2M4MTFjODU4ZjNiMWY0OWZj
NTdkMTZhYzI1YTcxMTIxLi44NGZhMDEyZGMyMDZjMWE5NzY5MWMzZGZjYmZkOTQ3YzhmZWFmYTVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI0Miw2ICsyNDIsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlv
bkNvZGUmKTsKIAorICAgIFN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCosIEV4
Y2VwdGlvbkNvZGUmKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1l
bnQqKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggN2E1YWI3YjkwZWRiNjRiNjUwZGMzNDM3YjQzYTFk
Njk5NzFiMDFhZC4uMDY0ZDAxMThmMDljNjhlNDg0MTBhMDM2NTlkZGM0Y2U1OTI2YzZlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjEwLDQgKzIxMCw3IEBACiAgICAg
Ly8gIHN0YXJ0VHJhY2tpbmdSZXBhaW50cywgcmVwYWludFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tp
bmdSZXBhaW50cy4KICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBk
b2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVw
YWludHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAg
IC8vIFJldHVybnMgYSBzdHJpbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW91c2UgY3Vy
c29yIHVzZWQgYXQgdGhlIHNwZWNpZmllZCBjbGllbnQgbG9jYXRpb24uCisgICAgRE9NU3RyaW5n
IGdldEN1cnJlbnRDdXJzb3JJbmZvKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE3MWI0MDJlMmZhOTQwYmI3NmMyYzNlOTIyMWFhYWNmY2Ez
ZTVjMzMuLmFiMWQ2ODlmNDI4MjhjZGQzN2FhNjI4Y2MwNmJlZDE5OTE1MWUwNDUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0xMS0wNSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHNpbXBsZSB0
ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBtb3VzZQorICAg
ICAgICBjdXJzb3Igd2l0aCBDU1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2YgdGhlIGNhc2VzIGN1
cnJlbnRseSBjb3ZlcmVkCisgICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJzb3IqLgorCisgICAg
ICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTA4
ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IHRlc3Qg
ZWRpdGluZy9wYXN0ZWJvYXJkL2ZpbGUtZHJhZy10by1lZGl0YWJsZS5odG1sIGZsYWt5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44YzE1YTkxYjQ0MzAzODZiZTMxODE1MDQxYTNiMDljNmE5YWZiMzlmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcyIEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGll
ZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAwNTUw
CisKKyAKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4cGxpY2l0IGRlZmF1bHQK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVQb2ludGVyIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTog
RXhwbGljaXQgYXV0bworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogTm8gY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlTm9uZSBob3RTcG90
PTAsMAorCitURVNUIENBU0U6IFBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhv
dFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogLXdlYmtpdC1ncmFiYmluZworQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUdyYWJiaW5nIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUg
aW1hZ2UKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4
MjUKKworVEVTVCBDQVNFOiBJbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogSW52YWxp
ZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBs
aWNpdCBob3Qgc3BvdCBhdCAoMCwwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90
IHNwb3QgYXQgKDIwLDEwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTIw
LDEwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBhdCAoLTEsLTEpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGlt
YWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRz
aWRlIGltYWdlIGF0ICgzMCwzMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3Bv
dD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBPdmVyIGxhcmdlIGltYWdlIHdpdGggZmFs
bGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiBTVkcgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhv
dFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogTXVsdGlwbGUgaW52YWxpZCBjdXJz
b3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQg
aG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFs
bGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiBBIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBMaW5rIHdpdGggZGVmYXVsdCBj
dXJzb3Igb3ZlcnJpZGluZyB3YWl0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90
PTAsMAorCitURVNUIENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0
ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90
U3BvdD0wLDAKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmE0OGNiMzYyMDc5NDdmYzE1YWNmY2I0N2JlYTQ5YTNkNDNmNjdkYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCkBAIC0wLDAg
KzEsMTE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxwPjxhIGhyZWY9aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDU1MD5CdWcgMTAwNTUwPC9hPjwvcD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiPgorICA8ZGVmcz4KKyAgICA8Y3Vyc29yIGlkPSJncmVl
bmJveCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL2dyZWVuYm94LnBuZyIgeD0iMCIgeT0iMCIvPgor
ICA8L2RlZnM+Cis8L3N2Zz4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBs
aWNpdCBkZWZhdWx0IGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGRlZmF1bHQn
PkV4cGxpY2l0IGRlZmF1bHQ8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBhdXRvJz5FeHBs
aWNpdCBhdXRvPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogbm9uZSc+Tm8gY3Vyc29yPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogcG9pbnRlcic+UG9pbnRlcjwvZGl2PgorICA8ZGl2
IHN0eWxlPSdjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmcnPi13ZWJraXQtZ3JhYmJpbmc8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIGhhbmQn
PkV4aXN0aW5nIDI1eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRv
ZXNudGV4aXN0LnBuZyksIHBvaW50ZXInPkludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCB1
cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIHBvaW50ZXInPkludmFsaWQgd2l0aCBmYWxsYmFj
ayB0byAyNXgyNSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nKSAwIDAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNw
b3QgYXQgKDAsMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dy
ZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qg
YXQgKDIwLDEwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3Jl
ZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBh
dCAoLTEsLTEpPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVl
bmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91
dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChy
ZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0
aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNn
cmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyks
IHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50
ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRl
cic+Tm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4K
KyAgPGRpdj48YSBocmVmPScjJz5BIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB3YWl0Jz48YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVs
dCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHdhaXQnPjxkaXYgc3R5bGU9J2N1cnNvcjogZG9lc250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNo
IHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2
PgorPC9kaXY+Cis8YnIvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFy
IGltYWdlc0xlZnRUb0xvYWQgPSAwOworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAg
ICAvLyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMg
YWJzb2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJU
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyAr
IGUudHlwZSArICciOiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVm
dFRvTG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRl
c3RzKCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVk
KCdHb3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1
bmN0aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAg
dGVzdEZhaWxlZCgnR290IHVuZXhwZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBp
bWFnZTogJyArIGUudGFyZ2V0LnNyYyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAg
ICAvLyBDYW4ndCBkbyBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisg
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAg
ICAgICAgdmFyIG5vZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNU
IENBU0U6ICcgKyBub2RlLnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wICsgMyk7CisgICAg
ICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGlj
aCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8v
IHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1
dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5z
cGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWco
J0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhk
b2N1bWVudCkpOworICAgICAgICAgICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8v
IFRoaXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRp
c3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitk
ZXNjcmlwdGlvbigiVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5
LiIpOworCitpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMg
dGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5v
dyB3YWl0IGZvciBlYWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFy
dGluZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRo
ZSBjdXJzb3JzIC0gZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAg
IHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4
aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJz
b3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywg
ZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVycm9yOiB0cnVlIH0g
XTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9
IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgaW1nID0gbmV3IElt
YWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAg
ICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhw
ZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywg
ZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcu
c3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDUxMzNiNDE3MWFiZGVlM2I3YjY4MWFmYzA1NDhmZWI2OGFmZTBkNDIuLmU3
YzcyMjBkY2Y4MWE1Y2JmYzFlNGQ4Yjk4MGZiMjRkMWJkZjk5NGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDIwOCwzICs0MjA4LDYg
QEAgd2Via2l0Lm9yZy9iLzEwMTU0NyBzdmcvY3VzdG9tL2hpdC10ZXN0LXdpdGgtYnIueGh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDE1NzYgWyBEZWJ1ZyBdIGVkaXRp
bmcvc2VsZWN0aW9uL2ZvY3VzX2VkaXRhYmxlX2h0bWwuaHRtbCBbIENyYXNoIF0KIHdlYmtpdC5v
cmcvYi8xMDE1NzYgWyBEZWJ1ZyBdIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWFmdGVyLW5lc3Rl
ZC1ibG9jay5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEwMTU3NiBbIERlYnVnIF0gZmFz
dC9ldmVudHMvYXV0b3Njcm9sbC5odG1sIFsgQ3Jhc2ggXQorCisjIFRoaXMgdGVzdCB3aWxsIGJl
IGVuYWJsZWQgc2hvcnRseSB3aGVuIGNocm9taXVtIG1vdmVzIHRvIHRoZSBVU0UoTEFaWV9OQVRJ
VkVfQ1VSU09SKSBpbmZyYXN0cnVjdHVyZQord2Via2l0Lm9yZy9iLzEwMTUwMSBmYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3IuaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173175</attachid>
            <date>2012-11-08 19:08:29 -0800</date>
            <delta_ts>2012-11-08 19:13:49 -0800</delta_ts>
            <desc>Ignore - wrong bug</desc>
            <filename>bug-100550-20121108220637.patch</filename>
            <type>text/plain</type>
            <size>4398</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzOTM0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmRlZDdlODE4N2IxOGIxNzY2Mzdl
YjkzNzI5YzU3OTllYzJjNTMyNi4uYTcxYjQwMmUyZmE5NDBiYjc2YzJjM2U5MjIxYWFhY2ZjYTNl
NWMzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTA4ICBUb255IENoYW5nICA8dG9u
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTGF5b3V0IHRlc3QgZWRpdGluZy9wYXN0ZWJvYXJk
L2ZpbGUtZHJhZy10by1lZGl0YWJsZS5odG1sIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwOTIKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgRml4IGEgZmxha3kgdGVzdC4gIFRoZSBwcm9ibGVtIHdh
cyB0aGF0IHdlIHdlcmUgY29uZnVzaW5nIHRoZSB0ZXN0IGhhcm5lc3MgYnkKKyAgICAgICAgdHJ5
aW5nIHRvIGRvIGEgbmF2aWdhdGlvbiBiZWZvcmUgdGhlIGluaXRpYWwgbG9hZCBmaW5pc2hlZCAo
dGhlIG5vdGlmeURvbmUoKQorICAgICAgICBjYWxsIGRpZCBub3RoaW5nIGJlY2F1c2Ugd2FpdFVu
dGlsRG9uZSgpIHdhcyBtaXNzaW5nKS4gIERlcGVuZGluZyBvbiB0aGUgc3RhdGUKKyAgICAgICAg
b2YgdGhlIGZyYW1lIGxvYWRlciB3aGVuIHRoZSB0ZXN0IHJ1biwgdGhlcmUgd2FzIGEgcmFjZSBp
biB3aGV0aGVyIG9yIG5vdCB3ZQorICAgICAgICB3b3VsZCBkdW1wIHRoZSByZXN1bHRzIGJlZm9y
ZSBvciBhZnRlciBjb21wbGV0aW5nIHRoZSBzY3JpcHQgZXhlY3V0aW9uLgorCisgICAgICAgIEZp
eCB0aGlzIGJ5IHJlc3RydWN0dXJpbmcgdGhlIHRlc3QgdG8gcnVuIGR1cmluZyBvbmxvYWQgYW5k
IGJ5IGNhbGxpbmcgbm90aWZ5RG9uZSgpCisgICAgICAgIGFmdGVyIHRoZSBmaWxlIGxvYWQgYXR0
ZW1wdCBmYWlsZWQuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRv
LWVkaXRhYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvc2Ny
aXB0LXRlc3RzL2ZpbGUtZHJhZy10by1lZGl0YWJsZS5qczoKKyAgICAgICAgKHJ1blRlc3Qud2lu
ZG93Lm9uYmVmb3JldW5sb2FkKTogU2ltcGxpZnkgYW5kIGRvbid0IHJ1biBub2ZpdHlEb25lIHll
dC4KKyAgICAgICAgKHJ1blRlc3QpOiBSdW4gdGVzdCBkdXJpbmcgb25sb2FkIGV2ZW50LgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZSBmbGFreSBt
YXJrZXIuCisKIDIwMTItMTEtMDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXcm9uZyBlcnJvciB0eXBlIGlzIHRocm93biBmb3IgdHlwZSBlcnJvcnMgaW4g
Y2FsbGJhY2tzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZmls
ZS1kcmFnLXRvLWVkaXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9maWxlLWRyYWctdG8tZWRpdGFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDYyZjVhZTBi
YjcwZGE4MzQ5ODkzYzNmNzUzNGI5MWFlZTcwYzAyODcuLjRjMjE0MTdkMWM3ZmIzODk1ZjhmYThj
YWZiZWVkZWVjNTcxMGJlZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9maWxlLWRyYWctdG8tZWRpdGFibGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9maWxlLWRyYWctdG8tZWRpdGFibGUtZXhwZWN0ZWQudHh0CkBA
IC0zLDYgKzMsNyBAQCBUZXN0cyB0aGF0IGRyYWdnaW5nIGEgZmlsZSBpbnRvIGFuIGVkaXRhYmxl
IGFyZWEgZG9lcyBub3QgaW5zZXJ0IGEgZmlsZW5hbWUuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCiAKIAorUEFTUyB3aW5kb3cuYXR0ZW1wdGVkRmlsZU5hdmlnYXRpb24gaXMgdHJ1ZQogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvc2NyaXB0LXRlc3RzL2ZpbGUtZHJhZy10
by1lZGl0YWJsZS5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9zY3JpcHQtdGVz
dHMvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmpzCmluZGV4IGQ3ZGRlMTg0M2ZmMTYzMjJmZGMyZDdk
N2NkNzk2MzkxMjIyNTBiNjguLjIwNjc3ODE4YzZlNDYxZmNlYzA1MjA3MWZiODE1NmMxZDcyODRi
MTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9zY3JpcHQtdGVz
dHMvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmpzCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9zY3JpcHQtdGVzdHMvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmpzCkBAIC0yNSwyNCAr
MjUsMjMgQEAgZnVuY3Rpb24gZHJhZ0ZpbGVzT250b0VkaXRhYmxlQXJlYShmaWxlcykKIGZ1bmN0
aW9uIHJ1blRlc3QoKQogewogICAgIHdpbmRvdy5vbmJlZm9yZXVubG9hZCA9IGZ1bmN0aW9uKCkg
ewotICAgICAgICBzaG91bGRCZVRydWUoJ3N1Y2Nlc3NmdWxseVBhcnNlZCcpOwotICAgICAgICBk
ZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Cisg
ICAgICAgIHdpbmRvdy5hdHRlbXB0ZWRGaWxlTmF2aWdhdGlvbiA9IHRydWU7CiAKICAgICAgICAg
Ly8gRG9uJ3QgcmVtb3ZlIHRoZSBlZGl0YWJsZSBub2RlLCBzaW5jZSB3ZSB3YW50IHRvIG1ha2Ug
c3VyZSB0aGVyZSBubyBzdHJheSBmaWxlIFVSTHMgd2VyZQogICAgICAgICAvLyBpbnNlcnRlZCBk
dXJpbmcgdGhlIGRyb3AuCi0KLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0KLSAg
ICAgICAgd2luZG93Lm9uYmVmb3JldW5sb2FkID0gbnVsbDsKICAgICB9OwogICAgIGRyYWdGaWxl
c09udG9FZGl0YWJsZUFyZWEoWydEUlRGYWtlRmlsZSddKTsKLSAgICB0ZXN0RmFpbGVkKCdUaGUg
dGVzdCBzaG91bGQgaGF2ZSByZXN1bHRlZCBpbiBuYXZpZ2F0aW9uJyk7CisKKyAgICBzaG91bGRC
ZVRydWUoIndpbmRvdy5hdHRlbXB0ZWRGaWxlTmF2aWdhdGlvbiIpOworICAgIGZpbmlzaEpTVGVz
dCgpOwogfQogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewotICAgIHJ1blRlc3QoKTsKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIgJiYg
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICB3aW5kb3cub25sb2FkID0gcnVuVGVzdDsKIH0gZWxzZSB7CiAgICAgdGVzdEZhaWxlZCgn
VGhpcyB0ZXN0IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1c2luZyBEdW1wUmVuZGVy
VHJlZScpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZGFlOGIxMjkwYWI3ZTgxNjM5NmI5MDBmMzM3N2ZhZGQ3MTRjZTgzYi4uNTEz
M2I0MTcxYWJkZWUzYjdiNjgxYWZjMDU0OGZlYjY4YWZlMGQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MDc0LDkgKzQwNzQsNiBA
QCB3ZWJraXQub3JnL2IvOTQyNDAgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9kZWZlcnJlZC9m
YXN0L2ltYWdlcy9zdXBwb3J0LWJyb2tlbgogIyBUaGlzIHJlZi10ZXN0IGRvZXNuJ3Qgd29yayBv
biBDaHJvbWl1bSBNYWMgKCJUZXN0IiBpcyBvZmZzZXQpLgogd2Via2l0Lm9yZy9iLzEwMTA5MyBb
IE1hYyBdIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtem9vbS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiAKLSMgRmxha3kgc2luY2UgcjEzMzA2OQotd2Via2l0Lm9yZy9iLzEwMTA5MiBbIE1h
YyBXaW4gRGVidWcgXSBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmh0
bWwgWyBGYWlsdXJlIFBhc3MgXQotCiAjIENyYXNoeSBzaW5jZSBhdCBsZWFzdCByMTMzMDM1OyBn
aXZlcyBhIHY4IGVycm9yCiB3ZWJraXQub3JnL2IvMTAxMDk5IFsgTGludXggRGVidWcgXSBmYXN0
L2ZpbGVzL3dvcmtlcnMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXhoci5odG1sIFsgQ3Jhc2gg
UGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173281</attachid>
            <date>2012-11-09 05:51:12 -0800</date>
            <delta_ts>2012-11-09 06:45:46 -0800</delta_ts>
            <desc>More exports</desc>
            <filename>bug-100550-20121109084919.patch</filename>
            <type>text/plain</type>
            <size>23695</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0Y2JlNzM1MzBhZjlk
ODM1ZTk2MzJjYWY1NDE4MTU2MTVhZWJiZS4uMDczOTZkNjFiNTQ2MDA5MzNmMTU4ZmFmZTdkZWUz
ZDk5YzEzMjIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9y
dAorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOiBLZWVwIHRyYWNrIG9mIGxhc3Qgc2V0
IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnJlbnRNb3VzZUN1cnNvcik6IE5ldyBnZXR0ZXIgZm9y
IGxhc3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmN1cnNvclR5cGVUb1N0cmluZyk6IEhlbHBlciB0byBjb252ZXJ0
IGN1cnNvciB0eXBlIHRvIGVudW0KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6IE5ldyBmdW5jdGlvbiB0byByZXR1
cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5mbworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5m
bworCiAyMDEyLTExLTA3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHdyb25nIG91dHB1dCBmb3IgZW1wdHkgb2JqZWN0IHt9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNjUwMTE2ODRkMGYxOWQ5YTVkMzFlYzk3YTBjOTRjMmZjZWM5NzljMi4u
YTE2NjkxMGU4ZWYzYWM2NzNlM2JmMjhlZDM4YzI1NzAwOWRjNWRiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBl
eHBvcnRzIGZvciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEy
LTExLTA5ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXVtXSzJdW0FDXSBSYW5kb20gY3Jhc2hlcyBpbiBsYXlvdXQgdGVzdHMgb24gdGhlIGJvdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhNWYyMzY3YWIxMmU1NTRkNDhmOGFjMTQ1NTJhZGEwY2U2
M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5ZWFhYTQ4ZjBhMDBhYTUwNjhkYzNjZGFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2ICsxNzExLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMXdp
bmRvd1NjcmVlbkRpZENoYW5nZUVqCiBfX1pON1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180
Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJzb3I4ZnJvbVR5cGVFTlMwXzRUeXBlRQogX19aTjdXZWJD
b3JlNkN1cnNvckMxRVBOU181SW1hZ2VFUktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU2Q3Vy
c29yQzFFUktTMF8KIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CiBfX1pON1dlYkNvcmU2Q3Vyc29y
YVNFUktTMF8KIF9fWk43V2ViQ29yZTZFZGl0b3IxM2NhbkRIVE1MUGFzdGVFdgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA3ZTFiNzNhYjk4MjMyYjBmODM0NDE5NjQ1ZjM4
ZDVjOTY1ZmM0YWEuLjdkNzg4ODNmNDYyNDIyNzUwNDZjMjA1MzYwNDdiZjIyY2IwNmU1YjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1MjYsNyArMTUyNiw3IEBAIE9w
dGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1vdXNlRXZlbnRX
aXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgfQogICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7
CiB9Ci0gICAgCisKIHN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKQEAgLTE4NjIsNyArMTg2Miw4IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmIG1vdXNlRXZlbnQsIEhpCiAgICAgICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT52aWV3KCkpIHsKICAgICAgICAgICAgIE9wdGlvbmFsQ3Vyc29yIG9wdGlvbmFsQ3Vyc29yID0g
c2VsZWN0Q3Vyc29yKG1ldiwgc2Nyb2xsYmFyKTsKICAgICAgICAgICAgIGlmIChvcHRpb25hbEN1
cnNvci5pc0N1cnNvckNoYW5nZSgpKQotICAgICAgICAgICAgICAgIHZpZXctPnNldEN1cnNvcihv
cHRpb25hbEN1cnNvci5jdXJzb3IoKSk7CisgICAgICAgICAgICAgICAgbV9jdXJyZW50TW91c2VD
dXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsKKyAgICAgICAgICAgICAgICB2aWV3LT5z
ZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOTNjNmIxMGViOTg3NDRmYmY1NjdhODE5
ZjI4MTY4ZjMyMmExYzFjOC4uMmMxYjUxZWExODgyYzk2MGVmYTg0MWJjMzMxOWE0MWVjZjZmZjlh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIEV2ZW50SGFuZGxlcl9oCiAjZGVmaW5lIEV2ZW50SGFuZGxlcl9oCiAKKyNpbmNsdWRlICJD
dXJzb3IuaCIKICNpbmNsdWRlICJEcmFnQWN0aW9ucy5oIgogI2luY2x1ZGUgIkRyYWdTdGF0ZS5o
IgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCkBAIC0xNDEsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzaXplTGF5ZXJEZXN0cm95ZWQoKTsKIAogICAgIEludFBvaW50IGN1cnJl
bnRNb3VzZVBvc2l0aW9uKCkgY29uc3Q7CisgICAgQ3Vyc29yIGN1cnJlbnRNb3VzZUN1cnNvcigp
IGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudE1vdXNlQ3Vyc29yOyB9CiAKICAgICBzdGF0aWMgRnJh
bWUqIHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShOb2RlKik7CiAgICAgc3RhdGljIEZyYW1lKiBzdWJm
cmFtZUZvckhpdFRlc3RSZXN1bHQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYp
OwpAQCAtNDIwLDYgKzQyMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fbGFzdE5v
ZGVVbmRlck1vdXNlOwogICAgIFJlZlB0cjxGcmFtZT4gbV9sYXN0TW91c2VNb3ZlRXZlbnRTdWJm
cmFtZTsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlOwor
ICAgIEN1cnNvciBtX2N1cnJlbnRNb3VzZUN1cnNvcjsKIAogICAgIGludCBtX2NsaWNrQ291bnQ7
CiAgICAgUmVmUHRyPE5vZGU+IG1fY2xpY2tOb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IGU0ZDMwODQxMGEwNjMzNjhmY2VjNjBjMmRlYzM5MmJmN2UyZTlkYTcuLjMx
ZjJmMWYwY2E1YjIwZjM5NDJiN2NkYjhlNDY0MDdiYmRmZWVmZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJDbGllbnRSZWN0
LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRlICJDb21wb3NlZFNoYWRv
d1RyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJET01TdHJpbmdM
aXN0LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAg
LTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgorI2luY2x1ZGUg
IkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJG
b3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC05Myw3ICs5NSw2IEBACiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQotI2luY2x1ZGUgIkV2ZW50SGFu
ZGxlci5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjZW5kaWYKIApAQCAtMTQ3Nyw0ICsx
NDc4LDgwIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCog
ZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmlldy0+c2V0VHJhY2tzUmVw
YWludHMoZmFsc2UpOwogfQogCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKK3N0YXRpYyBj
b25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCit7
CisgICAgc3dpdGNoIChjdXJzb3JUeXBlKSB7CisgICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6IHJl
dHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2UgQ3Vyc29yOjpDcm9zczogcmV0dXJuICJUeXBl
Q3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5cGVIYW5kIjsKKyAgICBj
YXNlIEN1cnNvcjo6SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAgICBjYXNlIEN1cnNvcjo6
V2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAgY2FzZSBDdXJzb3I6OkhlbHA6IHJldHVybiAi
VHlwZUhlbHAiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVO
b3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RSZXNpemU6IHJldHVy
biAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6
ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhX
ZXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6
Tm9ydGhTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7CisgICAgY2Fz
ZSBDdXJzb3I6OkVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9y
dGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhF
YXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUiOworICAgIGNh
c2UgQ3Vyc29yOjpDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKKyAgICBjYXNl
IEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7CisgICAg
Y2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7CisgICAg
Y2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0UGFu
bmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5v
cnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAi
VHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJl
dHVybiAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RQ
YW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6
V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6
TW92ZTogcmV0dXJuICJUeXBlTW92ZSI7CisgICAgY2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4dDog
cmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0dXJu
ICJUeXBlQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51OiByZXR1cm4gIlR5cGVD
b250ZXh0TWVudSI7CisgICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7
CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7CisgICAg
Y2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKKyAgICBjYXNlIEN1cnNv
cjo6Q29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVy
biAiVHlwZU5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5cGVO
b3RBbGxvd2VkIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4i
OworICAgIGNhc2UgQ3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0IjsKKyAgICBj
YXNlIEN1cnNvcjo6R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7CisgICAgY2FzZSBDdXJzb3I6Okdy
YWJiaW5nOiByZXR1cm4gIlR5cGVHcmFiYmluZyI7CisgICAgY2FzZSBDdXJzb3I6OkN1c3RvbTog
cmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIlVOS05PV04iOworfQor
I2VuZGlmCisKK1N0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50
KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAh
ZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBDdXJzb3IgY3Vyc29yID0gZG9j
dW1lbnQtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VDdXJzb3IoKTsKKwor
I2lmIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmluZygi
dHlwZT0iKSArIGN1cnNvclR5cGVUb1N0cmluZyhjdXJzb3IudHlwZSgpKQorICAgICAgICArICIg
aG90U3BvdD0iICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS54KCkpICsgIiwiICsg
U3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS55KCkpOworICAgIGlmIChjdXJzb3IuaW1h
Z2UoKSkgeworICAgICAgICBJbnRTaXplIHNpemUgPSBjdXJzb3IuaW1hZ2UoKS0+c2l6ZSgpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKCIgaW1hZ2U9IiArIFN0cmluZzo6bnVtYmVyKHNpemUud2lk
dGgoKSkgKyAieCIgKyBTdHJpbmc6Om51bWJlcihzaXplLmhlaWdodCgpKSk7CisgICAgfQorICAg
IHJldHVybiByZXN1bHQ7CisjZWxzZQorICAgIHJldHVybiAiRkFJTDogQ3Vyc29yIGRldGFpbHMg
bm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjExMTczOTdjODExYzg1OGYzYjFmNDlmYzU3ZDE2
YWMyNWE3MTEyMS4uODRmYTAxMmRjMjA2YzFhOTc2OTFjM2RmY2JmZDk0N2M4ZmVhZmE1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yNDIsNiArMjQyLDggQEAgcHVibGljOgog
ICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2Rl
Jik7CiAKKyAgICBTdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oRG9jdW1lbnQqLCBFeGNlcHRp
b25Db2RlJik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7
CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDdhNWFiN2I5MGVkYjY0YjY1MGRjMzQzN2I0M2ExZDY5OTcx
YjAxYWQuLjA2NGQwMTE4ZjA5YzY4ZTQ4NDEwYTAzNjU5ZGRjNGNlNTkyNmM2ZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIxMCw0ICsyMTAsNyBAQAogICAgIC8vICBz
dGFydFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRSZWN0c0FzVGV4dCwgc3RvcFRyYWNraW5nUmVw
YWludHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9jdW1l
bnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRz
KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAvLyBS
ZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vdXNlIGN1cnNvciB1
c2VkIGF0IHRoZSBzcGVjaWZpZWQgY2xpZW50IGxvY2F0aW9uLgorICAgIERPTVN0cmluZyBnZXRD
dXJyZW50Q3Vyc29ySW5mbyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA5NjYyODJmOThjNGY3N2RmMTg5MWNl
MWU5ZjEwNTNlYWE5MTIwYmYwLi4yMjlkYTc1NmYzYmM5YWFkYTZkNDZhMDIwNjBmNDFhYzMxNjY5
ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNTMsNiArMTUzLDggQEAgRVhQT1JUUwog
ICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xp
ZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBA
JDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgor
ICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJD
b3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAg
ICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdC
b3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAtMTYx
LDYgKzE2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBDQT9B
Vj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRAQXRv
bWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkVA
WgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQ
dHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2FwcGVu
ZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdl
YkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQ
QlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRl
bUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRlQEhU
TUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRF
bGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyQ0ZMaXRlLmRlZgppbmRleCBjNzk2YjYwMTYxMTg2YTExNDM3NGY3ZDAyOGRhMTM4NWQzZGU2
YTY2Li41ZWYwN2VhYmViYWQ3YjJjNzA0ODllMTRjYjYyOTg3Nzk0YzIzMDgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNDYsNiArMTQ2LDggQEAgRVhQT1JUUwogICAg
ICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xpZW50
UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBAJDBB
QEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgorICAg
ICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJDb3Jl
QEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAgICAg
ID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hS
ZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAtMTU0LDYg
KzE1Niw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8k
UGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRAQXRvbWlj
U3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkVAWgog
ICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJA
VlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2FwcGVuZEBT
dHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNv
cmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVD
bGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBX
ZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRlQEhUTUxD
b250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVt
ZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVjOTZiZTkuLjE3ODg1MmUz
YTUyNmJiZDUxNmE4OWI2MGUwMGY4ZmNjYjMwN2YzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgpAQCAtMTYyLDYgKzE2Miw3IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0U2Ny
b2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEwU2Ny
b2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEwU2Nyb2xs
VmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRyZW1vdmVk
TGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CiBfWk43V2ViQ29yZThTZXR0
aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOwogX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVk
Rm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZTsKIF9aTjdXZWJD
b3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTEx
VVNjcmlwdENvZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGY2M2EyODBmNmI4NWFhZmQyZDEyMWZhM2M1ZTQxMzFkMTEx
MmZlYy4uMmFkY2U0Y2ZkYmNkMWMxYWYyZjlhNWFiOWY1ZjI2MzNlNDg4MzFlNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHRl
c3QgY292ZXJpbmcgdGhlIGJhc2ljIHNjZW5hcmlvcyBvZiBjaGFuZ2luZyBhIG1vdXNlCisgICAg
ICAgIGN1cnNvciB3aXRoIENTUy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBvZiB0aGUgY2FzZXMgY3Vy
cmVudGx5IGNvdmVyZWQKKyAgICAgICAgYnkgTWFudWFsVGVzdHMvKmN1cnNvciouCisKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogQWRkIGZhaWx1cmUgZXhwZWN0YXRpb24u
CisKIDIwMTItMTEtMDkgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtRdF0gUGl4ZWwgdGVzdHMgbmVlZCByZWJhc2VsaW5lCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzE1
YTkxYjQ0MzAzODZiZTMxODE1MDQxYTNiMDljNmE5YWZiMzlmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcyIEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHku
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAwNTUwCisKKyAKK1RFU1Qg
Q0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVJQmVh
bSBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4cGxpY2l0IGRlZmF1bHQKK0N1cnNvciBJbmZv
OiB0eXBlPVR5cGVQb2ludGVyIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0
bworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTog
Tm8gY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlTm9uZSBob3RTcG90PTAsMAorCitURVNU
IENBU0U6IFBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogLXdlYmtpdC1ncmFiYmluZworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUdyYWJi
aW5nIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUgaW1hZ2UKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBD
QVNFOiBJbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogSW52YWxpZCB3aXRoIGZhbGxi
YWNrIHRvIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9
MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBhdCAoMCwwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFn
ZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIw
LDEwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTIwLDEwIGltYWdlPTI1
eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEp
CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisK
K1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0
ICgzMCwzMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9
MjV4MjUKKworVEVTVCBDQVNFOiBPdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNF
OiBTVkcgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGlt
YWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogTXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFs
bGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNF
OiBBIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQg
aG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBMaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJp
ZGluZyB3YWl0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNU
IENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93
biBjdXJzb3IgcnVsZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0OGNiMzYy
MDc5NDdmYzE1YWNmY2I0N2JlYTQ5YTNkNDNmNjdkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPjxh
IGhyZWY9aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MD5CdWcg
MTAwNTUwPC9hPjwvcD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAK
KyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIw
IiBoZWlnaHQ9IjAiPgorICA8ZGVmcz4KKyAgICA8Y3Vyc29yIGlkPSJncmVlbmJveCIgeGxpbms6
aHJlZj0icmVzb3VyY2VzL2dyZWVuYm94LnBuZyIgeD0iMCIgeT0iMCIvPgorICA8L2RlZnM+Cis8
L3N2Zz4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZhdWx0
IGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGRlZmF1bHQnPkV4cGxpY2l0IGRl
ZmF1bHQ8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBhdXRvJz5FeHBsaWNpdCBhdXRvPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogbm9uZSc+Tm8gY3Vyc29yPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogcG9pbnRlcic+UG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJz
b3I6IC13ZWJraXQtZ3JhYmJpbmcnPi13ZWJraXQtZ3JhYmJpbmc8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIGhhbmQnPkV4aXN0aW5nIDI1
eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBu
ZyksIHBvaW50ZXInPkludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCB1cmwocmVzb3VyY2Vz
L2dyZWVuYm94LnBuZyksIHBvaW50ZXInPkludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBp
bWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gu
cG5nKSAwIDAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCk8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykg
MjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwv
ZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAt
MSAtMSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMw
IDMwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2Ug
YXQgKDMwLDMwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25s
b2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0
byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBv
aW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2Ut
Y3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11
bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAg
PGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhpc3Rl
bnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdj48YSBo
cmVmPScjJz5BIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB3YWl0Jz48YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3Zl
cnJpZGluZyB3YWl0PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYg
c3R5bGU9J2N1cnNvcjogZG9lc250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3Qg
YmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8
YnIvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRU
b0xvYWQgPSAwOworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRl
YnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJM
cyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICci
OiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOwor
ICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAg
aWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBs
b2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1h
Z2VVbmV4cGVjdGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVzdEZhaWxlZCgn
R290IHVuZXhwZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUu
dGFyZ2V0LnNyYyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBk
byBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIG5v
ZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBu
b2RlLnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5v
ZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wICsgMyk7CisgICAgICAgICAgICAvLyBO
b3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZh
bGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlz
IHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBC
ZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0
IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZv
OiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkpOwor
ICAgICAgICAgICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBp
cyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigi
VGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJl
cyBEdW1wUmVuZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBl
YWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4K
Ky8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0g
ZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVz
b3VyY2VzL2dyZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVy
cm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJy
b3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUg
fSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVycm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xl
ZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9IDA7IGkgPCBpbWFn
ZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CisgICAg
dmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAgICBpbWcuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhwZWN0ZWQgOiBvbklt
YWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3Ig
PyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcuc3JjID0gaW1hZ2Vz
VG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGExZjhhYTdiZjFhMGRmYjNmYTI4ZTM1N2IzMmEzOGYwYWMwZDI0YmEuLjA2ZThlNWRjZmI2NmU0
ODc4YmRhYWUxNmZhMmYzNGUwZDMwZTAwMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDI5MSwzICs0MjkxLDYgQEAgd2Via2l0Lm9y
Zy9iLzEwMTU0NyBzdmcvY3VzdG9tL2ZvcmVpZ25PYmplY3QtY3Jhc2gtb24taG92ZXIueG1sIFsg
SW1hZ2VPbmx5RmFpbHUKIHdlYmtpdC5vcmcvYi8xMDE1NDcgc3ZnL2N1c3RvbS9oaXQtdGVzdC11
bmNsb3NlZC1zdWJwYXRocy5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgVGhlIGZvbGxvd2lu
ZyB0ZXN0IGhhcyBwcmlvciBleHBlY3RhdGlvbnMgd2hpY2ggd2VyZSBkaXNhYmxlZC4gUmUtZW5h
YmxlIHdoZW4gcmVtb3ZpbmcgdGhpczoKIHdlYmtpdC5vcmcvYi8xMDE1NDcgc3ZnL2N1c3RvbS9o
aXQtdGVzdC13aXRoLWJyLnhodG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgVGhpcyB0ZXN0
IHdpbGwgYmUgZW5hYmxlZCBzaG9ydGx5IHdoZW4gY2hyb21pdW0gbW92ZXMgdG8gdGhlIFVTRShM
QVpZX05BVElWRV9DVVJTT1IpIGluZnJhc3RydWN0dXJlCit3ZWJraXQub3JnL2IvMTAxNTAxIGZh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYWY2ZDk3NmZmMDM1MWE5OTEzMjdhZjczNWNiOWQ4OWU1
MGU2ZjY0YS4uM2U0NDgyYzg0NjRkMmQwZDA1OTQxZWRjYmZkOTVlMTY0Y2IwNmZhYyAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEx
LTA5ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0
cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5hbHM6
OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyOgorCiAyMDEyLTExLTA4ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVs
Lmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFR1cm4gV1RGX1VTRV9U
SUxFRF9CQUNLSU5HX1NUT1JFIGluIE9wdGlvbnNFZmwuY21ha2UuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173297</attachid>
            <date>2012-11-09 06:45:52 -0800</date>
            <delta_ts>2012-11-09 14:33:50 -0800</delta_ts>
            <desc>One more export for gtk</desc>
            <filename>bug-100550-20121109094359.patch</filename>
            <type>text/plain</type>
            <size>23720</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0Y2JlNzM1MzBhZjlk
ODM1ZTk2MzJjYWY1NDE4MTU2MTVhZWJiZS4uMDczOTZkNjFiNTQ2MDA5MzNmMTU4ZmFmZTdkZWUz
ZDk5YzEzMjIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9y
dAorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOiBLZWVwIHRyYWNrIG9mIGxhc3Qgc2V0
IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnJlbnRNb3VzZUN1cnNvcik6IE5ldyBnZXR0ZXIgZm9y
IGxhc3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmN1cnNvclR5cGVUb1N0cmluZyk6IEhlbHBlciB0byBjb252ZXJ0
IGN1cnNvciB0eXBlIHRvIGVudW0KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6IE5ldyBmdW5jdGlvbiB0byByZXR1
cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5mbworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5m
bworCiAyMDEyLTExLTA3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHdyb25nIG91dHB1dCBmb3IgZW1wdHkgb2JqZWN0IHt9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNjUwMTE2ODRkMGYxOWQ5YTVkMzFlYzk3YTBjOTRjMmZjZWM5NzljMi4u
YTE2NjkxMGU4ZWYzYWM2NzNlM2JmMjhlZDM4YzI1NzAwOWRjNWRiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBl
eHBvcnRzIGZvciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEy
LTExLTA5ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXVtXSzJdW0FDXSBSYW5kb20gY3Jhc2hlcyBpbiBsYXlvdXQgdGVzdHMgb24gdGhlIGJvdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhNWYyMzY3YWIxMmU1NTRkNDhmOGFjMTQ1NTJhZGEwY2U2
M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5ZWFhYTQ4ZjBhMDBhYTUwNjhkYzNjZGFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2ICsxNzExLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMXdp
bmRvd1NjcmVlbkRpZENoYW5nZUVqCiBfX1pON1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180
Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJzb3I4ZnJvbVR5cGVFTlMwXzRUeXBlRQogX19aTjdXZWJD
b3JlNkN1cnNvckMxRVBOU181SW1hZ2VFUktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU2Q3Vy
c29yQzFFUktTMF8KIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CiBfX1pON1dlYkNvcmU2Q3Vyc29y
YVNFUktTMF8KIF9fWk43V2ViQ29yZTZFZGl0b3IxM2NhbkRIVE1MUGFzdGVFdgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA3ZTFiNzNhYjk4MjMyYjBmODM0NDE5NjQ1ZjM4
ZDVjOTY1ZmM0YWEuLjdkNzg4ODNmNDYyNDIyNzUwNDZjMjA1MzYwNDdiZjIyY2IwNmU1YjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1MjYsNyArMTUyNiw3IEBAIE9w
dGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1vdXNlRXZlbnRX
aXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgfQogICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7
CiB9Ci0gICAgCisKIHN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKQEAgLTE4NjIsNyArMTg2Miw4IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmIG1vdXNlRXZlbnQsIEhpCiAgICAgICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT52aWV3KCkpIHsKICAgICAgICAgICAgIE9wdGlvbmFsQ3Vyc29yIG9wdGlvbmFsQ3Vyc29yID0g
c2VsZWN0Q3Vyc29yKG1ldiwgc2Nyb2xsYmFyKTsKICAgICAgICAgICAgIGlmIChvcHRpb25hbEN1
cnNvci5pc0N1cnNvckNoYW5nZSgpKQotICAgICAgICAgICAgICAgIHZpZXctPnNldEN1cnNvcihv
cHRpb25hbEN1cnNvci5jdXJzb3IoKSk7CisgICAgICAgICAgICAgICAgbV9jdXJyZW50TW91c2VD
dXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsKKyAgICAgICAgICAgICAgICB2aWV3LT5z
ZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOTNjNmIxMGViOTg3NDRmYmY1NjdhODE5
ZjI4MTY4ZjMyMmExYzFjOC4uMmMxYjUxZWExODgyYzk2MGVmYTg0MWJjMzMxOWE0MWVjZjZmZjlh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIEV2ZW50SGFuZGxlcl9oCiAjZGVmaW5lIEV2ZW50SGFuZGxlcl9oCiAKKyNpbmNsdWRlICJD
dXJzb3IuaCIKICNpbmNsdWRlICJEcmFnQWN0aW9ucy5oIgogI2luY2x1ZGUgIkRyYWdTdGF0ZS5o
IgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCkBAIC0xNDEsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzaXplTGF5ZXJEZXN0cm95ZWQoKTsKIAogICAgIEludFBvaW50IGN1cnJl
bnRNb3VzZVBvc2l0aW9uKCkgY29uc3Q7CisgICAgQ3Vyc29yIGN1cnJlbnRNb3VzZUN1cnNvcigp
IGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudE1vdXNlQ3Vyc29yOyB9CiAKICAgICBzdGF0aWMgRnJh
bWUqIHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShOb2RlKik7CiAgICAgc3RhdGljIEZyYW1lKiBzdWJm
cmFtZUZvckhpdFRlc3RSZXN1bHQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYp
OwpAQCAtNDIwLDYgKzQyMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fbGFzdE5v
ZGVVbmRlck1vdXNlOwogICAgIFJlZlB0cjxGcmFtZT4gbV9sYXN0TW91c2VNb3ZlRXZlbnRTdWJm
cmFtZTsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlOwor
ICAgIEN1cnNvciBtX2N1cnJlbnRNb3VzZUN1cnNvcjsKIAogICAgIGludCBtX2NsaWNrQ291bnQ7
CiAgICAgUmVmUHRyPE5vZGU+IG1fY2xpY2tOb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IGU0ZDMwODQxMGEwNjMzNjhmY2VjNjBjMmRlYzM5MmJmN2UyZTlkYTcuLjMx
ZjJmMWYwY2E1YjIwZjM5NDJiN2NkYjhlNDY0MDdiYmRmZWVmZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJDbGllbnRSZWN0
LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRlICJDb21wb3NlZFNoYWRv
d1RyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJET01TdHJpbmdM
aXN0LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAg
LTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgorI2luY2x1ZGUg
IkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJG
b3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC05Myw3ICs5NSw2IEBACiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQotI2luY2x1ZGUgIkV2ZW50SGFu
ZGxlci5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjZW5kaWYKIApAQCAtMTQ3Nyw0ICsx
NDc4LDgwIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCog
ZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmlldy0+c2V0VHJhY2tzUmVw
YWludHMoZmFsc2UpOwogfQogCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKK3N0YXRpYyBj
b25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCit7
CisgICAgc3dpdGNoIChjdXJzb3JUeXBlKSB7CisgICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6IHJl
dHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2UgQ3Vyc29yOjpDcm9zczogcmV0dXJuICJUeXBl
Q3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5cGVIYW5kIjsKKyAgICBj
YXNlIEN1cnNvcjo6SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAgICBjYXNlIEN1cnNvcjo6
V2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAgY2FzZSBDdXJzb3I6OkhlbHA6IHJldHVybiAi
VHlwZUhlbHAiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVO
b3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RSZXNpemU6IHJldHVy
biAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6
ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhX
ZXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6
Tm9ydGhTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7CisgICAgY2Fz
ZSBDdXJzb3I6OkVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9y
dGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhF
YXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUiOworICAgIGNh
c2UgQ3Vyc29yOjpDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKKyAgICBjYXNl
IEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7CisgICAg
Y2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7CisgICAg
Y2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0UGFu
bmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5v
cnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAi
VHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJl
dHVybiAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RQ
YW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6
V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6
TW92ZTogcmV0dXJuICJUeXBlTW92ZSI7CisgICAgY2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4dDog
cmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0dXJu
ICJUeXBlQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51OiByZXR1cm4gIlR5cGVD
b250ZXh0TWVudSI7CisgICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7
CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7CisgICAg
Y2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKKyAgICBjYXNlIEN1cnNv
cjo6Q29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVy
biAiVHlwZU5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5cGVO
b3RBbGxvd2VkIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4i
OworICAgIGNhc2UgQ3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0IjsKKyAgICBj
YXNlIEN1cnNvcjo6R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7CisgICAgY2FzZSBDdXJzb3I6Okdy
YWJiaW5nOiByZXR1cm4gIlR5cGVHcmFiYmluZyI7CisgICAgY2FzZSBDdXJzb3I6OkN1c3RvbTog
cmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIlVOS05PV04iOworfQor
I2VuZGlmCisKK1N0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50
KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAh
ZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBDdXJzb3IgY3Vyc29yID0gZG9j
dW1lbnQtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VDdXJzb3IoKTsKKwor
I2lmIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmluZygi
dHlwZT0iKSArIGN1cnNvclR5cGVUb1N0cmluZyhjdXJzb3IudHlwZSgpKQorICAgICAgICArICIg
aG90U3BvdD0iICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS54KCkpICsgIiwiICsg
U3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS55KCkpOworICAgIGlmIChjdXJzb3IuaW1h
Z2UoKSkgeworICAgICAgICBJbnRTaXplIHNpemUgPSBjdXJzb3IuaW1hZ2UoKS0+c2l6ZSgpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKCIgaW1hZ2U9IiArIFN0cmluZzo6bnVtYmVyKHNpemUud2lk
dGgoKSkgKyAieCIgKyBTdHJpbmc6Om51bWJlcihzaXplLmhlaWdodCgpKSk7CisgICAgfQorICAg
IHJldHVybiByZXN1bHQ7CisjZWxzZQorICAgIHJldHVybiAiRkFJTDogQ3Vyc29yIGRldGFpbHMg
bm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjExMTczOTdjODExYzg1OGYzYjFmNDlmYzU3ZDE2
YWMyNWE3MTEyMS4uODRmYTAxMmRjMjA2YzFhOTc2OTFjM2RmY2JmZDk0N2M4ZmVhZmE1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yNDIsNiArMjQyLDggQEAgcHVibGljOgog
ICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2Rl
Jik7CiAKKyAgICBTdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oRG9jdW1lbnQqLCBFeGNlcHRp
b25Db2RlJik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7
CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDdhNWFiN2I5MGVkYjY0YjY1MGRjMzQzN2I0M2ExZDY5OTcx
YjAxYWQuLjA2NGQwMTE4ZjA5YzY4ZTQ4NDEwYTAzNjU5ZGRjNGNlNTkyNmM2ZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIxMCw0ICsyMTAsNyBAQAogICAgIC8vICBz
dGFydFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRSZWN0c0FzVGV4dCwgc3RvcFRyYWNraW5nUmVw
YWludHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9jdW1l
bnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRz
KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAvLyBS
ZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vdXNlIGN1cnNvciB1
c2VkIGF0IHRoZSBzcGVjaWZpZWQgY2xpZW50IGxvY2F0aW9uLgorICAgIERPTVN0cmluZyBnZXRD
dXJyZW50Q3Vyc29ySW5mbyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA5NjYyODJmOThjNGY3N2RmMTg5MWNl
MWU5ZjEwNTNlYWE5MTIwYmYwLi4yMjlkYTc1NmYzYmM5YWFkYTZkNDZhMDIwNjBmNDFhYzMxNjY5
ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNTMsNiArMTUzLDggQEAgRVhQT1JUUwog
ICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xp
ZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBA
JDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgor
ICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJD
b3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAg
ICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdC
b3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAtMTYx
LDYgKzE2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBDQT9B
Vj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRAQXRv
bWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkVA
WgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQ
dHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2FwcGVu
ZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdl
YkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQ
QlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRl
bUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRlQEhU
TUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRF
bGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyQ0ZMaXRlLmRlZgppbmRleCBjNzk2YjYwMTYxMTg2YTExNDM3NGY3ZDAyOGRhMTM4NWQzZGU2
YTY2Li41ZWYwN2VhYmViYWQ3YjJjNzA0ODllMTRjYjYyOTg3Nzk0YzIzMDgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNDYsNiArMTQ2LDggQEAgRVhQT1JUUwogICAg
ICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xpZW50
UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBAJDBB
QEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgorICAg
ICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJDb3Jl
QEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAgICAg
ID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hS
ZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAtMTU0LDYg
KzE1Niw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8k
UGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRAQXRvbWlj
U3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkVAWgog
ICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJA
VlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2FwcGVuZEBT
dHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNv
cmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVD
bGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBX
ZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRlQEhUTUxD
b250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVt
ZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVjOTZiZTkuLmExNjlhODlk
NzhlZTY5OGM5MTRkYjkzMzViZmMxNjFlZmMwYjFiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgpAQCAtMTYyLDYgKzE2Miw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0U2Ny
b2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEwU2Ny
b2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEwU2Nyb2xs
VmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRyZW1vdmVk
TGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CitfWk43V2ViQ29yZTZDdXJz
b3JEMUV2OwogX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsKIF9aTjdX
ZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5n
RTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFtaWx5
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhmNjNhMjgwZjZi
ODVhYWZkMmQxMjFmYTNjNWU0MTMxZDExMTJmZWMuLjJhZGNlNGNmZGJjZDFjMWFmMmY5YTVhYjlm
NWYyNjMzZTQ4ODMxZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMS0wOSAgUmljayBC
eWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5n
aW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhIHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBzY2VuYXJpb3Mg
b2YgY2hhbmdpbmcgYSBtb3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBDU1MuICBUaGlzIGluY2x1
ZGVzIG1vc3Qgb2YgdGhlIGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVkCisgICAgICAgIGJ5IE1hbnVh
bFRlc3RzLypjdXJzb3IqLgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6
IEFkZCBmYWlsdXJlIGV4cGVjdGF0aW9uLgorCiAyMDEyLTExLTA5ICBCYWxhenMgS2VsZW1lbiAg
PGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFBpeGVsIHRlc3RzIG5lZWQgcmVi
YXNlbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMxNWE5MWI0NDMwMzg2YmUzMTgxNTA0MWEzYjA5YzZhOWFm
YjM5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3MiBAQAorVGVzdCB0aGF0IG1vdXNlIGN1cnNv
cnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworQnVnIDEwMDU1MAorCisgCitURVNUIENBU0U6IEltcGxpY2l0IGRlZmF1bHQgY3Vyc29yCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBs
aWNpdCBkZWZhdWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9pbnRlciBob3RTcG90PTAsMAor
CitURVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBo
b3RTcG90PTAsMAorCitURVNUIENBU0U6IE5vIGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZU5vbmUgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBQb2ludGVyCitDdXJzb3IgSW5mbzogdHlw
ZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4
aXN0aW5nIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9
MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0
byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNU
IENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IElt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5
cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRo
IGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0
b20gaG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhw
bGljaXQgaG90IHNwb3QgYXQgKC0xLC0xKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBo
b3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQg
aG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBl
Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogT3ZlciBsYXJnZSBp
bWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5k
IGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogU1ZHIGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9
VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IE11bHRpcGxl
IGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogTm9uZXhpc3RlbnQgU1ZHIGN1
cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5k
IGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQSBsaW5rIHdpdGggZGVmYXVsdCBjdXJzb3IKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogTGluayB3
aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdAorQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBXYWl0IGN1cnNvciB3aGljaCBzaG91bGQg
bm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1bGUKK0N1cnNvciBJbmZvOiB0eXBl
PVR5cGVXYWl0IGhvdFNwb3Q9MCwwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJhNDhjYjM2MjA3OTQ3ZmMxNWFjZmNiNDdiZWE0OWEzZDQzZjY3ZGEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Iu
aHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDU1MDwvYT48L3A+Cis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIj4KKyAgPGRlZnM+CisgICAgPGN1
cnNvciBpZD0iZ3JlZW5ib3giIHhsaW5rOmhyZWY9InJlc291cmNlcy9ncmVlbmJveC5wbmciIHg9
IjAiIHk9IjAiLz4KKyAgPC9kZWZzPgorPC9zdmc+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+
CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiBkZWZhdWx0Jz5FeHBsaWNpdCBkZWZhdWx0PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNv
cjogYXV0byc+RXhwbGljaXQgYXV0bzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IG5vbmUn
Pk5vIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHBvaW50ZXInPlBvaW50ZXI8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nJz4td2Via2l0LWdy
YWJiaW5nPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJv
eC5wbmcpLCBoYW5kJz5FeGlzdGluZyAyNXgyNSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCBwb2ludGVyJz5JbnZhbGlkIFVSTCB3aXRoIGZh
bGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250
ZXhpc3QucG5nKSwgdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpLCBwb2ludGVyJz5JbnZhbGlk
IHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMCAwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4
cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDIwIDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IGF0ICgyMCwxMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwo
cmVzb3VyY2VzL2dyZWVuYm94LnBuZykgLTEgLTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGlj
aXQgaG90IHNwb3QgYXQgKC0xLC0xKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAzMCAzMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL29ubG9hZC1pbWFnZS5wbmcpLCBwb2ludGVyJz5PdmVyIGxh
cmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybCgjZ3JlZW5ib3gpLCBwb2ludGVyJz5TVkcgY3Vyc29yPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKG1vdXNlLWN1cnNvci5odG1sKSwgdXJsKHVua25vd24tc2NoZW1l
OmN1cnNvci5wbmcpLCBwb2ludGVyJz5NdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxs
YmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNub25leGlz
dGVudCksIHBvaW50ZXInPk5vbmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyPC9kaXY+CisgIDxkaXY+PGEgaHJlZj0nIyc+QSBsaW5rIHdpdGggZGVmYXVsdCBjdXJz
b3I8L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGEgaHJlZj0nIyc+TGlu
ayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdDwvYT48L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB3YWl0Jz48ZGl2IHN0eWxlPSdjdXJzb3I6IGRvZXNudGV4aXN0Jz5XYWl0
IGN1cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1
bGU8L2Rpdj48L2Rpdj4KKzwvZGl2PgorPGJyLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2FkID0gMDsKKworZnVuY3Rpb24gb25JbWFnZUxv
YWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBvdXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMg
YW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBvbmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBy
dW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVn
KCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyArIGUudGFyZ2V0LnNyYyk7CisgICAgICAgIAor
ICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA9PSAwKQor
ICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkIDwgMCkKKyAgICAg
ICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9lcnJvciBjYWxsYmFjayB0aGFuIGV4cGVjdGVk
LicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5leHBlY3RlZChlKSB7CisJaW1hZ2VzTGVmdFRv
TG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUudHlwZSArICdc
JyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVuY3Rpb24gcnVu
VGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBl
dmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgdmFyIG5v
ZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Rlc3QtY29udGFpbmVyID4g
ZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3QubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07CisgICAgICAgICAg
ICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRv
cCArIDMpOworICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1
cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisg
ICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1bmRhbnQgd2l0aCByZWx5aW5nIG9uIHRoZSBl
eHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVyIHRvIGp1c3QgZHVtcAorICAgICAgICAgICAg
Ly8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRjaGVzIHRoZSBkZXNjcmlwdGlvbi4KKyAgICAg
ICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyArIHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVu
dEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAgICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAg
fQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0
IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWlu
ZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBs
aWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB0ZXN0
RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUnKTsKK30KKworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBpbWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9h
ZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBXaXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxs
IGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBubyBrbm93biBzaXplLgordmFyIGltYWdlc1Rv
TG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC5wbmcnIH0sCisgICAgeyB1
cmw6ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAndW5rbm93
bi1zY2hlbWU6Y3Vyc29yLnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICdtb3VzZS1j
dXJzb3IuaHRtbCcsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICcjbm9uZXhpc3RlbnQnLCBl
cnJvcjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsK
K2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFy
IGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBleHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtp
XS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/
IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxvYWQpOworICAgIGltZy5hZGRFdmVudExpc3Rl
bmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25JbWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3Rl
ZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9hZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhMWY4YWE3YmYxYTBkZmIzZmEyOGUzNTdiMzJhMzhm
MGFjMGQyNGJhLi4wNmU4ZTVkY2ZiNjZlNDg3OGJkYWFlMTZmYTJmMzRlMGQzMGUwMDIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQy
OTEsMyArNDI5MSw2IEBAIHdlYmtpdC5vcmcvYi8xMDE1NDcgc3ZnL2N1c3RvbS9mb3JlaWduT2Jq
ZWN0LWNyYXNoLW9uLWhvdmVyLnhtbCBbIEltYWdlT25seUZhaWx1CiB3ZWJraXQub3JnL2IvMTAx
NTQ3IHN2Zy9jdXN0b20vaGl0LXRlc3QtdW5jbG9zZWQtc3VicGF0aHMuc3ZnIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiAjIFRoZSBmb2xsb3dpbmcgdGVzdCBoYXMgcHJpb3IgZXhwZWN0YXRpb25zIHdo
aWNoIHdlcmUgZGlzYWJsZWQuIFJlLWVuYWJsZSB3aGVuIHJlbW92aW5nIHRoaXM6CiB3ZWJraXQu
b3JnL2IvMTAxNTQ3IHN2Zy9jdXN0b20vaGl0LXRlc3Qtd2l0aC1ici54aHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorCisjIFRoaXMgdGVzdCB3aWxsIGJlIGVuYWJsZWQgc2hvcnRseSB3aGVuIGNo
cm9taXVtIG1vdmVzIHRvIHRoZSBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKSBpbmZyYXN0cnVjdHVy
ZQord2Via2l0Lm9yZy9iLzEwMTUwMSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFmNmQ5NzZm
ZjAzNTFhOTkxMzI3YWY3MzVjYjlkODllNTBlNmY2NGEuLjNlNDQ4MmM4NDY0ZDJkMGQwNTk0MWVk
Y2JmZDk1ZTE2NGNiMDZmYWMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZWNlc3Nh
cnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAgICAg
ICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMS0wOCAgUmFwaGFl
bCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAg
ICAgICBbRUZMXSBUdXJuIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBpbiBPcHRpb25zRWZs
LmNtYWtlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173368</attachid>
            <date>2012-11-09 14:33:56 -0800</date>
            <delta_ts>2012-11-09 15:29:09 -0800</delta_ts>
            <desc>Merge with ToT</desc>
            <filename>bug-100550-20121109173203.patch</filename>
            <type>text/plain</type>
            <size>23874</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFiNTZmZjE5NzYyOWU3
NmQyM2FmN2VlNTAzYjYyY2IwZWI0YTg5Ni4uNzc0MWJmNTY4NTdmN2M3MjUwMjY0YzFlNWIxZDNk
NDZmYmExODcxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9y
dAorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOiBLZWVwIHRyYWNrIG9mIGxhc3Qgc2V0
IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnJlbnRNb3VzZUN1cnNvcik6IE5ldyBnZXR0ZXIgZm9y
IGxhc3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmN1cnNvclR5cGVUb1N0cmluZyk6IEhlbHBlciB0byBjb252ZXJ0
IGN1cnNvciB0eXBlIHRvIGVudW0KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyk6IE5ldyBmdW5jdGlvbiB0byByZXR1
cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5mbworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDogRGVjbGFyZSBnZXRDdXJyZW50Q3Vyc29ySW5m
bworCiAyMDEyLTExLTA5ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gRGVmaW5lIFdFQktJVF9JTVBMRU1FTlRBVElPTiBldmVyeXdoZXJl
IGluc2lkZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzVlZmY0NjRjYTYyZTRkMTUzOTVjMWU2MjE2
NzY3N2YzNGFlNDhkYi4uYjA5M2UzNzM4ZTgxNTA2ODVkMjFmODUzMmQyZGUwYTk2YWM1MjNkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5
ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2Ug
Y3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZv
CisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxp
dGUuZGVmOgorCiAyMDEyLTExLTA5ICBIdXJuam9vIExlZSAgPGh1cm5qb28ubGVlQHNhbXN1bmcu
Y29tPgogCiAgICAgICAgIFtFRkxdW1dLMl1bQUNdIEZpeGVkIGxheWVycyBhcmUgc2hha2luZyB3
aGVuIHNjcm9sbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhNWYyMzY3YWIxMmU1NTRkNDhm
OGFjMTQ1NTJhZGEwY2U2M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5ZWFhYTQ4ZjBhMDBhYTUwNjhk
YzNjZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2ICsxNzExLDcgQEAgX19aTjdX
ZWJDb3JlNFBhZ2UyMXdpbmRvd1NjcmVlbkRpZENoYW5nZUVqCiBfX1pON1dlYkNvcmU1RnJhbWU5
bm9kZUltYWdlRVBOU180Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJzb3I4ZnJvbVR5cGVFTlMwXzRU
eXBlRQogX19aTjdXZWJDb3JlNkN1cnNvckMxRVBOU181SW1hZ2VFUktOU184SW50UG9pbnRFCitf
X1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF8KIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CiBfX1pO
N1dlYkNvcmU2Q3Vyc29yYVNFUktTMF8KIF9fWk43V2ViQ29yZTZFZGl0b3IxM2NhbkRIVE1MUGFz
dGVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA3ZTFiNzNhYjk4MjMy
YjBmODM0NDE5NjQ1ZjM4ZDVjOTY1ZmM0YWEuLjdkNzg4ODNmNDYyNDIyNzUwNDZjMjA1MzYwNDdi
ZjIyY2IwNmU1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1MjYs
NyArMTUyNiw3IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgfQogICAgIHJldHVybiBw
b2ludGVyQ3Vyc29yKCk7CiB9Ci0gICAgCisKIHN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBv
aW50Rm9yV2luZG93UG9pbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9p
bnQpCiB7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKQEAgLTE4NjIsNyAr
MTg2Miw4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIEhpCiAgICAgICAgIGlmIChGcmFtZVZpZXcq
IHZpZXcgPSBtX2ZyYW1lLT52aWV3KCkpIHsKICAgICAgICAgICAgIE9wdGlvbmFsQ3Vyc29yIG9w
dGlvbmFsQ3Vyc29yID0gc2VsZWN0Q3Vyc29yKG1ldiwgc2Nyb2xsYmFyKTsKICAgICAgICAgICAg
IGlmIChvcHRpb25hbEN1cnNvci5pc0N1cnNvckNoYW5nZSgpKQotICAgICAgICAgICAgICAgIHZp
ZXctPnNldEN1cnNvcihvcHRpb25hbEN1cnNvci5jdXJzb3IoKSk7CisgICAgICAgICAgICAgICAg
bV9jdXJyZW50TW91c2VDdXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsKKyAgICAgICAg
ICAgICAgICB2aWV3LT5zZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwogICAgICAgICB9
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOTNjNmIxMGVi
OTg3NDRmYmY1NjdhODE5ZjI4MTY4ZjMyMmExYzFjOC4uMmMxYjUxZWExODgyYzk2MGVmYTg0MWJj
MzMxOWE0MWVjZjZmZjlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0yNiw2
ICsyNiw3IEBACiAjaWZuZGVmIEV2ZW50SGFuZGxlcl9oCiAjZGVmaW5lIEV2ZW50SGFuZGxlcl9o
CiAKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJEcmFnQWN0aW9ucy5oIgogI2luY2x1
ZGUgIkRyYWdTdGF0ZS5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCkBAIC0xNDEsNiAr
MTQyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzaXplTGF5ZXJEZXN0cm95ZWQoKTsKIAogICAg
IEludFBvaW50IGN1cnJlbnRNb3VzZVBvc2l0aW9uKCkgY29uc3Q7CisgICAgQ3Vyc29yIGN1cnJl
bnRNb3VzZUN1cnNvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudE1vdXNlQ3Vyc29yOyB9CiAK
ICAgICBzdGF0aWMgRnJhbWUqIHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShOb2RlKik7CiAgICAgc3Rh
dGljIEZyYW1lKiBzdWJmcmFtZUZvckhpdFRlc3RSZXN1bHQoY29uc3QgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyYpOwpAQCAtNDIwLDYgKzQyMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PE5vZGU+IG1fbGFzdE5vZGVVbmRlck1vdXNlOwogICAgIFJlZlB0cjxGcmFtZT4gbV9sYXN0TW91
c2VNb3ZlRXZlbnRTdWJmcmFtZTsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2xhc3RTY3JvbGxi
YXJVbmRlck1vdXNlOworICAgIEN1cnNvciBtX2N1cnJlbnRNb3VzZUN1cnNvcjsKIAogICAgIGlu
dCBtX2NsaWNrQ291bnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fY2xpY2tOb2RlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGU0ZDMwODQxMGEwNjMzNjhmY2VjNjBjMmRlYzM5
MmJmN2UyZTlkYTcuLjMxZjJmMWYwY2E1YjIwZjM5NDJiN2NkYjhlNDY0MDdiYmRmZWVmZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJDbGllbnRSZWN0LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRl
ICJDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNs
dWRlICJET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKQEAgLTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRv
dy5oIgorI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC05
Myw3ICs5NSw2IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQotI2lu
Y2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjZW5kaWYK
IApAQCAtMTQ3Nyw0ICsxNDc4LDgwIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wVHJhY2tpbmdSZXBh
aW50cyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmll
dy0+c2V0VHJhY2tzUmVwYWludHMoZmFsc2UpOwogfQogCisjaWYgVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKK3N0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBl
IGN1cnNvclR5cGUpCit7CisgICAgc3dpdGNoIChjdXJzb3JUeXBlKSB7CisgICAgY2FzZSBDdXJz
b3I6OlBvaW50ZXI6IHJldHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2UgQ3Vyc29yOjpDcm9z
czogcmV0dXJuICJUeXBlQ3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5
cGVIYW5kIjsKKyAgICBjYXNlIEN1cnNvcjo6SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAg
ICBjYXNlIEN1cnNvcjo6V2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAgY2FzZSBDdXJzb3I6
OkhlbHA6IHJldHVybiAiVHlwZUhlbHAiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJl
dHVybiAiVHlwZU5vcnRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXpl
OiByZXR1cm4gIlR5cGVOb3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdl
c3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6
OlNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6
OlNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNl
IEN1cnNvcjo6U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOwor
ICAgIGNhc2UgQ3Vyc29yOjpXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJl
c2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0
V2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTog
cmV0dXJuICJUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6
Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVt
blJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxl
UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0
UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9y
dGhQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJU
eXBlTm9ydGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6
IHJldHVybiAiVHlwZU5vcnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBh
bm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRo
RWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vy
c29yOjpTb3V0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAg
ICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAg
ICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJuICJUeXBlTW92ZSI7CisgICAgY2FzZSBDdXJzb3I6
OlZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIEN1cnNv
cjo6Q2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51
OiByZXR1cm4gIlR5cGVDb250ZXh0TWVudSI7CisgICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1
cm4gIlR5cGVBbGlhcyI7CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQ
cm9ncmVzcyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsK
KyAgICBjYXNlIEN1cnNvcjo6Q29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAgY2FzZSBDdXJz
b3I6Ok5vbmU6IHJldHVybiAiVHlwZU5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2Vk
OiByZXR1cm4gIlR5cGVOb3RBbGxvd2VkIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1
cm4gIlR5cGVab29tSW4iOworICAgIGNhc2UgQ3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVa
b29tT3V0IjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7CisgICAg
Y2FzZSBDdXJzb3I6OkdyYWJiaW5nOiByZXR1cm4gIlR5cGVHcmFiYmluZyI7CisgICAgY2FzZSBD
dXJzb3I6OkN1c3RvbTogcmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4g
IlVOS05PV04iOworfQorI2VuZGlmCisKK1N0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJz
b3JJbmZvKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYg
KCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElE
X0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBDdXJz
b3IgY3Vyc29yID0gZG9jdW1lbnQtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91
c2VDdXJzb3IoKTsKKworI2lmIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgU3RyaW5nIHJl
c3VsdCA9IFN0cmluZygidHlwZT0iKSArIGN1cnNvclR5cGVUb1N0cmluZyhjdXJzb3IudHlwZSgp
KQorICAgICAgICArICIgaG90U3BvdD0iICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3Qo
KS54KCkpICsgIiwiICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS55KCkpOworICAg
IGlmIChjdXJzb3IuaW1hZ2UoKSkgeworICAgICAgICBJbnRTaXplIHNpemUgPSBjdXJzb3IuaW1h
Z2UoKS0+c2l6ZSgpOworICAgICAgICByZXN1bHQuYXBwZW5kKCIgaW1hZ2U9IiArIFN0cmluZzo6
bnVtYmVyKHNpemUud2lkdGgoKSkgKyAieCIgKyBTdHJpbmc6Om51bWJlcihzaXplLmhlaWdodCgp
KSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7CisjZWxzZQorICAgIHJldHVybiAiRkFJTDog
Q3Vyc29yIGRldGFpbHMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjExMTczOTdjODExYzg1
OGYzYjFmNDlmYzU3ZDE2YWMyNWE3MTEyMS4uODRmYTAxMmRjMjA2YzFhOTc2OTFjM2RmY2JmZDk0
N2M4ZmVhZmE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yNDIsNiArMjQy
LDggQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQq
LCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBTdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oRG9j
dW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJu
YWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdhNWFiN2I5MGVkYjY0YjY1MGRj
MzQzN2I0M2ExZDY5OTcxYjAxYWQuLjA2NGQwMTE4ZjA5YzY4ZTQ4NDEwYTAzNjU5ZGRjNGNlNTky
NmM2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIxMCw0ICsyMTAs
NyBAQAogICAgIC8vICBzdGFydFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRSZWN0c0FzVGV4dCwg
c3RvcFRyYWNraW5nUmVwYWludHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoaW4g
RG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHN0b3BU
cmFja2luZ1JlcGFpbnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisKKyAgICAvLyBSZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhl
IG1vdXNlIGN1cnNvciB1c2VkIGF0IHRoZSBzcGVjaWZpZWQgY2xpZW50IGxvY2F0aW9uLgorICAg
IERPTVN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA5NjYyODJm
OThjNGY3N2RmMTg5MWNlMWU5ZjEwNTNlYWE5MTIwYmYwLi4yMjlkYTc1NmYzYmM5YWFkYTZkNDZh
MDIwNjBmNDFhYzMxNjY5ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNTMsNiArMTUz
LDggQEAgRVhQT1JUUwogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoK
ICAgICAgICAgPz8wQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9h
dFF1YWRAV2ViQ29yZUBAJDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdl
YkNvcmVAQFFBRUBYWgorICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAg
ID8/MEN1cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBA
UUFFQFBCREBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fi
c29sdXRlQm91bmRpbmdCb3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0
QDJAX05AWgpAQCAtMTYxLDYgKzE2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNT
dHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAg
ICAgICAgID9hZGRAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0lt
cGxAV1RGQEBAMkBQQkVAWgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBA
Q0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoK
KyAgICAgICAgP2FwcGVuZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hl
RE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxP
YmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRh
cmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAg
ICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0
ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBiMTUxNjM4NWRkM2FmNTY2ODgxNTYw
YjI1ZWMzMzQzNjIxNDQ1Y2I0Li4wNDIyM2M1ZjQ3NzJkMTJmY2YzNTYyZjgwYTRlMDIzZWMxNTMx
ODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysr
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNDYsNiArMTQ2LDgg
QEAgRVhQT1JUUwogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAg
ICAgICAgPz8wQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1
YWRAV2ViQ29yZUBAJDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNv
cmVAQFFBRUBYWgorICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/
MEN1cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFF
QFBCREBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29s
dXRlQm91bmRpbmdCb3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJA
X05AWgpAQCAtMTU0LDYgKzE1Niw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJp
bmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAg
ICAgID9hZGRAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxA
V1RGQEBAMkBQQkVAWgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/
QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAg
ICAgICAgP2FwcGVuZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9N
U3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmpl
Y3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdl
dEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAg
ICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBW
SFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyCmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVj
OTZiZTkuLmExNjlhODlkNzhlZTY5OGM5MTRkYjkzMzViZmMxNjFlZmMwYjFiZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgpAQCAtMTYyLDYgKzE2Miw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxh
YmxlQXJlYTI4c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBf
Wk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43
V2ViQ29yZTEwU2Nyb2xsVmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29y
ZTROb2RlMTRyZW1vdmVkTGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87Citf
Wk43V2ViQ29yZTZDdXJzb3JEMUV2OwogX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0Vu
YWJsZWRFYjsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0
U2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdkN2MzNzQyOWJjNjY3MjI1MGJlZmM3NDQxY2JhNGJlOTg0ZmUwYTUuLjljNTUzMTFiMTZh
Yzg0ZWRmYjhjY2ZiZjUzZjAxMDczMTk1YzNiZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
Mi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8g
dGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBi
YXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBtb3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBD
U1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2YgdGhlIGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVkCisg
ICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJzb3IqLgorCisgICAgICAgICogZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnM6IEFkZCBmYWlsdXJlIGV4cGVjdGF0aW9uLgorCiAyMDEyLTExLTA5ICBT
bGF2b21pciBLYXNsZXYgIDxza2FzbGV2QGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVt
XSBSZWJhc2VsaW5pbmcgc29mdHdhcmUgY29tcG9zaXRvciB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhj
MTVhOTFiNDQzMDM4NmJlMzE4MTUwNDFhM2IwOWM2YTlhZmIzOWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNzIgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3Rs
eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDA1NTAKKworIAorVEVT
VCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlC
ZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZVBvaW50ZXIgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBsaWNpdCBh
dXRvCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNF
OiBObyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVOb25lIGhvdFNwb3Q9MCwwCisKK1RF
U1QgQ0FTRTogUG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiAtd2Via2l0LWdyYWJiaW5nCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlR3Jh
YmJpbmcgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNU
IENBU0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBJbnZhbGlkIHdpdGggZmFs
bGJhY2sgdG8gMjV4MjUgaW1hZ2UKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3Bv
dD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBz
cG90IGF0ICgwLDApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGlt
YWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAo
MjAsMTApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9
MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwt
MSkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUK
KworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2Ug
YXQgKDMwLDMwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFn
ZT0yNXgyNQorCitURVNUIENBU0U6IE92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENB
U0U6IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAg
aW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBNdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBm
YWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAs
MAorCitURVNUIENBU0U6IE5vbmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENB
U0U6IEEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFu
ZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IExpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBvdmVy
cmlkaW5nIHdhaXQKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RF
U1QgQ0FTRTogV2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSB1bmtu
b3duIGN1cnNvciBydWxlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlV2FpdCBob3RTcG90PTAsMAor
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTQ4Y2Iz
NjIwNzk0N2ZjMTVhY2ZjYjQ3YmVhNDlhM2Q0M2Y2N2RhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+
PGEgaHJlZj1odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1
ZyAxMDA1NTA8L2E+PC9wPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IAorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9
IjAiIGhlaWdodD0iMCI+CisgIDxkZWZzPgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94IiB4bGlu
azpocmVmPSJyZXNvdXJjZXMvZ3JlZW5ib3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwvZGVmcz4K
Kzwvc3ZnPgorPGRpdiBpZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0IGRlZmF1
bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhwbGljaXQg
ZGVmYXVsdDwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0IGF1dG88
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiBwb2ludGVyJz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogLXdlYmtpdC1ncmFiYmluZyc+LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhpc3Rpbmcg
MjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3Qu
cG5nKSwgcG9pbnRlcic+SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+
CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nKSwgcG9pbnRlcic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1
IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJv
eC5wbmcpIDAgMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCww
KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5n
KSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTAp
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcp
IC0xIC0xLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykg
MzAgMzAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFn
ZSBhdCAoMzAsMzApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9v
bmxvYWQtaW1hZ2UucG5nKSwgcG9pbnRlcic+T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNr
IHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwg
cG9pbnRlcic+U1ZHIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3Vz
ZS1jdXJzb3IuaHRtbCksIHVybCh1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+
TXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybCgjbm9uZXhpc3RlbnQpLCBwb2ludGVyJz5Ob25leGlz
dGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2Pjxh
IGhyZWY9JyMnPkEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yPC9hPjwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHdhaXQnPjxhIGhyZWY9JyMnPkxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBv
dmVycmlkaW5nIHdhaXQ8L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGRp
diBzdHlsZT0nY3Vyc29yOiBkb2VzbnRleGlzdCc+V2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5v
dCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlPC9kaXY+PC9kaXY+Cis8L2Rpdj4K
Kzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVm
dFRvTG9hZCA9IDA7CisKK2Z1bmN0aW9uIG9uSW1hZ2VMb2FkKGUpIHsKKworICAgIC8vIFRoaXMg
ZGVidWcgb3V0cHV0IGlzIG5vbi1kZXRlcm1pbmlzdGljIGFuZCBjb250YWlucyBhYnNvbHV0ZSBV
UkxzIC0gb25seSBzaG93IHdoZW4KKyAgICAvLyBub3QgcnVubmluZyBpbiBEUlQKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBkZWJ1ZyggJ0V2ZW50ICInICsgZS50eXBlICsg
JyI6ICcgKyBlLnRhcmdldC5zcmMpOworICAgICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07
CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAg
ICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA8IDApCisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3Jl
IGxvYWQvZXJyb3IgY2FsbGJhY2sgdGhhbiBleHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25J
bWFnZVVuZXhwZWN0ZWQoZSkgeworCWltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICB0ZXN0RmFpbGVk
KCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdlOiAnICsg
ZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIC8vIENhbid0
IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdpdGhvdXQgZXZlbnRTZW5kZXIKKyAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHZhciBub2Rlc1RvVGVzdCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRhaW5lciA+IGRpdicpOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIg
bm9kZSA9IG5vZGVzVG9UZXN0W2ldOworICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyAr
IG5vZGUudGV4dENvbnRlbnQpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
bm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKyAgICAgICAgICAgIC8v
IE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4g
dmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQg
aXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4g
IEJldHRlciB0byBqdXN0IGR1bXAKKyAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQg
aXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCisgICAgICAgICAgICBkZWJ1ZygnQ3Vyc29yIElu
Zm86ICcgKyB3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSk7
CisgICAgICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0
IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0IG91dHB1dCAtIGhpZGUgaXQKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtY29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdu
b25lJzsKKyAgICB9CisgICAgCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9u
KCJUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuIik7CisKK2lm
ICghd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVp
cmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KKworLy8gTm93IHdhaXQgZm9y
IGVhY2ggaW1hZ2UgdG8gbG9hZCBvciBmYWlsIHRvIGxvYWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3Rz
LgorLy8gV2l0aG91dCB0aGlzIHdlIGNhbiBnZXQgbnVsbCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMg
LSBlZy4gbm8ga25vd24gc2l6ZS4KK3ZhciBpbWFnZXNUb0xvYWQgPSBbCisgICAgeyB1cmw6ICdy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nJyB9LAorICAgIHsgdXJsOiAnZG9lc250ZXhpc3QucG5nJywg
ZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ3Vua25vd24tc2NoZW1lOmN1cnNvci5wbmcnLCBl
cnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAnbW91c2UtY3Vyc29yLmh0bWwnLCBlcnJvcjogdHJ1
ZSB9LAorICAgIHsgdXJsOiAnI25vbmV4aXN0ZW50JywgZXJyb3I6IHRydWUgfSBdOworaW1hZ2Vz
TGVmdFRvTG9hZCA9IGltYWdlc1RvTG9hZC5sZW5ndGg7Citmb3IgKHZhciBpID0gMDsgaSA8IGlt
YWdlc1RvTG9hZC5sZW5ndGg7IGkrKykgeworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAg
ICB2YXIgZXhwZWN0RXJyb3IgPSBpbWFnZXNUb0xvYWRbaV0uZXJyb3I7IAorICAgIGltZy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlVW5leHBlY3RlZCA6IG9u
SW1hZ2VMb2FkKTsKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBleHBlY3RFcnJv
ciA/IG9uSW1hZ2VMb2FkIDogb25JbWFnZVVuZXhwZWN0ZWQpOworICAgIGltZy5zcmMgPSBpbWFn
ZXNUb0xvYWRbaV0udXJsOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggOTVmMjRkZDU3Yjg0YWU0YjhjZWJmZDgwMjI4ZDg0NjAwNmY1MzIzMC4uNjFiZDk3NThlOGU5
MDQ3ZjJlNWRkNDM3MzYzNTliY2RjYWRmMjc1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjA5LDYgKzQyMDksOSBAQCBjcmJ1Zy5j
b20vMTYwMDc1IGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZQogY3JidWcuY29tLzE2MDA3NSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWludC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBjcmJ1Zy5jb20vMTYwMDc1IHBsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKKyMgVGhpcyB0ZXN0IHdpbGwgYmUgZW5hYmxlZCBz
aG9ydGx5IHdoZW4gY2hyb21pdW0gbW92ZXMgdG8gdGhlIFVTRShMQVpZX05BVElWRV9DVVJTT1Ip
IGluZnJhc3RydWN0dXJlCit3ZWJraXQub3JnL2IvMTAxNTAxIGZhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci5odG1sIFsgRmFpbHVyZSBdCisKICMgRmFpbHVyZXMgZm9sbG93aW5nIHIxMzM4NDA6CiB3
ZWJraXQub3JnL2IvMTAxNTQ3IGZhc3QvcmVwYWludC80Nzc0MzU0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDE1NDcgZmFzdC9yZXBhaW50L2NhcmV0LW91dHNpZGUt
YmxvY2suaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDg3ODk5YWFjNzQ1NWE3MDVlOThjOTZmNGZmYTAwYjU4YmMyN2RlNTYu
LjhkOTEyODBiZTBjZTY4YWNlODFiMGJiN2VjOWZiNDQ5YTM5ZGY3N2IgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMS0wOSAgUmlj
ayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNo
YW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJy
ZW50Q3Vyc29ySW5mbworCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cjoKKwogMjAxMi0xMS0wOSAgTGFzemxvIEdvbWJvcyAgPGwuZ29tYm9zQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFtFRkxdIEVuYWJsZSAtV2Vycm9yIGZvciB0aGUgRUZMIHBvcnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173383</attachid>
            <date>2012-11-09 15:29:15 -0800</date>
            <delta_ts>2012-11-09 16:28:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100550-20121109182722.patch</filename>
            <type>text/plain</type>
            <size>22995</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFiNTZmZjE5NzYyOWU3
NmQyM2FmN2VlNTAzYjYyY2IwZWI0YTg5Ni4uZmRlMjY1ZTY3YjZkMjIxMzcxYTVkMmYwNTZhY2Qx
ZTgwNjQyOTdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKwor
ICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgdG8ga2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZXQg
bW91c2UgY3Vyc29yLAorICAgICAgICBhbmQgdGhlbiB0byBxdWVyeSBpdCBmcm9tIER1bXBSZW5k
ZXJUcmVlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRkIEN1cnNvciBjb3B5IGN0b3IgZXhwb3J0Cisg
ICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBzZXQgbW91
c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1vdXNlQ3Vyc29yKTogTmV3IGdldHRlciBmb3IgbGFz
dCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3Vyc29yVHlwZVRvU3RyaW5nKTogSGVscGVyIHRvIGNvbnZlcnQgY3Vy
c29yIHR5cGUgdG8gZW51bQorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKTogTmV3IGZ1bmN0aW9uIHRvIHJldHVybiBh
IHN0cmluZyBkZXNjcmliaW5nIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJbmZvCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJbmZvCisK
IDIwMTItMTEtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW2Nocm9taXVtXSBEZWZpbmUgV0VCS0lUX0lNUExFTUVOVEFUSU9OIGV2ZXJ5d2hlcmUgaW5z
aWRlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNWVmZjQ2NGNhNjJlNGQxNTM5NWMxZTYyMTY3Njc3
ZjM0YWU0OGRiLi5jNjFlYzNkNjk4ZWQxNDk4MjMxMWM2MTI0ZmUzZThkZGNiMGFlMzY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJz
b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBuZWNl
c3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAg
ICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjoK
KwogMjAxMi0xMS0wOSAgSHVybmpvbyBMZWUgIDxodXJuam9vLmxlZUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbRUZMXVtXSzJdW0FDXSBGaXhlZCBsYXllcnMgYXJlIHNoYWtpbmcgd2hlbiBzY3Jv
bGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYTVmMjM2N2FiMTJlNTU0ZDQ4ZjhhYzE0NTUy
YWRhMGNlNjNmYTFjYS4uZjIxZGQwMjAzY2JiYmUzOWVhYWE0OGYwYTAwYWE1MDY4ZGMzY2RhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3MTEsNiArMTcxMSw3IEBAIF9fWk43V2ViQ29yZTRQ
YWdlMjF3aW5kb3dTY3JlZW5EaWRDaGFuZ2VFagogX19aTjdXZWJDb3JlNUZyYW1lOW5vZGVJbWFn
ZUVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmU2Q3Vyc29yOGZyb21UeXBlRU5TMF80VHlwZUUKIF9f
Wk43V2ViQ29yZTZDdXJzb3JDMUVQTlNfNUltYWdlRVJLTlNfOEludFBvaW50RQorX19aTjdXZWJD
b3JlNkN1cnNvckMxRVJLUzBfCiBfX1pON1dlYkNvcmU2Q3Vyc29yRDFFdgogX19aTjdXZWJDb3Jl
NkN1cnNvcmFTRVJLUzBfCiBfX1pON1dlYkNvcmU2RWRpdG9yMTNjYW5ESFRNTFBhc3RlRXYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAwN2UxYjczYWI5ODIzMmIwZjgzNDQx
OTY0NWYzOGQ1Yzk2NWZjNGFhLi43ZDc4ODgzZjQ2MjQyMjc1MDQ2YzIwNTM2MDQ3YmYyMmNiMDZl
NWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTI2LDcgKzE1MjYs
NyBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25zdCBNb3Vz
ZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgogICAgIH0KICAgICByZXR1cm4gcG9pbnRlckN1
cnNvcigpOwogfQotICAgIAorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldp
bmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewog
ICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xODYyLDcgKzE4NjIsOCBA
QCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxhdGZvcm1N
b3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBIaQogICAgICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0g
bV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBPcHRpb25hbEN1cnNvciBvcHRpb25hbEN1
cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJhcik7CiAgICAgICAgICAgICBpZiAob3B0
aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKLSAgICAgICAgICAgICAgICB2aWV3LT5zZXRD
dXJzb3Iob3B0aW9uYWxDdXJzb3IuY3Vyc29yKCkpOworICAgICAgICAgICAgICAgIG1fY3VycmVu
dE1vdXNlQ3Vyc29yID0gb3B0aW9uYWxDdXJzb3IuY3Vyc29yKCk7CisgICAgICAgICAgICAgICAg
dmlldy0+c2V0Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKICAgICAgICAgfQogICAgIH0K
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDkzYzZiMTBlYjk4NzQ0ZmJm
NTY3YTgxOWYyODE2OGYzMjJhMWMxYzguLjJjMWI1MWVhMTg4MmM5NjBlZmE4NDFiYzMzMTlhNDFl
Y2Y2ZmY5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMjYsNiArMjYsNyBA
QAogI2lmbmRlZiBFdmVudEhhbmRsZXJfaAogI2RlZmluZSBFdmVudEhhbmRsZXJfaAogCisjaW5j
bHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRHJhZ0FjdGlvbnMuaCIKICNpbmNsdWRlICJEcmFn
U3RhdGUuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgpAQCAtMTQxLDYgKzE0Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlc2l6ZUxheWVyRGVzdHJveWVkKCk7CiAKICAgICBJbnRQb2lu
dCBjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0OworICAgIEN1cnNvciBjdXJyZW50TW91c2VD
dXJzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRNb3VzZUN1cnNvcjsgfQogCiAgICAgc3Rh
dGljIEZyYW1lKiBzdWJmcmFtZUZvclRhcmdldE5vZGUoTm9kZSopOwogICAgIHN0YXRpYyBGcmFt
ZSogc3ViZnJhbWVGb3JIaXRUZXN0UmVzdWx0KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMmKTsKQEAgLTQyMCw2ICs0MjIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxOb2RlPiBt
X2xhc3ROb2RlVW5kZXJNb3VzZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fbGFzdE1vdXNlTW92ZUV2
ZW50U3ViZnJhbWU7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9sYXN0U2Nyb2xsYmFyVW5kZXJN
b3VzZTsKKyAgICBDdXJzb3IgbV9jdXJyZW50TW91c2VDdXJzb3I7CiAKICAgICBpbnQgbV9jbGlj
a0NvdW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2NsaWNrTm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAppbmRleCBlNGQzMDg0MTBhMDYzMzY4ZmNlYzYwYzJkZWMzOTJiZjdlMmU5
ZGE3Li43OTAxYjYzMGUzOTg1MmVmODZjOTBjM2ZmZDlhZWM2YjhkZDQ0MWVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ2xp
ZW50UmVjdC5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVkZSAiQ29tcG9z
ZWRTaGFkb3dUcmVlV2Fsa2VyLmgiCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRE9N
U3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKKyNp
bmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5j
bHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNzQsNiArNzYs
OCBAQAogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgog
I2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
QnVmZmVyLmg+CisKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogI2luY2x1ZGUgIkNv
bG9yQ2hvb3Nlci5oIgpAQCAtOTMsNyArOTcsNiBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoVE9V
Q0hfQURKVVNUTUVOVCkKLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJXZWJL
aXRQb2ludC5oIgogI2VuZGlmCiAKQEAgLTE0NzcsNCArMTQ4MCw4OSBAQCB2b2lkIEludGVybmFs
czo6c3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKICAgICBmcmFtZVZpZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorI2lm
IFVTRShMQVpZX05BVElWRV9DVVJTT1IpCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRv
U3RyaW5nKEN1cnNvcjo6VHlwZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlw
ZSkgeworICAgIGNhc2UgQ3Vyc29yOjpQb2ludGVyOiByZXR1cm4gIlR5cGVQb2ludGVyIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Q3Jvc3M6IHJldHVybiAiVHlwZUNyb3NzIjsKKyAgICBjYXNlIEN1cnNv
cjo6SGFuZDogcmV0dXJuICJUeXBlSGFuZCI7CisgICAgY2FzZSBDdXJzb3I6OklCZWFtOiByZXR1
cm4gIlR5cGVJQmVhbSI7CisgICAgY2FzZSBDdXJzb3I6OldhaXQ6IHJldHVybiAiVHlwZVdhaXQi
OworICAgIGNhc2UgQ3Vyc29yOjpIZWxwOiByZXR1cm4gIlR5cGVIZWxwIjsKKyAgICBjYXNlIEN1
cnNvcjo6RWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJz
b3I6Ok5vcnRoUmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJz
b3I6Ok5vcnRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RSZXNpemUi
OworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhSZXNpemUi
OworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoRWFz
dFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBl
U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6V2VzdFJlc2l6ZTogcmV0dXJuICJU
eXBlV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoU291dGhSZXNpemU6IHJldHVy
biAiVHlwZU5vcnRoU291dGhSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0V2VzdFJlc2l6
ZTogcmV0dXJuICJUeXBlRWFzdFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVh
c3RTb3V0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSI7
CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29sdW1uUmVzaXpl
OiByZXR1cm4gIlR5cGVDb2x1bW5SZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpSb3dSZXNpemU6
IHJldHVybiAiVHlwZVJvd1Jlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok1pZGRsZVBhbm5pbmc6
IHJldHVybiAiVHlwZU1pZGRsZVBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UGFubmlu
ZzogcmV0dXJuICJUeXBlRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFBhbm5p
bmc6IHJldHVybiAiVHlwZU5vcnRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFz
dFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29y
OjpOb3J0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RQYW5uaW5nIjsKKyAgICBj
YXNlIEN1cnNvcjo6U291dGhQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFBhbm5pbmciOworICAg
IGNhc2UgQ3Vyc29yOjpTb3V0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RQYW5u
aW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlU291
dGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Oldlc3RQYW5uaW5nOiByZXR1cm4gIlR5
cGVXZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok1vdmU6IHJldHVybiAiVHlwZU1vdmUi
OworICAgIGNhc2UgQ3Vyc29yOjpWZXJ0aWNhbFRleHQ6IHJldHVybiAiVHlwZVZlcnRpY2FsVGV4
dCI7CisgICAgY2FzZSBDdXJzb3I6OkNlbGw6IHJldHVybiAiVHlwZUNlbGwiOworICAgIGNhc2Ug
Q3Vyc29yOjpDb250ZXh0TWVudTogcmV0dXJuICJUeXBlQ29udGV4dE1lbnUiOworICAgIGNhc2Ug
Q3Vyc29yOjpBbGlhczogcmV0dXJuICJUeXBlQWxpYXMiOworICAgIGNhc2UgQ3Vyc29yOjpQcm9n
cmVzczogcmV0dXJuICJUeXBlUHJvZ3Jlc3MiOworICAgIGNhc2UgQ3Vyc29yOjpOb0Ryb3A6IHJl
dHVybiAiVHlwZU5vRHJvcCI7CisgICAgY2FzZSBDdXJzb3I6OkNvcHk6IHJldHVybiAiVHlwZUNv
cHkiOworICAgIGNhc2UgQ3Vyc29yOjpOb25lOiByZXR1cm4gIlR5cGVOb25lIjsKKyAgICBjYXNl
IEN1cnNvcjo6Tm90QWxsb3dlZDogcmV0dXJuICJUeXBlTm90QWxsb3dlZCI7CisgICAgY2FzZSBD
dXJzb3I6Olpvb21JbjogcmV0dXJuICJUeXBlWm9vbUluIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9v
bU91dDogcmV0dXJuICJUeXBlWm9vbU91dCI7CisgICAgY2FzZSBDdXJzb3I6OkdyYWI6IHJldHVy
biAiVHlwZUdyYWIiOworICAgIGNhc2UgQ3Vyc29yOjpHcmFiYmluZzogcmV0dXJuICJUeXBlR3Jh
YmJpbmciOworICAgIGNhc2UgQ3Vyc29yOjpDdXN0b206IHJldHVybiAiVHlwZUN1c3RvbSI7Cisg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuICJVTktOT1dOIjsK
K30KKyNlbmRpZgorCitTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1
bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZG9jdW1lbnQg
fHwgIWRvY3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OworICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgQ3Vyc29yIGN1cnNvciA9
IGRvY3VtZW50LT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1vdXNlQ3Vyc29yKCk7
CisKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0
OworICAgIHJlc3VsdC5hcHBlbmQoInR5cGU9Iik7CisgICAgcmVzdWx0LmFwcGVuZChjdXJzb3JU
eXBlVG9TdHJpbmcoY3Vyc29yLnR5cGUoKSkpOworICAgIHJlc3VsdC5hcHBlbmQoIiBob3RTcG90
PSIpOworICAgIHJlc3VsdC5hcHBlbmROdW1iZXIoY3Vyc29yLmhvdFNwb3QoKS54KCkpOworICAg
IHJlc3VsdC5hcHBlbmQoIiwiKTsKKyAgICByZXN1bHQuYXBwZW5kTnVtYmVyKGN1cnNvci5ob3RT
cG90KCkueSgpKTsKKyAgICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKKyAgICAgICAgSW50U2l6ZSBz
aXplID0gY3Vyc29yLmltYWdlKCktPnNpemUoKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiIGlt
YWdlPSIpOworICAgICAgICByZXN1bHQuYXBwZW5kTnVtYmVyKHNpemUud2lkdGgoKSk7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmQoIngiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZE51bWJlcihzaXpl
LmhlaWdodCgpKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworI2Vsc2UK
KyAgICByZXR1cm4gIkZBSUw6IEN1cnNvciBkZXRhaWxzIG5vdCBhdmFpbGFibGUgb24gdGhpcyBw
bGF0Zm9ybS4iOworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmlu
ZGV4IDIxMTE3Mzk3YzgxMWM4NThmM2IxZjQ5ZmM1N2QxNmFjMjVhNzExMjEuLjg0ZmEwMTJkYzIw
NmMxYTk3NjkxYzNkZmNiZmQ5NDdjOGZlYWZhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaApAQCAtMjQyLDYgKzI0Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdS
ZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHN0b3BUcmFja2lu
Z1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgU3RyaW5nIGdldEN1
cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50KiBjb250ZXh0
RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA3
YTVhYjdiOTBlZGI2NGI2NTBkYzM0MzdiNDNhMWQ2OTk3MWIwMWFkLi4wNjRkMDExOGYwOWM2OGU0
ODQxMGEwMzY1OWRkYzRjZTU5MjZjNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCkBAIC0yMTAsNCArMjEwLDcgQEAKICAgICAvLyAgc3RhcnRUcmFja2luZ1JlcGFpbnRzLCBy
ZXBhaW50UmVjdHNBc1RleHQsIHN0b3BUcmFja2luZ1JlcGFpbnRzLgogICAgIHZvaWQgc3RhcnRU
cmFja2luZ1JlcGFpbnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkg
cmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAgLy8gUmV0dXJucyBhIHN0cmluZyB3aXRoIGlu
Zm9ybWF0aW9uIGFib3V0IHRoZSBtb3VzZSBjdXJzb3IgdXNlZCBhdCB0aGUgc3BlY2lmaWVkIGNs
aWVudCBsb2NhdGlvbi4KKyAgICBET01TdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oaW4gRG9j
dW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKaW5kZXggOTY2MjgyZjk4YzRmNzdkZjE4OTFjZTFlOWYxMDUzZWFhOTEyMGJmMC4uNzI1
NjZmZTc2MWQxMzNkMzhjNzcxNjY0ODFjYTQ5YzQ2MWE0ZDRkZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LmRlZgpAQCAtMTUzLDYgKzE1Myw4IEBAIEVYUE9SVFMKICAgICAgICAgPz8wQ2xpZW50UmVjdExp
c3RAV2ViQ29yZUBAQUFFQFhaCiAgICAgICAgID8/MENsaWVudFJlY3RMaXN0QFdlYkNvcmVAQEFB
RUBBQlY/JFZlY3RvckBWRmxvYXRRdWFkQFdlYkNvcmVAQCQwQUBAV1RGQEBAWgogICAgICAgICA/
PzFDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8xQ3Vyc29yQFdlYkNv
cmVAQFFBRUBYWgorICAgICAgICA/PzBDdXJzb3JAV2ViQ29yZUBAUUFFQEFCVjAxQEBaCiAgICAg
ICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVA
UEJfV0BaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdEBSZW5kZXJPYmplY3RAV2Vi
Q29yZUBAUUJFP0FWSW50UmVjdEAyQF9OQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZgppbmRleCBiMTUxNjM4NWRkM2FmNTY2ODgxNTYwYjI1ZWMzMzQzNjIxNDQ1Y2I0Li5jMjlkODE4
OGFjZmM5M2NmOTNkNDg5ZDgxN2Q0NzA2NzAzZDRmNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCkBAIC0xNDYsNiArMTQ2LDggQEAgRVhQT1JUUwogICAgICAgICA/PzBDbGll
bnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xpZW50UmVjdExpc3RAV2Vi
Q29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBAJDBBQEBXVEZAQEBaCiAg
ICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgorICAgICAgICA/PzFDdXJz
b3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFA
QFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAgICAgID8/MFN0cmluZ0BX
VEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0QFJlbmRlck9i
amVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIK
aW5kZXggZDgyZjE3OTg1MTFjMjZkNDdiZjU0NTQ1MDRmYzA2NjVmZWM5NmJlOS4uYTE2OWE4OWQ3
OGVlNjk4YzkxNGRiOTMzNWJmYzE2MWVmYzBiMWJmNyAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CkBAIC0xNjIsNiArMTYyLDggQEAgX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRTY3Jv
bGxPZmZzZXRGcm9tSW50ZXJuYWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBTY3Jv
bGxWaWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlMTBTY3JvbGxW
aWV3MjFzZXREZWxlZ2F0ZXNTY3JvbGxpbmdFYjsKIF9aTjdXZWJDb3JlNE5vZGUxNHJlbW92ZWRM
YXN0UmVmRXY7CitfWk43V2ViQ29yZTZDdXJzb3JDMUVSS1MwXzsKK19aTjdXZWJDb3JlNkN1cnNv
ckQxRXY7CiBfWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOwogX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdF
MTFVU2NyaXB0Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlF
UktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Q3YzM3NDI5YmM2
NjcyMjUwYmVmYzc0NDFjYmE0YmU5ODRmZTBhNS4uYTQ4MzI4OWFmYzgyMWRjMzY4MzhkNjc0NDU3
ODE5OGNmMzZhZWIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTExLTA5ICBSaWNrIEJ5
ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdp
bmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAg
ICAgICBBZGQgYSBzaW1wbGUgdGVzdCBjb3ZlcmluZyB0aGUgYmFzaWMgc2NlbmFyaW9zIG9mIGNo
YW5naW5nIGEgbW91c2UKKyAgICAgICAgY3Vyc29yIHdpdGggQ1NTLiAgVGhpcyBpbmNsdWRlcyBt
b3N0IG9mIHRoZSBjYXNlcyBjdXJyZW50bHkgY292ZXJlZAorICAgICAgICBieSBNYW51YWxUZXN0
cy8qY3Vyc29yKi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBBZGQg
ZmFpbHVyZSBleHBlY3RhdGlvbi4KKwogMjAxMi0xMS0wOSAgU2xhdm9taXIgS2FzbGV2ICA8c2th
c2xldkBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmViYXNlbGluaW5nIHNvZnR3
YXJlIGNvbXBvc2l0b3IgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzE1YTkxYjQ0MzAzODZiZTMxODE1
MDQxYTNiMDljNmE5YWZiMzlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcyIEBACitUZXN0IHRo
YXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitCdWcgMTAwNTUwCisKKyAKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVm
YXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IEV4cGxpY2l0IGRlZmF1bHQKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVQb2ludGVy
IGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgYXV0bworQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogTm8gY3Vyc29yCitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlTm9uZSBob3RTcG90PTAsMAorCitURVNUIENBU0U6IFBvaW50ZXIKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogLXdlYmtp
dC1ncmFiYmluZworQ3Vyc29yIEluZm86IHR5cGU9VHlwZUdyYWJiaW5nIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogRXhpc3RpbmcgMjV4MjUgaW1hZ2UKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVD
dXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbnZhbGlkIFVSTCB3
aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNw
b3Q9MCwwCisKK1RFU1QgQ0FTRTogSW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdl
CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisK
K1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKQorQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENB
U0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTIwLDEwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTog
SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpCitDdXJzb3IgSW5mbzogdHlw
ZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ug
d2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzMCwzMCkKK0N1cnNvciBJ
bmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNF
OiBPdmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBTVkcgY3Vyc29yCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1Qg
Q0FTRTogTXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBOb25l
eGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBBIGxpbmsgd2l0aCBkZWZh
dWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVT
VCBDQVNFOiBMaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0CitDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IFdhaXQgY3Vyc29y
IHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZQorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAKKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0OGNiMzYyMDc5NDdmYzE1YWNmY2I0N2Jl
YTQ5YTNkNDNmNjdkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPjxhIGhyZWY9aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MD5CdWcgMTAwNTUwPC9hPjwvcD4KKzxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKKyAgICAgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiPgorICA8
ZGVmcz4KKyAgICA8Y3Vyc29yIGlkPSJncmVlbmJveCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL2dy
ZWVuYm94LnBuZyIgeD0iMCIgeT0iMCIvPgorICA8L2RlZnM+Cis8L3N2Zz4KKzxkaXYgaWQ9InRl
c3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZhdWx0IGN1cnNvcjwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IGRlZmF1bHQnPkV4cGxpY2l0IGRlZmF1bHQ8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiBhdXRvJz5FeHBsaWNpdCBhdXRvPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogbm9uZSc+Tm8gY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogcG9p
bnRlcic+UG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IC13ZWJraXQtZ3JhYmJp
bmcnPi13ZWJraXQtZ3JhYmJpbmc8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVz
b3VyY2VzL2dyZWVuYm94LnBuZyksIGhhbmQnPkV4aXN0aW5nIDI1eDI1IGltYWdlPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHBvaW50ZXInPkludmFs
aWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJz
b3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZyksIHBv
aW50ZXInPkludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZTwvZGl2PgorICA8ZGl2
IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAwIDAsIHBvaW50ZXIn
PkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCk8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPklt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwvZGl2PgorICA8ZGl2IHN0eWxl
PSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyksIHBv
aW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJzb3I8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1cmwo
dW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQgY3Vy
c29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRo
IGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdj48YSBocmVmPScjJz5BIGxpbmsgd2l0
aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB3YWl0Jz48
YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0PC9hPjwv
ZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYgc3R5bGU9J2N1cnNvcjogZG9l
c250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5r
bm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8YnIvPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRUb0xvYWQgPSAwOworCitmdW5j
dGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24t
ZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVu
CisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICciOiAnICsgZS50YXJnZXQuc3Jj
KTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0
VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xv
YWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNr
IHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsK
KwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVzdEZhaWxlZCgnR290IHVuZXhwZWN0ZWQgXCcn
ICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUudGFyZ2V0LnNyYyk7IAorfQor
CitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGluZyB1c2VmdWwg
aGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewor
ICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGVz
dC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlc1Rv
VGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIG5vZGUgPSBub2Rlc1RvVGVzdFtp
XTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBub2RlLnRleHRDb250ZW50KTsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMs
IG5vZGUub2Zmc2V0VG9wICsgMyk7CisgICAgICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQg
cmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdz
IGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJl
bHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1w
CisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2Ny
aXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVy
bmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkpOworICAgICAgICAgICAgZGVidWco
JycpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0
aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IG1vdXNlIGN1
cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZScp
OworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBlYWNoIGltYWdlIHRvIGxvYWQg
b3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhpcyB3
ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0gZWcuIG5vIGtub3duIHNpemUu
Cit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LnBu
ZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAg
eyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7
IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNu
b25leGlzdGVudCcsIGVycm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNU
b0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBp
KyspIHsKKyAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0g
aW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1n
LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9u
SW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30K
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk1ZjI0ZGQ1N2I4NGFlNGI4
Y2ViZmQ4MDIyOGQ4NDYwMDZmNTMyMzAuLjYxYmQ5NzU4ZThlOTA0N2YyZTVkZDQzNzM2MzU5YmNk
Y2FkZjI3NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDIwOSw2ICs0MjA5LDkgQEAgY3JidWcuY29tLzE2MDA3NSBmYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUKIGNy
YnVnLmNvbS8xNjAwNzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMv
d2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXJlcGFpbnQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogY3JidWcuY29tLzE2MDA3NSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogCisjIFRoaXMgdGVzdCB3aWxsIGJlIGVuYWJsZWQgc2hvcnRseSB3aGVuIGNocm9taXVt
IG1vdmVzIHRvIHRoZSBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKSBpbmZyYXN0cnVjdHVyZQord2Vi
a2l0Lm9yZy9iLzEwMTUwMSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBbIEZhaWx1cmUg
XQorCiAjIEZhaWx1cmVzIGZvbGxvd2luZyByMTMzODQwOgogd2Via2l0Lm9yZy9iLzEwMTU0NyBm
YXN0L3JlcGFpbnQvNDc3NDM1NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTAxNTQ3IGZhc3QvcmVwYWludC9jYXJldC1vdXRzaWRlLWJsb2NrLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4Nzg5
OWFhYzc0NTVhNzA1ZTk4Yzk2ZjRmZmEwMGI1OGJjMjdkZTU2Li45MGFhODFiNGEwNzc0ODFhNTA4
YTAwN2JkY2FhMzM0ZGQ4NjIzY2Y0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3Jz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAK
KworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBuZWNlc3Nh
cnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAgICAg
ICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMS0wOSAgTGFzemxv
IEdvbWJvcyAgPGwuZ29tYm9zQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSAt
V2Vycm9yIGZvciB0aGUgRUZMIHBvcnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173395</attachid>
            <date>2012-11-09 16:28:21 -0800</date>
            <delta_ts>2012-11-15 08:16:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100550-20121109192628.patch</filename>
            <type>text/plain</type>
            <size>22903</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI1NTRmYTAwNGI2OGUx
YzdjY2RkMmM5MGFlZTMzYTRhYTEwYzVhYS4uMTA5ZDBhNzRjMmRlMGE3NzI2YmZjMjIwNWM0ZjYx
ODdiYWUyMzhjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKwor
ICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgdG8ga2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZXQg
bW91c2UgY3Vyc29yLAorICAgICAgICBhbmQgdGhlbiB0byBxdWVyeSBpdCBmcm9tIER1bXBSZW5k
ZXJUcmVlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRkIEN1cnNvciBjb3B5IGN0b3IgZXhwb3J0Cisg
ICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBzZXQgbW91
c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1vdXNlQ3Vyc29yKTogTmV3IGdldHRlciBmb3IgbGFz
dCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3Vyc29yVHlwZVRvU3RyaW5nKTogSGVscGVyIHRvIGNvbnZlcnQgY3Vy
c29yIHR5cGUgdG8gZW51bQorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKTogTmV3IGZ1bmN0aW9uIHRvIHJldHVybiBh
IHN0cmluZyBkZXNjcmliaW5nIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJbmZvCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBEZWNsYXJlIGdldEN1cnJlbnRDdXJzb3JJbmZvCisK
IDIwMTItMTEtMDkgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENvcnJlY3QgaGl0LXRlc3QgcG9pbnQgc2NhbGluZyBmb3IgZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDIwNTE0NzllMGMyZDVlOTViZjVmYzc4ZWQ4YTMxMTIzNTg4
OTAzZDIuLjAzNTU3Y2JkYmNkOWQ5NDE2NjM4ZDQzNmQyYzc2NTVkMDQyNTUxYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAor
CisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQWRkIG5lY2Vzc2Fy
eSBleHBvcnRzIGZvciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAg
KiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAy
MDEyLTExLTA5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAg
ICAgIFBERlBsdWdpbiBzaG91bGQgc3VwcG9ydCBjbGlja2luZyBvbiBleHRlcm5hbCBsaW5rcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhNWYyMzY3YWIxMmU1NTRkNDhmOGFjMTQ1NTJhZGEwY2U2
M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5ZWFhYTQ4ZjBhMDBhYTUwNjhkYzNjZGFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2ICsxNzExLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMXdp
bmRvd1NjcmVlbkRpZENoYW5nZUVqCiBfX1pON1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180
Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJzb3I4ZnJvbVR5cGVFTlMwXzRUeXBlRQogX19aTjdXZWJD
b3JlNkN1cnNvckMxRVBOU181SW1hZ2VFUktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU2Q3Vy
c29yQzFFUktTMF8KIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CiBfX1pON1dlYkNvcmU2Q3Vyc29y
YVNFUktTMF8KIF9fWk43V2ViQ29yZTZFZGl0b3IxM2NhbkRIVE1MUGFzdGVFdgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA3ZTFiNzNhYjk4MjMyYjBmODM0NDE5NjQ1ZjM4
ZDVjOTY1ZmM0YWEuLjdkNzg4ODNmNDYyNDIyNzUwNDZjMjA1MzYwNDdiZjIyY2IwNmU1YjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1MjYsNyArMTUyNiw3IEBAIE9w
dGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IE1vdXNlRXZlbnRX
aXRoSGl0VGVzdFJlc3VsdHMmIGV2CiAgICAgfQogICAgIHJldHVybiBwb2ludGVyQ3Vyc29yKCk7
CiB9Ci0gICAgCisKIHN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CiAgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKQEAgLTE4NjIsNyArMTg2Miw4IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmIG1vdXNlRXZlbnQsIEhpCiAgICAgICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT52aWV3KCkpIHsKICAgICAgICAgICAgIE9wdGlvbmFsQ3Vyc29yIG9wdGlvbmFsQ3Vyc29yID0g
c2VsZWN0Q3Vyc29yKG1ldiwgc2Nyb2xsYmFyKTsKICAgICAgICAgICAgIGlmIChvcHRpb25hbEN1
cnNvci5pc0N1cnNvckNoYW5nZSgpKQotICAgICAgICAgICAgICAgIHZpZXctPnNldEN1cnNvcihv
cHRpb25hbEN1cnNvci5jdXJzb3IoKSk7CisgICAgICAgICAgICAgICAgbV9jdXJyZW50TW91c2VD
dXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsKKyAgICAgICAgICAgICAgICB2aWV3LT5z
ZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOTNjNmIxMGViOTg3NDRmYmY1NjdhODE5
ZjI4MTY4ZjMyMmExYzFjOC4uMmMxYjUxZWExODgyYzk2MGVmYTg0MWJjMzMxOWE0MWVjZjZmZjlh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIEV2ZW50SGFuZGxlcl9oCiAjZGVmaW5lIEV2ZW50SGFuZGxlcl9oCiAKKyNpbmNsdWRlICJD
dXJzb3IuaCIKICNpbmNsdWRlICJEcmFnQWN0aW9ucy5oIgogI2luY2x1ZGUgIkRyYWdTdGF0ZS5o
IgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCkBAIC0xNDEsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzaXplTGF5ZXJEZXN0cm95ZWQoKTsKIAogICAgIEludFBvaW50IGN1cnJl
bnRNb3VzZVBvc2l0aW9uKCkgY29uc3Q7CisgICAgQ3Vyc29yIGN1cnJlbnRNb3VzZUN1cnNvcigp
IGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudE1vdXNlQ3Vyc29yOyB9CiAKICAgICBzdGF0aWMgRnJh
bWUqIHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShOb2RlKik7CiAgICAgc3RhdGljIEZyYW1lKiBzdWJm
cmFtZUZvckhpdFRlc3RSZXN1bHQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYp
OwpAQCAtNDIwLDYgKzQyMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fbGFzdE5v
ZGVVbmRlck1vdXNlOwogICAgIFJlZlB0cjxGcmFtZT4gbV9sYXN0TW91c2VNb3ZlRXZlbnRTdWJm
cmFtZTsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlOwor
ICAgIEN1cnNvciBtX2N1cnJlbnRNb3VzZUN1cnNvcjsKIAogICAgIGludCBtX2NsaWNrQ291bnQ7
CiAgICAgUmVmUHRyPE5vZGU+IG1fY2xpY2tOb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IGU0ZDMwODQxMGEwNjMzNjhmY2VjNjBjMmRlYzM5MmJmN2UyZTlkYTcuLjc5
MDFiNjMwZTM5ODUyZWY4NmM5MGMzZmZkOWFlYzZiOGRkNDQxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJDbGllbnRSZWN0
LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRlICJDb21wb3NlZFNoYWRv
d1RyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJET01TdHJpbmdM
aXN0LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAg
LTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgorI2luY2x1ZGUg
IkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJG
b3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC03NCw2ICs3Niw4IEBACiAj
aW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAjaW5jbHVk
ZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWZmZXIu
aD4KKwogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAjaW5jbHVkZSAiQ29sb3JDaG9v
c2VyLmgiCkBAIC05Myw3ICs5Nyw2IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9BREpV
U1RNRU5UKQotI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50
LmgiCiAjZW5kaWYKIApAQCAtMTQ3Nyw0ICsxNDgwLDg5IEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9w
VHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ICAgIGZyYW1lVmlldy0+c2V0VHJhY2tzUmVwYWludHMoZmFsc2UpOwogfQogCisjaWYgVVNFKExB
WllfTkFUSVZFX0NVUlNPUikKK3N0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmco
Q3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCit7CisgICAgc3dpdGNoIChjdXJzb3JUeXBlKSB7Cisg
ICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6IHJldHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2Ug
Q3Vyc29yOjpDcm9zczogcmV0dXJuICJUeXBlQ3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpIYW5k
OiByZXR1cm4gIlR5cGVIYW5kIjsKKyAgICBjYXNlIEN1cnNvcjo6SUJlYW06IHJldHVybiAiVHlw
ZUlCZWFtIjsKKyAgICBjYXNlIEN1cnNvcjo6V2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAg
Y2FzZSBDdXJzb3I6OkhlbHA6IHJldHVybiAiVHlwZUhlbHAiOworICAgIGNhc2UgQ3Vyc29yOjpF
YXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9y
dGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9y
dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vy
c29yOjpOb3J0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXpl
IjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFdl
c3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RXZXN0UmVzaXplOiByZXR1
cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRo
V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdl
c3RTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpDb2x1bW5SZXNpemU6IHJldHVy
biAiVHlwZUNvbHVtblJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJu
ICJUeXBlUm93UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJu
ICJUeXBlTWlkZGxlUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOiByZXR1
cm4gIlR5cGVFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzogcmV0
dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmlu
ZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRo
V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vy
c29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBD
dXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOwor
ICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RQ
YW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQ
YW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJuICJUeXBlTW92ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAg
ICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6
OkNvbnRleHRNZW51OiByZXR1cm4gIlR5cGVDb250ZXh0TWVudSI7CisgICAgY2FzZSBDdXJzb3I6
OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiBy
ZXR1cm4gIlR5cGVQcm9ncmVzcyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJU
eXBlTm9Ecm9wIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29weTogcmV0dXJuICJUeXBlQ29weSI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVybiAiVHlwZU5vbmUiOworICAgIGNhc2UgQ3Vyc29y
OjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5cGVOb3RBbGxvd2VkIjsKKyAgICBjYXNlIEN1cnNvcjo6
Wm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4iOworICAgIGNhc2UgQ3Vyc29yOjpab29tT3V0OiBy
ZXR1cm4gIlR5cGVab29tT3V0IjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYjogcmV0dXJuICJUeXBl
R3JhYiI7CisgICAgY2FzZSBDdXJzb3I6OkdyYWJiaW5nOiByZXR1cm4gIlR5cGVHcmFiYmluZyI7
CisgICAgY2FzZSBDdXJzb3I6OkN1c3RvbTogcmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gIlVOS05PV04iOworfQorI2Vu
ZGlmCisKK1N0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50KiBk
b2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBDdXJzb3IgY3Vyc29yID0gZG9jdW1l
bnQtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VDdXJzb3IoKTsKKworI2lm
IFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAg
cmVzdWx0LmFwcGVuZCgidHlwZT0iKTsKKyAgICByZXN1bHQuYXBwZW5kKGN1cnNvclR5cGVUb1N0
cmluZyhjdXJzb3IudHlwZSgpKSk7CisgICAgcmVzdWx0LmFwcGVuZCgiIGhvdFNwb3Q9Iik7Cisg
ICAgcmVzdWx0LmFwcGVuZE51bWJlcihjdXJzb3IuaG90U3BvdCgpLngoKSk7CisgICAgcmVzdWx0
LmFwcGVuZCgiLCIpOworICAgIHJlc3VsdC5hcHBlbmROdW1iZXIoY3Vyc29yLmhvdFNwb3QoKS55
KCkpOworICAgIGlmIChjdXJzb3IuaW1hZ2UoKSkgeworICAgICAgICBJbnRTaXplIHNpemUgPSBj
dXJzb3IuaW1hZ2UoKS0+c2l6ZSgpOworICAgICAgICByZXN1bHQuYXBwZW5kKCIgaW1hZ2U9Iik7
CisgICAgICAgIHJlc3VsdC5hcHBlbmROdW1iZXIoc2l6ZS53aWR0aCgpKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZCgieCIpOworICAgICAgICByZXN1bHQuYXBwZW5kTnVtYmVyKHNpemUuaGVpZ2h0
KCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CisjZWxzZQorICAgIHJl
dHVybiAiRkFJTDogQ3Vyc29yIGRldGFpbHMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3Jt
LiI7CisjZW5kaWYKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjEx
MTczOTdjODExYzg1OGYzYjFmNDlmYzU3ZDE2YWMyNWE3MTEyMS4uODRmYTAxMmRjMjA2YzFhOTc2
OTFjM2RmY2JmZDk0N2M4ZmVhZmE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBA
IC0yNDIsNiArMjQyLDggQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRz
KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWlu
dHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBTdHJpbmcgZ2V0Q3VycmVudEN1
cnNvckluZm8oRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CisKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVu
dCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdhNWFiN2I5
MGVkYjY0YjY1MGRjMzQzN2I0M2ExZDY5OTcxYjAxYWQuLjA2NGQwMTE4ZjA5YzY4ZTQ4NDEwYTAz
NjU5ZGRjNGNlNTkyNmM2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTIxMCw0ICsyMTAsNyBAQAogICAgIC8vICBzdGFydFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRS
ZWN0c0FzVGV4dCwgc3RvcFRyYWNraW5nUmVwYWludHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5n
UmVwYWludHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CisKKyAgICAvLyBSZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRp
b24gYWJvdXQgdGhlIG1vdXNlIGN1cnNvciB1c2VkIGF0IHRoZSBzcGVjaWZpZWQgY2xpZW50IGxv
Y2F0aW9uLgorICAgIERPTVN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhpbiBEb2N1bWVudCBk
b2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpp
bmRleCA5NjYyODJmOThjNGY3N2RmMTg5MWNlMWU5ZjEwNTNlYWE5MTIwYmYwLi43MjU2NmZlNzYx
ZDEzM2QzOGM3NzE2NjQ4MWNhNDljNDYxYTRkNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBA
IC0xNTMsNiArMTUzLDggQEAgRVhQT1JUUwogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJD
b3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8k
VmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBAJDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVu
dFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgorICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFF
QFhaCisgICAgICAgID8/MEN1cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8w
U3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoK
ICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBR
QkU/QVZJbnRSZWN0QDJAX05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4
IGIxNTE2Mzg1ZGQzYWY1NjY4ODE1NjBiMjVlYzMzNDM2MjE0NDVjYjQuLmMyOWQ4MTg4YWNmYzkz
Y2Y5M2Q0ODlkODE3ZDQ3MDY3MDNkNGY2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0
ZS5kZWYKQEAgLTE0Niw2ICsxNDYsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MENsaWVudFJlY3RM
aXN0QFdlYkNvcmVAQEFBRUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBB
QUVAQUJWPyRWZWN0b3JAVkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBAQFoKICAgICAgICAg
Pz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MUN1cnNvckBXZWJD
b3JlQEBRQUVAWFoKKyAgICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBBQlYwMUBAWgogICAg
ICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFF
QFBCX1dAWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2JqZWN0QFdl
YkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCBk
ODJmMTc5ODUxMWMyNmQ0N2JmNTQ1NDUwNGZjMDY2NWZlYzk2YmU5Li5hMTY5YTg5ZDc4ZWU2OThj
OTE0ZGI5MzM1YmZjMTYxZWZjMGIxYmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTE2
Miw2ICsxNjIsOCBAQCBfWk43V2ViQ29yZTE0U2Nyb2xsYWJsZUFyZWEyOHNldFNjcm9sbE9mZnNl
dEZyb21JbnRlcm5hbHNFUktOU184SW50UG9pbnRFOwogX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcy
M3NldFNjcm9sbGJhcnNTdXBwcmVzc2VkRWJiOwogX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyMXNl
dERlbGVnYXRlc1Njcm9sbGluZ0ViOwogX1pON1dlYkNvcmU0Tm9kZTE0cmVtb3ZlZExhc3RSZWZF
djsKK19aTjdXZWJDb3JlNkN1cnNvckMxRVJLUzBfOworX1pON1dlYkNvcmU2Q3Vyc29yRDFFdjsK
IF9aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRJbWFnZXNFbmFibGVkRWI7CiBfWk43V2ViQ29yZThT
ZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3Jp
cHRDb2RlOwogX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhODBjMDYxZjE5ZWI0NDQ3OWVm
YjYxMzg2M2UyM2I2OTQzMzYxY2JkLi5jOTE1MDM2NWY3MDIxOTE2OWVhMzIxZTg5YWEwY2I0OGFm
OTFhZTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxy
YnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3Vz
ZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFk
ZCBhIHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcg
YSBtb3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBDU1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2Yg
dGhlIGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVkCisgICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJz
b3IqLgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEFkZCBmYWlsdXJl
IGV4cGVjdGF0aW9uLgorCiAyMDEyLTExLTA5ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDb3JyZWN0IGhpdC10ZXN0IHBvaW50IHNjYWxpbmcgZm9yIGRv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjMTVhOTFiNDQzMDM4NmJlMzE4
MTUwNDFhM2IwOWM2YTlhZmIzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAKK1Rlc3Qg
dGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDA1NTAKKworIAorVEVTVCBDQVNFOiBJbXBsaWNpdCBk
ZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogRXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZVBvaW50
ZXIgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBsaWNpdCBhdXRvCitDdXJzb3IgSW5mbzog
dHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBObyBjdXJzb3IKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVOb25lIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogUG9pbnRlcgor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiAtd2Vi
a2l0LWdyYWJiaW5nCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlR3JhYmJpbmcgaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEludmFsaWQgVVJM
IHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90
U3BvdD0wLDAKKworVEVTVCBDQVNFOiBJbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1h
Z2UKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUK
KworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1Qg
Q0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApCitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNF
OiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSkKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKQorQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENB
U0U6IE92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IFNWRyBjdXJzb3IKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVT
VCBDQVNFOiBNdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0byBwb2ludGVy
CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IE5v
bmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEEgbGluayB3aXRoIGRl
ZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IExpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogV2FpdCBjdXJz
b3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlV2FpdCBob3RTcG90PTAsMAorCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjdkNzg1ZmY5ZjVkOWU0ZjI3OGI2MWY4
MGM0YjI0ZDZkYjJkMmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+PGEgaHJlZj1odHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1ZyAxMDA1NTA8L2E+PC9wPgor
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4bGlu
az0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjAiIGhlaWdodD0iMCI+Cisg
IDxkZWZzPgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94IiB4bGluazpocmVmPSJyZXNvdXJjZXMv
Z3JlZW5ib3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwvZGVmcz4KKzwvc3ZnPgorPGRpdiBpZD0i
dGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhwbGljaXQgZGVmYXVsdDwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0IGF1dG88L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBw
b2ludGVyJz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogLXdlYmtpdC1ncmFi
YmluZyc+LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhpc3RpbmcgMjV4MjUgaW1hZ2U8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgcG9pbnRlcic+SW52
YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwg
cG9pbnRlcic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlPC9kaXY+CisgIDxk
aXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDAgMCwgcG9pbnRl
cic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKTwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRlcic+
SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVyJz5J
bWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXInPklt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+
CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nKSwg
cG9pbnRlcic+T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1cnNv
cjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCksIHVy
bCh1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxpZCBj
dXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJz
b3I6IHVybCgjbm9uZXhpc3RlbnQpLCBwb2ludGVyJz5Ob25leGlzdGVudCBTVkcgY3Vyc29yIHdp
dGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2PjxhIGhyZWY9JyMnPkEgbGluayB3
aXRoIGRlZmF1bHQgY3Vyc29yPC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQn
PjxhIGhyZWY9JyMnPkxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQ8L2E+
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGRpdiBzdHlsZT0nY3Vyc29yOiBk
b2VzbnRleGlzdCc+V2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSB1
bmtub3duIGN1cnNvciBydWxlPC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxici8+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVmdFRvTG9hZCA9IDA7CisKK2Z1
bmN0aW9uIG9uSW1hZ2VMb2FkKGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlzIG5v
bi1kZXRlcm1pbmlzdGljIGFuZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93IHdo
ZW4KKyAgICAvLyBub3QgcnVubmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICBkZWJ1ZyggJ0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdldC5z
cmMpOworICAgICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdlc0xl
ZnRUb0xvYWQgPT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRv
TG9hZCA8IDApCisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2FsbGJh
Y2sgdGhhbiBleHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQoZSkg
eworCWltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICB0ZXN0RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBc
JycgKyBlLnR5cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdlOiAnICsgZS50YXJnZXQuc3JjKTsgCit9
CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIC8vIENhbid0IGRvIGFueXRoaW5nIHVzZWZ1
bCBoZXJlIHdpdGhvdXQgZXZlbnRTZW5kZXIKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgIHZhciBub2Rlc1RvVGVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0
ZXN0LWNvbnRhaW5lciA+IGRpdicpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVz
VG9UZXN0Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0
W2ldOworICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsg
Mywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3Vs
ZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0aGF0
J3MgYSBsb3QgbW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdpdGgg
cmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0IGR1
bXAKKyAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUgZGVz
Y3JpcHRpb24uCisgICAgICAgICAgICBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB3aW5kb3cuaW50
ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSk7CisgICAgICAgICAgICBkZWJ1
ZygnJyk7CisgICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3aXRo
IHRoZSB0ZXN0IG91dHB1dCAtIGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QtY29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAg
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91c2Ug
Y3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVl
Jyk7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2UgdG8gbG9h
ZCBvciBmYWlsIHRvIGxvYWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91dCB0aGlz
IHdlIGNhbiBnZXQgbnVsbCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25vd24gc2l6
ZS4KK3ZhciBpbWFnZXNUb0xvYWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gu
cG5nJyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL29ubG9hZC1pbWFnZS5wbmcnIH0sCisgICAg
eyB1cmw6ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsgdXJsOiAndW5r
bm93bi1zY2hlbWU6Y3Vyc29yLnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICdtb3Vz
ZS1jdXJzb3IuaHRtbCcsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICcjbm9uZXhpc3RlbnQn
LCBlcnJvcjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0
aDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsrKSB7CisgICAg
dmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBleHBlY3RFcnJvciA9IGltYWdlc1RvTG9h
ZFtpXS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJv
ciA/IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxvYWQpOworICAgIGltZy5hZGRFdmVudExp
c3RlbmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25JbWFnZUxvYWQgOiBvbkltYWdlVW5leHBl
Y3RlZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9hZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2N2I5MTRiNTY0NmI0ODNmZGI5ZjlmZGU2OWUw
N2Y4YmU1NDQ1NjA5Li5kMDcxYjNhODk0NGY3Y2RkNDU5NmQzNTZmYjNiNmM4ODkyNzlkYjk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQyMDIsNiArNDIwMiw5IEBAIHdlYmtpdC5vcmcvYi8xMDE1MzkgWyBMaW51eCBXaW4gXSBlZGl0
aW5nL2V4ZWNDb21tYW5kL3N3aXRjaC1saXN0LXR5cGUtd2l0aC1vcnBoCiAKIHdlYmtpdC5vcmcv
Yi8xMDE2MTggWyBXaW43IERlYnVnIF0gaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2Rh
dGFiYXNlLWRhdGEuaHRtbCBbIENyYXNoIF0KIAorIyBUaGlzIHRlc3Qgd2lsbCBiZSBlbmFibGVk
IHNob3J0bHkgd2hlbiBjaHJvbWl1bSBtb3ZlcyB0byB0aGUgVVNFKExBWllfTkFUSVZFX0NVUlNP
UikgaW5mcmFzdHJ1Y3R1cmUKK3dlYmtpdC5vcmcvYi8xMDE1MDEgZmFzdC9ldmVudHMvbW91c2Ut
Y3Vyc29yLmh0bWwgWyBGYWlsdXJlIF0KKwogIyBGYWlsdXJlcyBmb2xsb3dpbmcgcjEzMzg0MDoK
IHdlYmtpdC5vcmcvYi8xMDE1NDcgZmFzdC9yZXBhaW50LzQ3NzQzNTQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwMTU0NyBmYXN0L3JlcGFpbnQvY2FyZXQtb3V0c2lk
ZS1ibG9jay5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggODc4OTlhYWM3NDU1YTcwNWU5OGM5NmY0ZmZhMDBiNThiYzI3ZGU1
Ni4uOTBhYTgxYjRhMDc3NDgxYTUwOGEwMDdiZGNhYTMzNGRkODYyM2NmNCAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTExLTA5ICBS
aWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3Ig
Y2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
KworICAgICAgICBBZGQgbmVjZXNzYXJ5IGV4cG9ydHMgZm9yIEludGVybmFsczo6Z2V0Q3VycmVu
dEN1cnNvckluZm8KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6
CisKIDIwMTItMTEtMDkgIExhc3psbyBHb21ib3MgIDxsLmdvbWJvc0BzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbRUZMXSBFbmFibGUgLVdlcnJvciBmb3IgdGhlIEVGTCBwb3J0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174444</attachid>
            <date>2012-11-15 08:16:13 -0800</date>
            <delta_ts>2012-11-15 11:15:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100550-20121115111410.patch</filename>
            <type>text/plain</type>
            <size>24245</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE0ODExNDNiNWE5Nzg2
ZjdhMTMzYTAwMTQxMzcyZjFjNjIxMTFlOC4uM2U4YWE2NjQxZDc2MmYzYzBlZjY1ZTQxNjEwNjk2
ZWZhNTc5MjE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTE1ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4gIEFsc28gYWRkcyBBU1NFUlRzIHRvIGhlbHAgZW5zdXJlCisgICAgICAgIHdl
IGNhbiByZWxpYWJseSBkZXRlY3Qgd2hlbiBhbiB1bmluaXRpYWxpemVkIEN1cnNvciBvYmplY3Qg
aXMgdXNlZCAoc3VjaCBhcworICAgICAgICB0aGUgb25lIHRoYXQgY2FuIGJlIHJldHVybmVkIGZy
b20gT3B0aW9uYWxDdXJzb3IgaW4gdGhlIE5vQ3Vyc29yQ2hhbmdlIHNjZW5hcmlvKS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9ydAorICAgICAgICAqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbmFsQ3Vyc29yOjpjdXJz
b3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVu
dCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1v
dXNlQ3Vyc29yKTogTmV3IGdldHRlciBmb3IgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6
IE1hcmsgdW5pbml0aWFsaXplZCBjdXJzb3IgdHlwZXMgYXMgaW52YWxpZC4KKyAgICAgICAgKFdl
YkNvcmU6OkN1cnNvcjo6dHlwZSk6IEFzc2VydCBjdXJzb3IgdHlwZSBpcyB2YWxpZC4KKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBl
VG9TdHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNv
ckluZm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxh
c3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xh
cmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
IERlY2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0xNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVsb2NhdGUgdGhlIEFSTSBORU9O
IFNWRyBmaWx0ZXIgb3B0aW1pemF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI3MDY3MTUxZWI3ZTNhMzll
YjAzMzYzYzc4ZjFhZmQ5ODE4MmQ3MWUuLmYxYTFmNTBmNzA2MjcxNzAzM2YxMzViMzYwYjU1ZmQz
ZjFmYzg4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNSAgUmljayBC
eWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5n
aW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbworCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0xNSAgWXVuaSBKZW9uZyAgPHlobmV0Lmp1bmdA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0byBnZXQvc2V0IHdo
ZXRoZXIgc2NyaXB0cyBjYW4gb3BlbiBuZXcgd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5k
ZXggYmFjNmFhYTMyOGI3YWU2MGVhOGVkZWFlZGQzMGQ1ODZiODFjYTcxYy4uMzIwNDk0NGExMDQw
Mzg4NWYxOWEzYWEzY2M3NzJjNGY5ODQ5NjgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3
MTEsNiArMTcxMSw3IEBAIF9fWk43V2ViQ29yZTRQYWdlMjF3aW5kb3dTY3JlZW5EaWRDaGFuZ2VF
agogX19aTjdXZWJDb3JlNUZyYW1lOW5vZGVJbWFnZUVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmU2
Q3Vyc29yOGZyb21UeXBlRU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JDMUVQTlNfNUlt
YWdlRVJLTlNfOEludFBvaW50RQorX19aTjdXZWJDb3JlNkN1cnNvckMxRVJLUzBfCiBfX1pON1dl
YkNvcmU2Q3Vyc29yRDFFdgogX19aTjdXZWJDb3JlNkN1cnNvcmFTRVJLUzBfCiBfX1pON1dlYkNv
cmU2RWRpdG9yMTNjYW5ESFRNTFBhc3RlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAppbmRleCA4NWI4M2MxYzNjOTVkMzc4MzEwMDUwY2YxYjMyMjY3ZTllMWZkNjU1Li4zYWM5NWU2
OWI4NTdiZTRjNzRkODIyOWE0MjhkYzVlNmU5OGIwNmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgcHVibGljOgogICAgIE9wdGlvbmFsQ3Vy
c29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKSA6IG1faXNDdXJzb3JDaGFuZ2UodHJ1ZSksIG1fY3Vy
c29yKGN1cnNvcikgeyB9CiAKICAgICBib29sIGlzQ3Vyc29yQ2hhbmdlKCkgY29uc3QgeyByZXR1
cm4gbV9pc0N1cnNvckNoYW5nZTsgfQotICAgIGNvbnN0IEN1cnNvciYgY3Vyc29yKCkgY29uc3Qg
eyByZXR1cm4gbV9jdXJzb3I7IH0KKyAgICBjb25zdCBDdXJzb3ImIGN1cnNvcigpIGNvbnN0IHsg
QVNTRVJUKG1faXNDdXJzb3JDaGFuZ2UpOyByZXR1cm4gbV9jdXJzb3I7IH0KIAogcHJpdmF0ZToK
ICAgICBib29sIG1faXNDdXJzb3JDaGFuZ2U7CkBAIC0xNTM4LDcgKzE1MzgsNyBAQCBPcHRpb25h
bEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJiBldgogICAgIH0KICAgICByZXR1cm4gcG9pbnRlckN1cnNvcigpOwogfQot
ICAgIAorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZy
YW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewogICAgIEZyYW1lVmll
dyogdmlldyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xODczLDggKzE4NzMsMTAgQEAgYm9vbCBFdmVu
dEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
bW91c2VFdmVudCwgSGkKICAgICAgICAgICAgIHNjcm9sbGJhci0+bW91c2VNb3ZlZChtb3VzZUV2
ZW50KTsgLy8gSGFuZGxlIGhvdmVyIGVmZmVjdHMgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCB2
aXN1YWwgZmVlZGJhY2sgb24gc2Nyb2xsYmFyIGhvdmVyaW5nLgogICAgICAgICBpZiAoRnJhbWVW
aWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBPcHRpb25hbEN1cnNv
ciBvcHRpb25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJhcik7Ci0gICAgICAg
ICAgICBpZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKLSAgICAgICAgICAgICAg
ICB2aWV3LT5zZXRDdXJzb3Iob3B0aW9uYWxDdXJzb3IuY3Vyc29yKCkpOworICAgICAgICAgICAg
aWYgKG9wdGlvbmFsQ3Vyc29yLmlzQ3Vyc29yQ2hhbmdlKCkpIHsKKyAgICAgICAgICAgICAgICBt
X2N1cnJlbnRNb3VzZUN1cnNvciA9IG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpOworICAgICAgICAg
ICAgICAgIHZpZXctPnNldEN1cnNvcihtX2N1cnJlbnRNb3VzZUN1cnNvcik7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApp
bmRleCA5ZTcyNWRiYjVjMDAzYjkyMWNlNzIxNzg1NjAxZjk5MDcyYTA1ZjdmLi4wMGFkMGE0MDhj
NzgxZWZkYzI2YTI5Nzc1MWQ3MGY2MzA5OTBmOTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgRXZlbnRIYW5kbGVyX2gKICNkZWZpbmUg
RXZlbnRIYW5kbGVyX2gKIAorI2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRyYWdBY3Rp
b25zLmgiCiAjaW5jbHVkZSAiRHJhZ1N0YXRlLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24u
aCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNpemVMYXllckRlc3Ry
b3llZCgpOwogCiAgICAgSW50UG9pbnQgY3VycmVudE1vdXNlUG9zaXRpb24oKSBjb25zdDsKKyAg
ICBDdXJzb3IgY3VycmVudE1vdXNlQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50TW91
c2VDdXJzb3I7IH0KIAogICAgIHN0YXRpYyBGcmFtZSogc3ViZnJhbWVGb3JUYXJnZXROb2RlKE5v
ZGUqKTsKICAgICBzdGF0aWMgRnJhbWUqIHN1YmZyYW1lRm9ySGl0VGVzdFJlc3VsdChjb25zdCBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CkBAIC00MjAsNiArNDIyLDcgQEAgcHJpdmF0
ZToKICAgICBSZWZQdHI8Tm9kZT4gbV9sYXN0Tm9kZVVuZGVyTW91c2U7CiAgICAgUmVmUHRyPEZy
YW1lPiBtX2xhc3RNb3VzZU1vdmVFdmVudFN1YmZyYW1lOwogICAgIFJlZlB0cjxTY3JvbGxiYXI+
IG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2U7CisgICAgQ3Vyc29yIG1fY3VycmVudE1vdXNlQ3Vy
c29yOwogCiAgICAgaW50IG1fY2xpY2tDb3VudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9jbGlja05v
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCmluZGV4IDcyZDhjOTUxYWMxNzE2MWViNTMyNjQ3
OGFjZDE4ZDZkNjJiYWM2NGIuLmE1NDU2MDYyYTNmZmZjMjhjNTZmOGI1MzY3ZjMzYTM4ZDE4Njk5
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCisjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKICNpZiBQTEFURk9STShXSU4pCkBA
IC05OSw3ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKLSAgICAgICAg
ICAgIFBvaW50ZXIsCisgICAgICAgICAgICBQb2ludGVyID0gMCwKICAgICAgICAgICAgIENyb3Nz
LAogICAgICAgICAgICAgSGFuZCwKICAgICAgICAgICAgIElCZWFtLApAQCAtMTQ5LDggKzE1MCwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ3Vyc29yKCkKICNpZiAhUExBVEZP
Uk0oSU9TKSAmJiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VS
U09SKQorICAgICAgICAgICAgLy8gVGhpcyBpcyBhbiBpbnZhbGlkIEN1cnNvciBhbmQgc2hvdWxk
IG5ldmVyIGFjdHVhbGx5IGdldCB1c2VkLgorICAgICAgICAgICAgOiBtX3R5cGUoc3RhdGljX2Nh
c3Q8VHlwZT4oLTEpKQorICAgICAgICAgICAgLCBtX3BsYXRmb3JtQ3Vyc29yKDApCisjZWxzZQog
ICAgICAgICAgICAgOiBtX3BsYXRmb3JtQ3Vyc29yKDApCi0jZW5kaWYKKyNlbmRpZiAvLyBVU0Uo
TEFaWV9OQVRJVkVfQ1VSU09SKQorI2VuZGlmIC8vICFQTEFURk9STShJT1MpICYmICFQTEFURk9S
TShCTEFDS0JFUlJZKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtMTYyLDcgKzE2OSwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQogICAg
ICAgICBleHBsaWNpdCBDdXJzb3IoVHlwZSk7Ci0gICAgICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQorICAgICAgICBUeXBlIHR5cGUoKSBjb25zdAorICAgICAgICB7Cisg
ICAgICAgICAgICBBU1NFUlQobV90eXBlID49IDAgJiYgbV90eXBlIDw9IEN1c3RvbSk7CisgICAg
ICAgICAgICByZXR1cm4gbV90eXBlOworICAgICAgICB9CiAgICAgICAgIEltYWdlKiBpbWFnZSgp
IGNvbnN0IHsgcmV0dXJuIG1faW1hZ2UuZ2V0KCk7IH0KICAgICAgICAgY29uc3QgSW50UG9pbnQm
IGhvdFNwb3QoKSBjb25zdCB7IHJldHVybiBtX2hvdFNwb3Q7IH0KICAgICAgICAgUGxhdGZvcm1D
dXJzb3IgcGxhdGZvcm1DdXJzb3IoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCAwMTViNzFmODYxNGJkNGRmOWRiYTA1ZTYyYjY1ZmUzN2VlY2MxMTNhLi5lYTkx
OThiZGNlNGJkZjFjYjViMjkzODI2YTA0MGQ4NDljMGJlMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ2xpZW50UmVjdC5o
IgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVkZSAiQ29tcG9zZWRTaGFkb3dU
cmVlV2Fsa2VyLmgiCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlz
dC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC0z
OCw2ICszOSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKKyNpbmNsdWRlICJF
dmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRm9y
bUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNzUsNiArNzcsOCBAQAogI2lu
Y2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgogI2luY2x1ZGUg
IlZpZXdwb3J0QXJndW1lbnRzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+
CisKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogI2luY2x1ZGUgIkNvbG9yQ2hvb3Nl
ci5oIgpAQCAtOTQsNyArOTgsNiBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfQURKVVNU
TUVOVCkKLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5o
IgogI2VuZGlmCiAKQEAgLTE1MzksNCArMTU0Miw4OSBAQCB2b2lkIEludGVybmFsczo6c3RvcFRy
YWNraW5nUmVwYWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAg
ICBmcmFtZVZpZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorI2lmIFVTRShMQVpZ
X05BVElWRV9DVVJTT1IpCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRvU3RyaW5nKEN1
cnNvcjo6VHlwZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlwZSkgeworICAg
IGNhc2UgQ3Vyc29yOjpQb2ludGVyOiByZXR1cm4gIlBvaW50ZXIiOworICAgIGNhc2UgQ3Vyc29y
OjpDcm9zczogcmV0dXJuICJDcm9zcyI7CisgICAgY2FzZSBDdXJzb3I6OkhhbmQ6IHJldHVybiAi
SGFuZCI7CisgICAgY2FzZSBDdXJzb3I6OklCZWFtOiByZXR1cm4gIklCZWFtIjsKKyAgICBjYXNl
IEN1cnNvcjo6V2FpdDogcmV0dXJuICJXYWl0IjsKKyAgICBjYXNlIEN1cnNvcjo6SGVscDogcmV0
dXJuICJIZWxwIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFJlc2l6ZTogcmV0dXJuICJFYXN0UmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiTm9ydGhSZXNpemUi
OworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RSZXNpemU6IHJldHVybiAiTm9ydGhFYXN0UmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplOiByZXR1cm4gIk5vcnRoV2Vz
dFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiByZXR1cm4gIlNvdXRoUmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UmVzaXplOiByZXR1cm4gIlNvdXRoRWFz
dFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJTb3V0
aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpXZXN0UmVzaXplOiByZXR1cm4gIldlc3RS
ZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFNvdXRoUmVzaXplOiByZXR1cm4gIk5vcnRo
U291dGhSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0V2VzdFJlc2l6ZTogcmV0dXJuICJF
YXN0V2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6
ZTogcmV0dXJuICJOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpO
b3J0aFdlc3RTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiTm9ydGhXZXN0U291dGhFYXN0UmVzaXpl
IjsKKyAgICBjYXNlIEN1cnNvcjo6Q29sdW1uUmVzaXplOiByZXR1cm4gIkNvbHVtblJlc2l6ZSI7
CisgICAgY2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJuICJSb3dSZXNpemUiOworICAgIGNh
c2UgQ3Vyc29yOjpNaWRkbGVQYW5uaW5nOiByZXR1cm4gIk1pZGRsZVBhbm5pbmciOworICAgIGNh
c2UgQ3Vyc29yOjpFYXN0UGFubmluZzogcmV0dXJuICJFYXN0UGFubmluZyI7CisgICAgY2FzZSBD
dXJzb3I6Ok5vcnRoUGFubmluZzogcmV0dXJuICJOb3J0aFBhbm5pbmciOworICAgIGNhc2UgQ3Vy
c29yOjpOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIk5vcnRoRWFzdFBhbm5pbmciOworICAgIGNh
c2UgQ3Vyc29yOjpOb3J0aFdlc3RQYW5uaW5nOiByZXR1cm4gIk5vcnRoV2VzdFBhbm5pbmciOwor
ICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAiU291dGhQYW5uaW5nIjsKKyAg
ICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UGFubmluZzogcmV0dXJuICJTb3V0aEVhc3RQYW5uaW5n
IjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhXZXN0UGFubmluZzogcmV0dXJuICJTb3V0aFdlc3RQ
YW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6IHJldHVybiAiV2VzdFBhbm5p
bmciOworICAgIGNhc2UgQ3Vyc29yOjpNb3ZlOiByZXR1cm4gIk1vdmUiOworICAgIGNhc2UgQ3Vy
c29yOjpWZXJ0aWNhbFRleHQ6IHJldHVybiAiVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIEN1cnNv
cjo6Q2VsbDogcmV0dXJuICJDZWxsIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29udGV4dE1lbnU6IHJl
dHVybiAiQ29udGV4dE1lbnUiOworICAgIGNhc2UgQ3Vyc29yOjpBbGlhczogcmV0dXJuICJBbGlh
cyI7CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlByb2dyZXNzIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9Ecm9wOiByZXR1cm4gIk5vRHJvcCI7CisgICAgY2FzZSBDdXJzb3I6OkNv
cHk6IHJldHVybiAiQ29weSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVybiAiTm9uZSI7
CisgICAgY2FzZSBDdXJzb3I6Ok5vdEFsbG93ZWQ6IHJldHVybiAiTm90QWxsb3dlZCI7CisgICAg
Y2FzZSBDdXJzb3I6Olpvb21JbjogcmV0dXJuICJab29tSW4iOworICAgIGNhc2UgQ3Vyc29yOjpa
b29tT3V0OiByZXR1cm4gIlpvb21PdXQiOworICAgIGNhc2UgQ3Vyc29yOjpHcmFiOiByZXR1cm4g
IkdyYWIiOworICAgIGNhc2UgQ3Vyc29yOjpHcmFiYmluZzogcmV0dXJuICJHcmFiYmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6OkN1c3RvbTogcmV0dXJuICJDdXN0b20iOworICAgIH0KKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAiVU5LTk9XTiI7Cit9CisjZW5kaWYKKwor
U3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvckluZm8oRG9jdW1lbnQqIGRvY3VtZW50
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+
ZnJhbWUoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0
dXJuIFN0cmluZygpOworICAgIH0KKworICAgIEN1cnNvciBjdXJzb3IgPSBkb2N1bWVudC0+ZnJh
bWUoKS0+ZXZlbnRIYW5kbGVyKCktPmN1cnJlbnRNb3VzZUN1cnNvcigpOworCisjaWYgVVNFKExB
WllfTkFUSVZFX0NVUlNPUikKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQu
YXBwZW5kKCJ0eXBlPSIpOworICAgIHJlc3VsdC5hcHBlbmQoY3Vyc29yVHlwZVRvU3RyaW5nKGN1
cnNvci50eXBlKCkpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIgaG90U3BvdD0iKTsKKyAgICByZXN1
bHQuYXBwZW5kTnVtYmVyKGN1cnNvci5ob3RTcG90KCkueCgpKTsKKyAgICByZXN1bHQuYXBwZW5k
KCIsIik7CisgICAgcmVzdWx0LmFwcGVuZE51bWJlcihjdXJzb3IuaG90U3BvdCgpLnkoKSk7Cisg
ICAgaWYgKGN1cnNvci5pbWFnZSgpKSB7CisgICAgICAgIEludFNpemUgc2l6ZSA9IGN1cnNvci5p
bWFnZSgpLT5zaXplKCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoIiBpbWFnZT0iKTsKKyAgICAg
ICAgcmVzdWx0LmFwcGVuZE51bWJlcihzaXplLndpZHRoKCkpOworICAgICAgICByZXN1bHQuYXBw
ZW5kKCJ4Iik7CisgICAgICAgIHJlc3VsdC5hcHBlbmROdW1iZXIoc2l6ZS5oZWlnaHQoKSk7Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKKyNlbHNlCisgICAgcmV0dXJuICJG
QUlMOiBDdXJzb3IgZGV0YWlscyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIjsKKyNl
bmRpZgorfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAwNGM0OGI1NDQ3
Y2Y3YjU1ODY5ZmJmYzI2OWQ1MDM4MTA2YTQ1MDQzLi5mNDExNzQxZWJkYTI5NDI4Y2RmMGMyZWM4
ZjY5ODQ0MGExZDc4YzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI0Niw2
ICsyNDYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoRG9jdW1l
bnQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIFN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5m
byhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJ
bnRlcm5hbHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZDE2NTE3NDNlMzJmOTU4
YzFlYTFiYTI5M2VmZmI3MTc2YjEyNTljYi4uYzg1ZWZmZTYwMDcxODg1M2VlYjAzNjlmY2YwOTRi
NzFjODliMjNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjE0LDQg
KzIxNCw3IEBACiAgICAgLy8gIHN0YXJ0VHJhY2tpbmdSZXBhaW50cywgcmVwYWludFJlY3RzQXNU
ZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50cy4KICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50
cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIHZvaWQg
c3RvcFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKKworICAgIC8vIFJldHVybnMgYSBzdHJpbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91
dCB0aGUgbW91c2UgY3Vyc29yIHVzZWQgYXQgdGhlIHNwZWNpZmllZCBjbGllbnQgbG9jYXRpb24u
CisgICAgRE9NU3RyaW5nIGdldEN1cnJlbnRDdXJzb3JJbmZvKGluIERvY3VtZW50IGRvY3VtZW50
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDA3
NWNkOGQ0MDA3NWU1MDBiMDU4ZTAwOGFjMTdkMGU4MDA5ZWVhOTQuLjdlYjkxY2M3NGQ1ZmYxZDg3
N2M0YjUzOTllNGQ2MzYzZTE2MmM4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE1Myw2
ICsxNTMsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MENsaWVudFJlY3RMaXN0QFdlYkNvcmVAQEFB
RUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAQUJWPyRWZWN0b3JA
VkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBAQFoKICAgICAgICAgPz8xQ2xpZW50UmVjdExp
c3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MUN1cnNvckBXZWJDb3JlQEBRQUVAWFoKKyAg
ICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBBQlYwMUBAWgogICAgICAgICA/PzBTdHJpbmdA
V1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dAWgogICAgICAg
ICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2JqZWN0QFdlYkNvcmVAQFFCRT9BVklu
dFJlY3RAMkBfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0
ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZjJkZTEz
Mzk2MjQ4NDIyZTY2ZDM0MTBkNWJjMzhkZDAzZjVmOTVmMi4uMDY1YTQzNTQ3MmVhNDk5NmMzZTQw
NjgzMzQ5NjMzZDM0NDFlMGU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpA
QCAtMTQ2LDYgKzE0Niw4IEBAIEVYUE9SVFMKICAgICAgICAgPz8wQ2xpZW50UmVjdExpc3RAV2Vi
Q29yZUBAQUFFQFhaCiAgICAgICAgID8/MENsaWVudFJlY3RMaXN0QFdlYkNvcmVAQEFBRUBBQlY/
JFZlY3RvckBWRmxvYXRRdWFkQFdlYkNvcmVAQCQwQUBAV1RGQEBAWgogICAgICAgICA/PzFDbGll
bnRSZWN0TGlzdEBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8xQ3Vyc29yQFdlYkNvcmVAQFFB
RUBYWgorICAgICAgICA/PzBDdXJzb3JAV2ViQ29yZUBAUUFFQEFCVjAxQEBaCiAgICAgICAgID8/
MFN0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0Ba
CiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdEBSZW5kZXJPYmplY3RAV2ViQ29yZUBA
UUJFP0FWSW50UmVjdEAyQF9OQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDk0ZDQ2Y2M3
ODc5Yzg2YzNlZmJlMmVhMWY0MzExMjNkNzFkMzI5NWIuLjkxYmNkOWYyNWI2ZmRkYTBmYmUxMjY3
MzIzYTg5YmVhMmM0N2MzNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMTYzLDYgKzE2
Myw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0U2Nyb2xsT2Zmc2V0RnJvbUlu
dGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Ny
b2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIxc2V0RGVsZWdh
dGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRyZW1vdmVkTGFzdFJlZkV2OworX1pO
N1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CitfWk43V2ViQ29yZTZDdXJzb3JEMUV2OwogX1pON1dl
YkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsKIF9aTjdXZWJDb3JlOFNldHRpbmdz
MThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7
CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21p
Y1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdmMmJmYzY1N2E5OWQ1MWNmYWJjM2MwMDdi
YTdlNjZiZGMzN2RlZDguLmI2MjU3ZjlmYWQ1YWMxY2E2ZDQxMThjNTM4NzRmMjdmYmM3ZTY0ZGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0xNSAgUmljayBCeWVycyAgPHJieWVyc0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNv
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRoZSBiYXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBt
b3VzZQorICAgICAgICBjdXJzb3Igd2l0aCBDU1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2YgdGhl
IGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVkCisgICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJzb3Iq
LgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgorCiAy
MDEyLTExLTE1ICBTdGVwaGVuIENoZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmViYXNlbGluZSBhZnRlciByMTM0NzM2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTU4ZTk1ZWU0MDY5
NjU3ZmEzM2VjNmVmOWQwNDQ0YWQ2NzEzNzNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcyIEBA
CitUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAwNTUwCisKKyAKK1RFU1QgQ0FTRTogSW1w
bGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPUlCZWFtIGhvdFNwb3Q9MCww
CisKK1RFU1QgQ0FTRTogRXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIEluZm86IHR5cGU9UG9pbnRl
ciBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJbmZvOiB0
eXBlPUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogTm8gY3Vyc29yCitDdXJzb3IgSW5m
bzogdHlwZT1Ob25lIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogUG9pbnRlcgorQ3Vyc29yIElu
Zm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcK
K0N1cnNvciBJbmZvOiB0eXBlPUdyYWJiaW5nIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhp
c3RpbmcgMjV4MjUgaW1hZ2UKK0N1cnNvciBJbmZvOiB0eXBlPUN1c3RvbSBob3RTcG90PTAsMCBp
bWFnZT0yNXgyNQorCitURVNUIENBU0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcgorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IElu
dmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5cGU9Q3Vz
dG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBs
aWNpdCBob3Qgc3BvdCBhdCAoMCwwKQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9
MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBhdCAoMjAsMTApCitDdXJzb3IgSW5mbzogdHlwZT1DdXN0b20gaG90U3BvdD0yMCwxMCBpbWFn
ZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKC0x
LC0xKQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisK
K1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0
ICgzMCwzMCkKK0N1cnNvciBJbmZvOiB0eXBlPUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgy
NQorCitURVNUIENBU0U6IE92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVy
CitDdXJzb3IgSW5mbzogdHlwZT1IYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogU1ZHIGN1
cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisK
K1RFU1QgQ0FTRTogTXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9p
bnRlcgorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IE5v
bmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5m
bzogdHlwZT1IYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQSBsaW5rIHdpdGggZGVmYXVs
dCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNF
OiBMaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0CitDdXJzb3IgSW5mbzog
dHlwZT1IYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogV2FpdCBjdXJzb3Igd2hpY2ggc2hv
dWxkIG5vdCBiZSBhZmZlY3RlZCBieSB1bmtub3duIGN1cnNvciBydWxlCitDdXJzb3IgSW5mbzog
dHlwZT1XYWl0IGhvdFNwb3Q9MCwwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4MjFkOTNiNDNiN2YzMzQ2NGExNzhlZDFkZjUzYjkzZjNmODNiNzkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Iu
aHRtbApAQCAtMCwwICsxLDExOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDU1MDwvYT48L3A+Cis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIj4KKyAgPGRlZnM+CisgICAgPGN1
cnNvciBpZD0iZ3JlZW5ib3giIHhsaW5rOmhyZWY9InJlc291cmNlcy9ncmVlbmJveC5wbmciIHg9
IjAiIHk9IjAiLz4KKyAgPC9kZWZzPgorPC9zdmc+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+
CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiBkZWZhdWx0Jz5FeHBsaWNpdCBkZWZhdWx0PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNv
cjogYXV0byc+RXhwbGljaXQgYXV0bzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IG5vbmUn
Pk5vIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHBvaW50ZXInPlBvaW50ZXI8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nJz4td2Via2l0LWdy
YWJiaW5nPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJv
eC5wbmcpLCBoYW5kJz5FeGlzdGluZyAyNXgyNSBpbWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCBwb2ludGVyJz5JbnZhbGlkIFVSTCB3aXRoIGZh
bGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250
ZXhpc3QucG5nKSwgdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpLCBwb2ludGVyJz5JbnZhbGlk
IHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMCAwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4
cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDIwIDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IGF0ICgyMCwxMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwo
cmVzb3VyY2VzL2dyZWVuYm94LnBuZykgLTEgLTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGlj
aXQgaG90IHNwb3QgYXQgKC0xLC0xKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAzMCAzMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL29ubG9hZC1pbWFnZS5wbmcpLCBwb2ludGVyJz5PdmVyIGxh
cmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybCgjZ3JlZW5ib3gpLCBwb2ludGVyJz5TVkcgY3Vyc29yPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKG1vdXNlLWN1cnNvci5odG1sKSwgdXJsKHVua25vd24tc2NoZW1l
OmN1cnNvci5wbmcpLCBwb2ludGVyJz5NdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxs
YmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNub25leGlz
dGVudCksIHBvaW50ZXInPk5vbmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyPC9kaXY+CisgIDxkaXY+PGEgaHJlZj0nIyc+QSBsaW5rIHdpdGggZGVmYXVsdCBjdXJz
b3I8L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGEgaHJlZj0nIyc+TGlu
ayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdDwvYT48L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB3YWl0Jz48ZGl2IHN0eWxlPSdjdXJzb3I6IGRvZXNudGV4aXN0Jz5XYWl0
IGN1cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1
bGU8L2Rpdj48L2Rpdj4KKzwvZGl2PgorPGJyLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2FkID0gMDsKKworZnVuY3Rpb24gb25JbWFnZUxv
YWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBvdXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMg
YW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBvbmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBy
dW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVn
KCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyArIGUudGFyZ2V0LnNyYyk7CisgICAgICAgIAor
ICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA9PSAwKQor
ICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkIDwgMCkKKyAgICAg
ICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9lcnJvciBjYWxsYmFjayB0aGFuIGV4cGVjdGVk
LicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5leHBlY3RlZChlKSB7CisJaW1hZ2VzTGVmdFRv
TG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUudHlwZSArICdc
JyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVuY3Rpb24gcnVu
VGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBl
dmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgdmFyIG5v
ZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Rlc3QtY29udGFpbmVyID4g
ZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3QubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07CisgICAgICAgICAg
ICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRv
cCArIDMpOworICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1
cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisg
ICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1bmRhbnQgd2l0aCByZWx5aW5nIG9uIHRoZSBl
eHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVyIHRvIGp1c3QgZHVtcAorICAgICAgICAgICAg
Ly8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRjaGVzIHRoZSBkZXNjcmlwdGlvbi4KKyAgICAg
ICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyArIHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVu
dEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAgICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAg
fQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0
IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWlu
ZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBs
aWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB0ZXN0
RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUnKTsKK30KKworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBpbWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9h
ZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBXaXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxs
IGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBubyBrbm93biBzaXplLgordmFyIGltYWdlc1Rv
TG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC5wbmcnIH0sCisgICAgeyB1
cmw6ICdyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZycgfSwKKyAgICB7IHVybDogJ2RvZXNudGV4
aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJz
b3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywg
ZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNncmVlbmJveCcsIGVycm9yOiB0cnVlIH0sCisg
ICAgeyB1cmw6ICcjbm9uZXhpc3RlbnQnLCBlcnJvcjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9M
b2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9M
b2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBl
eHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtpXS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxv
YWQpOworICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25J
bWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3RlZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9h
ZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGUzZjgyNjEzMzBhYTFmMjlmZTlm
ZGFjYzE4MDQxN2Q5YThjYzUzNi4uZTk5Y2VkOWM3ZGFlNjEyYTUyYTU3ZWNiYTU5YTNmYTRhY2Rj
OGEyNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDEyLTExLTE1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZv
ciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiBTb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTExLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHN0YW5kLWFsb25lIG1vbnRoIG5hbWVz
IGluIGNhbGVuZGFyIHBpY2tlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174446</attachid>
            <date>2012-11-15 08:18:24 -0800</date>
            <delta_ts>2012-11-15 08:25:09 -0800</delta_ts>
            <desc>Just the changes from the originally landed version</desc>
            <filename>bug-100550-20121115111621.patch</filename>
            <type>text/plain</type>
            <size>14972</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE0ODExNDNiNWE5Nzg2
ZjdhMTMzYTAwMTQxMzcyZjFjNjIxMTFlOC4uM2U4YWE2NjQxZDc2MmYzYzBlZjY1ZTQxNjEwNjk2
ZWZhNTc5MjE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTE1ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4gIEFsc28gYWRkcyBBU1NFUlRzIHRvIGhlbHAgZW5zdXJlCisgICAgICAgIHdl
IGNhbiByZWxpYWJseSBkZXRlY3Qgd2hlbiBhbiB1bmluaXRpYWxpemVkIEN1cnNvciBvYmplY3Qg
aXMgdXNlZCAoc3VjaCBhcworICAgICAgICB0aGUgb25lIHRoYXQgY2FuIGJlIHJldHVybmVkIGZy
b20gT3B0aW9uYWxDdXJzb3IgaW4gdGhlIE5vQ3Vyc29yQ2hhbmdlIHNjZW5hcmlvKS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9ydAorICAgICAgICAqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbmFsQ3Vyc29yOjpjdXJz
b3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVu
dCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1v
dXNlQ3Vyc29yKTogTmV3IGdldHRlciBmb3IgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6
IE1hcmsgdW5pbml0aWFsaXplZCBjdXJzb3IgdHlwZXMgYXMgaW52YWxpZC4KKyAgICAgICAgKFdl
YkNvcmU6OkN1cnNvcjo6dHlwZSk6IEFzc2VydCBjdXJzb3IgdHlwZSBpcyB2YWxpZC4KKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBl
VG9TdHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNv
ckluZm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxh
c3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xh
cmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
IERlY2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0xNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVsb2NhdGUgdGhlIEFSTSBORU9O
IFNWRyBmaWx0ZXIgb3B0aW1pemF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI3MDY3MTUxZWI3ZTNhMzll
YjAzMzYzYzc4ZjFhZmQ5ODE4MmQ3MWUuLmYxYTFmNTBmNzA2MjcxNzAzM2YxMzViMzYwYjU1ZmQz
ZjFmYzg4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNSAgUmljayBC
eWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5n
aW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbworCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0xNSAgWXVuaSBKZW9uZyAgPHlobmV0Lmp1bmdA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0byBnZXQvc2V0IHdo
ZXRoZXIgc2NyaXB0cyBjYW4gb3BlbiBuZXcgd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAppbmRleCBlOTJlYTU2ZTcxOGJhZTI3NTljMTI1NDg2OWIyOWJhNmNmZGE5OWI2
Li4zYWM5NWU2OWI4NTdiZTRjNzRkODIyOWE0MjhkYzVlNmU5OGIwNmI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgcHVibGljOgogICAgIE9w
dGlvbmFsQ3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKSA6IG1faXNDdXJzb3JDaGFuZ2UodHJ1
ZSksIG1fY3Vyc29yKGN1cnNvcikgeyB9CiAKICAgICBib29sIGlzQ3Vyc29yQ2hhbmdlKCkgY29u
c3QgeyByZXR1cm4gbV9pc0N1cnNvckNoYW5nZTsgfQotICAgIGNvbnN0IEN1cnNvciYgY3Vyc29y
KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzb3I7IH0KKyAgICBjb25zdCBDdXJzb3ImIGN1cnNvcigp
IGNvbnN0IHsgQVNTRVJUKG1faXNDdXJzb3JDaGFuZ2UpOyByZXR1cm4gbV9jdXJzb3I7IH0KIAog
cHJpdmF0ZToKICAgICBib29sIG1faXNDdXJzb3JDaGFuZ2U7CkBAIC0xODczLDkgKzE4NzMsMTAg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgbW91c2VFdmVudCwgSGkKICAgICAgICAgICAgIHNjcm9sbGJhci0+bW91c2VN
b3ZlZChtb3VzZUV2ZW50KTsgLy8gSGFuZGxlIGhvdmVyIGVmZmVjdHMgb24gcGxhdGZvcm1zIHRo
YXQgc3VwcG9ydCB2aXN1YWwgZmVlZGJhY2sgb24gc2Nyb2xsYmFyIGhvdmVyaW5nLgogICAgICAg
ICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBP
cHRpb25hbEN1cnNvciBvcHRpb25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJh
cik7Ci0gICAgICAgICAgICBpZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKKyAg
ICAgICAgICAgIGlmIChvcHRpb25hbEN1cnNvci5pc0N1cnNvckNoYW5nZSgpKSB7CiAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50TW91c2VDdXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsK
ICAgICAgICAgICAgICAgICB2aWV3LT5zZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJz
b3IuaAppbmRleCA3MmQ4Yzk1MWFjMTcxNjFlYjUzMjY0NzhhY2QxOGQ2ZDYyYmFjNjRiLi5hNTQ1
NjA2MmEzZmZmYzI4YzU2ZjhiNTM2N2YzM2EzOGQxODY5OTAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
dXJzb3IuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRl
ICJJbnRQb2ludC5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtOTksNyArMTAwLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIGVudW0gVHlwZSB7Ci0gICAgICAgICAgICBQb2ludGVyLAorICAgICAgICAg
ICAgUG9pbnRlciA9IDAsCiAgICAgICAgICAgICBDcm9zcywKICAgICAgICAgICAgIEhhbmQsCiAg
ICAgICAgICAgICBJQmVhbSwKQEAgLTE0OSw4ICsxNTAsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIEN1cnNvcigpCiAjaWYgIVBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyAgICAgICAgICAgIC8vIFRo
aXMgaXMgYW4gaW52YWxpZCBDdXJzb3IgYW5kIHNob3VsZCBuZXZlciBhY3R1YWxseSBnZXQgdXNl
ZC4KKyAgICAgICAgICAgIDogbV90eXBlKHN0YXRpY19jYXN0PFR5cGU+KC0xKSkKKyAgICAgICAg
ICAgICwgbV9wbGF0Zm9ybUN1cnNvcigwKQorI2Vsc2UKICAgICAgICAgICAgIDogbV9wbGF0Zm9y
bUN1cnNvcigwKQotI2VuZGlmCisjZW5kaWYgLy8gVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyNl
bmRpZiAvLyAhUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkKICAgICAgICAg
ewogICAgICAgICB9CiAKQEAgLTE2Miw3ICsxNjksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKICAgICAgICAgZXhwbGljaXQgQ3Vyc29yKFR5
cGUpOwotICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICAg
ICAgVHlwZSB0eXBlKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKG1fdHlw
ZSA+PSAwICYmIG1fdHlwZSA8PSBDdXN0b20pOworICAgICAgICAgICAgcmV0dXJuIG1fdHlwZTsK
KyAgICAgICAgfQogICAgICAgICBJbWFnZSogaW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2ltYWdl
LmdldCgpOyB9CiAgICAgICAgIGNvbnN0IEludFBvaW50JiBob3RTcG90KCkgY29uc3QgeyByZXR1
cm4gbV9ob3RTcG90OyB9CiAgICAgICAgIFBsYXRmb3JtQ3Vyc29yIHBsYXRmb3JtQ3Vyc29yKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNmY5MzljOWM1OTgx
NTY3MDIxMDQ1MmJmYmFhNmQ5ZjdjOWU1NTBmYi4uZWE5MTk4YmRjZTRiZGYxY2I1YjI5MzgyNmEw
NDBkODQ5YzBiZTBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTU0
Niw1MCArMTU0Niw1MCBAQCB2b2lkIEludGVybmFsczo6c3RvcFRyYWNraW5nUmVwYWludHMoRG9j
dW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHN0YXRpYyBjb25zdCBjaGFyKiBj
dXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCiB7CiAgICAgc3dpdGNo
IChjdXJzb3JUeXBlKSB7Ci0gICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6IHJldHVybiAiVHlwZVBv
aW50ZXIiOwotICAgIGNhc2UgQ3Vyc29yOjpDcm9zczogcmV0dXJuICJUeXBlQ3Jvc3MiOwotICAg
IGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5cGVIYW5kIjsKLSAgICBjYXNlIEN1cnNvcjo6
SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKLSAgICBjYXNlIEN1cnNvcjo6V2FpdDogcmV0dXJu
ICJUeXBlV2FpdCI7Ci0gICAgY2FzZSBDdXJzb3I6OkhlbHA6IHJldHVybiAiVHlwZUhlbHAiOwot
ICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKLSAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoUmVzaXplIjsKLSAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RSZXNp
emUiOwotICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
V2VzdFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVT
b3V0aFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJU
eXBlU291dGhFYXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6U291dGhXZXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOwotICAgIGNhc2UgQ3Vyc29yOjpXZXN0UmVzaXpl
OiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJl
c2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OkVh
c3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJz
b3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0U291dGhX
ZXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUiOwotICAgIGNhc2UgQ3Vyc29yOjpD
b2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6
OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6TWlk
ZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6
OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6
Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNv
cjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0UGFubmluZyI7Ci0gICAg
Y2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoV2VzdFBhbm5p
bmciOwotICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFu
bmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNv
dXRoRWFzdFBhbm5pbmciOwotICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RQYW5uaW5nOiByZXR1
cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6
IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJu
ICJUeXBlTW92ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBl
VmVydGljYWxUZXh0IjsKLSAgICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7
Ci0gICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51OiByZXR1cm4gIlR5cGVDb250ZXh0TWVudSI7
Ci0gICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7Ci0gICAgY2FzZSBD
dXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7Ci0gICAgY2FzZSBDdXJzb3I6
Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKLSAgICBjYXNlIEN1cnNvcjo6Q29weTogcmV0
dXJuICJUeXBlQ29weSI7Ci0gICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVybiAiVHlwZU5vbmUi
OwotICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5cGVOb3RBbGxvd2VkIjsK
LSAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4iOwotICAgIGNhc2Ug
Q3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0IjsKLSAgICBjYXNlIEN1cnNvcjo6
R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7Ci0gICAgY2FzZSBDdXJzb3I6OkdyYWJiaW5nOiByZXR1
cm4gIlR5cGVHcmFiYmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6OkN1c3RvbTogcmV0dXJuICJUeXBl
Q3VzdG9tIjsKKyAgICBjYXNlIEN1cnNvcjo6UG9pbnRlcjogcmV0dXJuICJQb2ludGVyIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Q3Jvc3M6IHJldHVybiAiQ3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpI
YW5kOiByZXR1cm4gIkhhbmQiOworICAgIGNhc2UgQ3Vyc29yOjpJQmVhbTogcmV0dXJuICJJQmVh
bSI7CisgICAgY2FzZSBDdXJzb3I6OldhaXQ6IHJldHVybiAiV2FpdCI7CisgICAgY2FzZSBDdXJz
b3I6OkhlbHA6IHJldHVybiAiSGVscCI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6IHJl
dHVybiAiRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUmVzaXplOiByZXR1cm4g
Ik5vcnRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4g
Ik5vcnRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZTogcmV0
dXJuICJOb3J0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFJlc2l6ZTogcmV0
dXJuICJTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6ZTogcmV0
dXJuICJTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RSZXNpemU6
IHJldHVybiAiU291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6V2VzdFJlc2l6ZTog
cmV0dXJuICJXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZTog
cmV0dXJuICJOb3J0aFNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFdlc3RSZXNp
emU6IHJldHVybiAiRWFzdFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RT
b3V0aFdlc3RSZXNpemU6IHJldHVybiAiTm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiByZXR1cm4gIk5vcnRoV2VzdFNv
dXRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OkNvbHVtblJlc2l6ZTogcmV0dXJuICJD
b2x1bW5SZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpSb3dSZXNpemU6IHJldHVybiAiUm93UmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJNaWRkbGVQYW5u
aW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFBhbm5pbmc6IHJldHVybiAiRWFzdFBhbm5pbmci
OworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFBhbm5pbmc6IHJldHVybiAiTm9ydGhQYW5uaW5nIjsK
KyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJOb3J0aEVhc3RQYW5u
aW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJOb3J0aFdl
c3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhQYW5uaW5nOiByZXR1cm4gIlNvdXRo
UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJldHVybiAiU291
dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFBhbm5pbmc6IHJldHVy
biAiU291dGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Oldlc3RQYW5uaW5nOiByZXR1
cm4gIldlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJuICJNb3ZlIjsK
KyAgICBjYXNlIEN1cnNvcjo6VmVydGljYWxUZXh0OiByZXR1cm4gIlZlcnRpY2FsVGV4dCI7Cisg
ICAgY2FzZSBDdXJzb3I6OkNlbGw6IHJldHVybiAiQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNv
bnRleHRNZW51OiByZXR1cm4gIkNvbnRleHRNZW51IjsKKyAgICBjYXNlIEN1cnNvcjo6QWxpYXM6
IHJldHVybiAiQWxpYXMiOworICAgIGNhc2UgQ3Vyc29yOjpQcm9ncmVzczogcmV0dXJuICJQcm9n
cmVzcyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJOb0Ryb3AiOworICAgIGNh
c2UgQ3Vyc29yOjpDb3B5OiByZXR1cm4gIkNvcHkiOworICAgIGNhc2UgQ3Vyc29yOjpOb25lOiBy
ZXR1cm4gIk5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIk5vdEFs
bG93ZWQiOworICAgIGNhc2UgQ3Vyc29yOjpab29tSW46IHJldHVybiAiWm9vbUluIjsKKyAgICBj
YXNlIEN1cnNvcjo6Wm9vbU91dDogcmV0dXJuICJab29tT3V0IjsKKyAgICBjYXNlIEN1cnNvcjo6
R3JhYjogcmV0dXJuICJHcmFiIjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYmJpbmc6IHJldHVybiAi
R3JhYmJpbmciOworICAgIGNhc2UgQ3Vyc29yOjpDdXN0b206IHJldHVybiAiQ3VzdG9tIjsKICAg
ICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZjJiZmM2NTdhOTlkNTFj
ZmFiYzNjMDA3YmE3ZTY2YmRjMzdkZWQ4Li5iNjI1N2Y5ZmFkNWFjMWNhNmQ0MTE4YzUzODc0ZjI3
ZmJjN2U2NGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMTUgIFJpY2sgQnllcnMg
IDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBt
b3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBzaW1wbGUgdGVzdCBjb3ZlcmluZyB0aGUgYmFzaWMgc2NlbmFyaW9zIG9mIGNo
YW5naW5nIGEgbW91c2UKKyAgICAgICAgY3Vyc29yIHdpdGggQ1NTLiAgVGhpcyBpbmNsdWRlcyBt
b3N0IG9mIHRoZSBjYXNlcyBjdXJyZW50bHkgY292ZXJlZAorICAgICAgICBieSBNYW51YWxUZXN0
cy8qY3Vyc29yKi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOiBB
ZGRlZC4KKwogMjAxMi0xMS0xNSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJlYmFzZWxpbmUgYWZ0ZXIgcjEzNDczNgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggOGMxNWE5MWI0
NDMwMzg2YmUzMTgxNTA0MWEzYjA5YzZhOWFmYjM5Zi4uYjU1OGU5NWVlNDA2OTY1N2ZhMzNlYzZl
ZjlkMDQ0NGFkNjcxMzczZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC03LDY0ICs3LDY0IEBAIEJ1ZyAxMDA1NTAKIAogIAog
VEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUlCZWFtIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1JQmVhbSBob3RTcG90PTAsMAog
CiBURVNUIENBU0U6IEV4cGxpY2l0IGRlZmF1bHQKLUN1cnNvciBJbmZvOiB0eXBlPVR5cGVQb2lu
dGVyIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwCiAK
IFRFU1QgQ0FTRTogRXhwbGljaXQgYXV0bwotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhv
dFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1JQmVhbSBob3RTcG90PTAsMAogCiBURVNUIENB
U0U6IE5vIGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZU5vbmUgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPU5vbmUgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBQb2ludGVyCi1D
dXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9
SGFuZCBob3RTcG90PTAsMAogCiBURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcKLUN1cnNvciBJ
bmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9R3Jh
YmJpbmcgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQotQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29y
IEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTog
SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCi1DdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAog
CiBURVNUIENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQotQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIElu
Zm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKQotQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9t
IGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBhdCAoMjAsMTApCi1DdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9MjAsMTAgaW1hZ2U9MjV4MjUKK0N1cnNvciBJbmZvOiB0eXBlPUN1c3RvbSBob3RTcG90PTIw
LDEwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBhdCAoLTEsLTEpCi1DdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGlt
YWdlPTI1eDI1CitDdXJzb3IgSW5mbzogdHlwZT1DdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4
MjUKIAogVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1h
Z2UgYXQgKDMwLDMwKQotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBp
bWFnZT0yNXgyNQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1
eDI1CiAKIFRFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50
ZXIKLUN1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzog
dHlwZT1IYW5kIGhvdFNwb3Q9MCwwCiAKIFRFU1QgQ0FTRTogU1ZHIGN1cnNvcgotQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIEluZm86
IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogTXVsdGlw
bGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgotQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1cnNvciBJbmZvOiB0eXBlPUhhbmQgaG90U3Bv
dD0wLDAKIAogVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sg
dG8gcG9pbnRlcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1cnNv
ciBJbmZvOiB0eXBlPUhhbmQgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBBIGxpbmsgd2l0aCBk
ZWZhdWx0IGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPUhhbmQgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBMaW5rIHdpdGgg
ZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0Ci1DdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFu
ZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAogCiBURVNU
IENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93
biBjdXJzb3IgcnVsZQotQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPVdhaXQgaG90U3BvdD0wLDAKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGUz
ZjgyNjEzMzBhYTFmMjlmZTlmZGFjYzE4MDQxN2Q5YThjYzUzNi4uZTk5Y2VkOWM3ZGFlNjEyYTUy
YTU3ZWNiYTU5YTNmYTRhY2RjOGEyNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTExLTE1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29y
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5l
Y2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAg
ICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTExLTE1ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHN0YW5k
LWFsb25lIG1vbnRoIG5hbWVzIGluIGNhbGVuZGFyIHBpY2tlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174448</attachid>
            <date>2012-11-15 08:24:51 -0800</date>
            <delta_ts>2012-11-15 08:24:51 -0800</delta_ts>
            <desc>Just the changes from the originally landed version</desc>
            <filename>bug-100550-20121115112248.patch</filename>
            <type>text/plain</type>
            <size>15629</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE0ODExNDNiNWE5Nzg2
ZjdhMTMzYTAwMTQxMzcyZjFjNjIxMTFlOC4uM2U4YWE2NjQxZDc2MmYzYzBlZjY1ZTQxNjEwNjk2
ZWZhNTc5MjE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTE1ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBmb3IgY2hh
bmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvciwKKyAgICAgICAgYW5kIHRoZW4gdG8gcXVlcnkgaXQgZnJvbSBEdW1w
UmVuZGVyVHJlZS4gIEFsc28gYWRkcyBBU1NFUlRzIHRvIGhlbHAgZW5zdXJlCisgICAgICAgIHdl
IGNhbiByZWxpYWJseSBkZXRlY3Qgd2hlbiBhbiB1bmluaXRpYWxpemVkIEN1cnNvciBvYmplY3Qg
aXMgdXNlZCAoc3VjaCBhcworICAgICAgICB0aGUgb25lIHRoYXQgY2FuIGJlIHJldHVybmVkIGZy
b20gT3B0aW9uYWxDdXJzb3IgaW4gdGhlIE5vQ3Vyc29yQ2hhbmdlIHNjZW5hcmlvKS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46IEFkZCBDdXJzb3IgY29weSBjdG9yIGV4cG9ydAorICAgICAgICAqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbmFsQ3Vyc29yOjpjdXJz
b3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVu
dCk6IEtlZXAgdHJhY2sgb2YgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1v
dXNlQ3Vyc29yKTogTmV3IGdldHRlciBmb3IgbGFzdCBzZXQgbW91c2UgY3Vyc29yCisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6
IE1hcmsgdW5pbml0aWFsaXplZCBjdXJzb3IgdHlwZXMgYXMgaW52YWxpZC4KKyAgICAgICAgKFdl
YkNvcmU6OkN1cnNvcjo6dHlwZSk6IEFzc2VydCBjdXJzb3IgdHlwZSBpcyB2YWxpZC4KKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBl
VG9TdHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNv
ckluZm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxh
c3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xh
cmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
IERlY2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0xNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVsb2NhdGUgdGhlIEFSTSBORU9O
IFNWRyBmaWx0ZXIgb3B0aW1pemF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI3MDY3MTUxZWI3ZTNhMzll
YjAzMzYzYzc4ZjFhZmQ5ODE4MmQ3MWUuLmYxYTFmNTBmNzA2MjcxNzAzM2YxMzViMzYwYjU1ZmQz
ZjFmYzg4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNSAgUmljayBC
eWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5n
aW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbworCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0xNSAgWXVuaSBKZW9uZyAgPHlobmV0Lmp1bmdA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0byBnZXQvc2V0IHdo
ZXRoZXIgc2NyaXB0cyBjYW4gb3BlbiBuZXcgd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAppbmRleCBlOTJlYTU2ZTcxOGJhZTI3NTljMTI1NDg2OWIyOWJhNmNmZGE5OWI2
Li4zYWM5NWU2OWI4NTdiZTRjNzRkODIyOWE0MjhkYzVlNmU5OGIwNmI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgcHVibGljOgogICAgIE9w
dGlvbmFsQ3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKSA6IG1faXNDdXJzb3JDaGFuZ2UodHJ1
ZSksIG1fY3Vyc29yKGN1cnNvcikgeyB9CiAKICAgICBib29sIGlzQ3Vyc29yQ2hhbmdlKCkgY29u
c3QgeyByZXR1cm4gbV9pc0N1cnNvckNoYW5nZTsgfQotICAgIGNvbnN0IEN1cnNvciYgY3Vyc29y
KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzb3I7IH0KKyAgICBjb25zdCBDdXJzb3ImIGN1cnNvcigp
IGNvbnN0IHsgQVNTRVJUKG1faXNDdXJzb3JDaGFuZ2UpOyByZXR1cm4gbV9jdXJzb3I7IH0KIAog
cHJpdmF0ZToKICAgICBib29sIG1faXNDdXJzb3JDaGFuZ2U7CkBAIC0xODczLDkgKzE4NzMsMTAg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgbW91c2VFdmVudCwgSGkKICAgICAgICAgICAgIHNjcm9sbGJhci0+bW91c2VN
b3ZlZChtb3VzZUV2ZW50KTsgLy8gSGFuZGxlIGhvdmVyIGVmZmVjdHMgb24gcGxhdGZvcm1zIHRo
YXQgc3VwcG9ydCB2aXN1YWwgZmVlZGJhY2sgb24gc2Nyb2xsYmFyIGhvdmVyaW5nLgogICAgICAg
ICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBP
cHRpb25hbEN1cnNvciBvcHRpb25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJh
cik7Ci0gICAgICAgICAgICBpZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKKyAg
ICAgICAgICAgIGlmIChvcHRpb25hbEN1cnNvci5pc0N1cnNvckNoYW5nZSgpKSB7CiAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50TW91c2VDdXJzb3IgPSBvcHRpb25hbEN1cnNvci5jdXJzb3IoKTsK
ICAgICAgICAgICAgICAgICB2aWV3LT5zZXRDdXJzb3IobV9jdXJyZW50TW91c2VDdXJzb3IpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJz
b3IuaAppbmRleCA3MmQ4Yzk1MWFjMTcxNjFlYjUzMjY0NzhhY2QxOGQ2ZDYyYmFjNjRiLi5hNTQ1
NjA2MmEzZmZmYzI4YzU2ZjhiNTM2N2YzM2EzOGQxODY5OTAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
dXJzb3IuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRl
ICJJbnRQb2ludC5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtOTksNyArMTAwLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIGVudW0gVHlwZSB7Ci0gICAgICAgICAgICBQb2ludGVyLAorICAgICAgICAg
ICAgUG9pbnRlciA9IDAsCiAgICAgICAgICAgICBDcm9zcywKICAgICAgICAgICAgIEhhbmQsCiAg
ICAgICAgICAgICBJQmVhbSwKQEAgLTE0OSw4ICsxNTAsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIEN1cnNvcigpCiAjaWYgIVBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyAgICAgICAgICAgIC8vIFRo
aXMgaXMgYW4gaW52YWxpZCBDdXJzb3IgYW5kIHNob3VsZCBuZXZlciBhY3R1YWxseSBnZXQgdXNl
ZC4KKyAgICAgICAgICAgIDogbV90eXBlKHN0YXRpY19jYXN0PFR5cGU+KC0xKSkKKyAgICAgICAg
ICAgICwgbV9wbGF0Zm9ybUN1cnNvcigwKQorI2Vsc2UKICAgICAgICAgICAgIDogbV9wbGF0Zm9y
bUN1cnNvcigwKQotI2VuZGlmCisjZW5kaWYgLy8gVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyNl
bmRpZiAvLyAhUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkKICAgICAgICAg
ewogICAgICAgICB9CiAKQEAgLTE2Miw3ICsxNjksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKICAgICAgICAgZXhwbGljaXQgQ3Vyc29yKFR5
cGUpOwotICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICAg
ICAgVHlwZSB0eXBlKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKG1fdHlw
ZSA+PSAwICYmIG1fdHlwZSA8PSBDdXN0b20pOworICAgICAgICAgICAgcmV0dXJuIG1fdHlwZTsK
KyAgICAgICAgfQogICAgICAgICBJbWFnZSogaW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2ltYWdl
LmdldCgpOyB9CiAgICAgICAgIGNvbnN0IEludFBvaW50JiBob3RTcG90KCkgY29uc3QgeyByZXR1
cm4gbV9ob3RTcG90OyB9CiAgICAgICAgIFBsYXRmb3JtQ3Vyc29yIHBsYXRmb3JtQ3Vyc29yKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNmY5MzljOWM1OTgx
NTY3MDIxMDQ1MmJmYmFhNmQ5ZjdjOWU1NTBmYi4uZWE5MTk4YmRjZTRiZGYxY2I1YjI5MzgyNmEw
NDBkODQ5YzBiZTBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTU0
Niw1MCArMTU0Niw1MCBAQCB2b2lkIEludGVybmFsczo6c3RvcFRyYWNraW5nUmVwYWludHMoRG9j
dW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHN0YXRpYyBjb25zdCBjaGFyKiBj
dXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCiB7CiAgICAgc3dpdGNo
IChjdXJzb3JUeXBlKSB7Ci0gICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6IHJldHVybiAiVHlwZVBv
aW50ZXIiOwotICAgIGNhc2UgQ3Vyc29yOjpDcm9zczogcmV0dXJuICJUeXBlQ3Jvc3MiOwotICAg
IGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5cGVIYW5kIjsKLSAgICBjYXNlIEN1cnNvcjo6
SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKLSAgICBjYXNlIEN1cnNvcjo6V2FpdDogcmV0dXJu
ICJUeXBlV2FpdCI7Ci0gICAgY2FzZSBDdXJzb3I6OkhlbHA6IHJldHVybiAiVHlwZUhlbHAiOwot
ICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0UmVzaXplIjsKLSAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoUmVzaXplIjsKLSAg
ICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RSZXNp
emUiOwotICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
V2VzdFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVT
b3V0aFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJU
eXBlU291dGhFYXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6U291dGhXZXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOwotICAgIGNhc2UgQ3Vyc29yOjpXZXN0UmVzaXpl
OiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJl
c2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OkVh
c3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJz
b3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0U291dGhX
ZXN0UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUiOwotICAgIGNhc2UgQ3Vyc29yOjpD
b2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7Ci0gICAgY2FzZSBDdXJzb3I6
OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKLSAgICBjYXNlIEN1cnNvcjo6TWlk
ZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6
OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6
Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNv
cjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0UGFubmluZyI7Ci0gICAg
Y2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZU5vcnRoV2VzdFBhbm5p
bmciOwotICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVybiAiVHlwZVNvdXRoUGFu
bmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZVNv
dXRoRWFzdFBhbm5pbmciOwotICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RQYW5uaW5nOiByZXR1
cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6
IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKLSAgICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJu
ICJUeXBlTW92ZSI7Ci0gICAgY2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4dDogcmV0dXJuICJUeXBl
VmVydGljYWxUZXh0IjsKLSAgICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0dXJuICJUeXBlQ2VsbCI7
Ci0gICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51OiByZXR1cm4gIlR5cGVDb250ZXh0TWVudSI7
Ci0gICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlhcyI7Ci0gICAgY2FzZSBD
dXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7Ci0gICAgY2FzZSBDdXJzb3I6
Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKLSAgICBjYXNlIEN1cnNvcjo6Q29weTogcmV0
dXJuICJUeXBlQ29weSI7Ci0gICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJldHVybiAiVHlwZU5vbmUi
OwotICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5cGVOb3RBbGxvd2VkIjsK
LSAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1cm4gIlR5cGVab29tSW4iOwotICAgIGNhc2Ug
Q3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0IjsKLSAgICBjYXNlIEN1cnNvcjo6
R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7Ci0gICAgY2FzZSBDdXJzb3I6OkdyYWJiaW5nOiByZXR1
cm4gIlR5cGVHcmFiYmluZyI7Ci0gICAgY2FzZSBDdXJzb3I6OkN1c3RvbTogcmV0dXJuICJUeXBl
Q3VzdG9tIjsKKyAgICBjYXNlIEN1cnNvcjo6UG9pbnRlcjogcmV0dXJuICJQb2ludGVyIjsKKyAg
ICBjYXNlIEN1cnNvcjo6Q3Jvc3M6IHJldHVybiAiQ3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpI
YW5kOiByZXR1cm4gIkhhbmQiOworICAgIGNhc2UgQ3Vyc29yOjpJQmVhbTogcmV0dXJuICJJQmVh
bSI7CisgICAgY2FzZSBDdXJzb3I6OldhaXQ6IHJldHVybiAiV2FpdCI7CisgICAgY2FzZSBDdXJz
b3I6OkhlbHA6IHJldHVybiAiSGVscCI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6IHJl
dHVybiAiRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUmVzaXplOiByZXR1cm4g
Ik5vcnRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4g
Ik5vcnRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZTogcmV0
dXJuICJOb3J0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFJlc2l6ZTogcmV0
dXJuICJTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJlc2l6ZTogcmV0
dXJuICJTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RSZXNpemU6
IHJldHVybiAiU291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6V2VzdFJlc2l6ZTog
cmV0dXJuICJXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZTog
cmV0dXJuICJOb3J0aFNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFdlc3RSZXNp
emU6IHJldHVybiAiRWFzdFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RT
b3V0aFdlc3RSZXNpemU6IHJldHVybiAiTm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplOiByZXR1cm4gIk5vcnRoV2VzdFNv
dXRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OkNvbHVtblJlc2l6ZTogcmV0dXJuICJD
b2x1bW5SZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpSb3dSZXNpemU6IHJldHVybiAiUm93UmVz
aXplIjsKKyAgICBjYXNlIEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJNaWRkbGVQYW5u
aW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFBhbm5pbmc6IHJldHVybiAiRWFzdFBhbm5pbmci
OworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFBhbm5pbmc6IHJldHVybiAiTm9ydGhQYW5uaW5nIjsK
KyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJOb3J0aEVhc3RQYW5u
aW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJOb3J0aFdl
c3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhQYW5uaW5nOiByZXR1cm4gIlNvdXRo
UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6IHJldHVybiAiU291
dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFBhbm5pbmc6IHJldHVy
biAiU291dGhXZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Oldlc3RQYW5uaW5nOiByZXR1
cm4gIldlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6TW92ZTogcmV0dXJuICJNb3ZlIjsK
KyAgICBjYXNlIEN1cnNvcjo6VmVydGljYWxUZXh0OiByZXR1cm4gIlZlcnRpY2FsVGV4dCI7Cisg
ICAgY2FzZSBDdXJzb3I6OkNlbGw6IHJldHVybiAiQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNv
bnRleHRNZW51OiByZXR1cm4gIkNvbnRleHRNZW51IjsKKyAgICBjYXNlIEN1cnNvcjo6QWxpYXM6
IHJldHVybiAiQWxpYXMiOworICAgIGNhc2UgQ3Vyc29yOjpQcm9ncmVzczogcmV0dXJuICJQcm9n
cmVzcyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJOb0Ryb3AiOworICAgIGNh
c2UgQ3Vyc29yOjpDb3B5OiByZXR1cm4gIkNvcHkiOworICAgIGNhc2UgQ3Vyc29yOjpOb25lOiBy
ZXR1cm4gIk5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIk5vdEFs
bG93ZWQiOworICAgIGNhc2UgQ3Vyc29yOjpab29tSW46IHJldHVybiAiWm9vbUluIjsKKyAgICBj
YXNlIEN1cnNvcjo6Wm9vbU91dDogcmV0dXJuICJab29tT3V0IjsKKyAgICBjYXNlIEN1cnNvcjo6
R3JhYjogcmV0dXJuICJHcmFiIjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYmJpbmc6IHJldHVybiAi
R3JhYmJpbmciOworICAgIGNhc2UgQ3Vyc29yOjpDdXN0b206IHJldHVybiAiQ3VzdG9tIjsKICAg
ICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZjJiZmM2NTdhOTlkNTFj
ZmFiYzNjMDA3YmE3ZTY2YmRjMzdkZWQ4Li5iNjI1N2Y5ZmFkNWFjMWNhNmQ0MTE4YzUzODc0ZjI3
ZmJjN2U2NGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMTUgIFJpY2sgQnllcnMg
IDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBt
b3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBzaW1wbGUgdGVzdCBjb3ZlcmluZyB0aGUgYmFzaWMgc2NlbmFyaW9zIG9mIGNo
YW5naW5nIGEgbW91c2UKKyAgICAgICAgY3Vyc29yIHdpdGggQ1NTLiAgVGhpcyBpbmNsdWRlcyBt
b3N0IG9mIHRoZSBjYXNlcyBjdXJyZW50bHkgY292ZXJlZAorICAgICAgICBieSBNYW51YWxUZXN0
cy8qY3Vyc29yKi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOiBB
ZGRlZC4KKwogMjAxMi0xMS0xNSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJlYmFzZWxpbmUgYWZ0ZXIgcjEzNDczNgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggOGMxNWE5MWI0
NDMwMzg2YmUzMTgxNTA0MWEzYjA5YzZhOWFmYjM5Zi4uYjU1OGU5NWVlNDA2OTY1N2ZhMzNlYzZl
ZjlkMDQ0NGFkNjcxMzczZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC03LDY0ICs3LDY0IEBAIEJ1ZyAxMDA1NTAKIAogIAog
VEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUlCZWFtIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1JQmVhbSBob3RTcG90PTAsMAog
CiBURVNUIENBU0U6IEV4cGxpY2l0IGRlZmF1bHQKLUN1cnNvciBJbmZvOiB0eXBlPVR5cGVQb2lu
dGVyIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1Qb2ludGVyIGhvdFNwb3Q9MCwwCiAK
IFRFU1QgQ0FTRTogRXhwbGljaXQgYXV0bwotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhv
dFNwb3Q9MCwwCitDdXJzb3IgSW5mbzogdHlwZT1JQmVhbSBob3RTcG90PTAsMAogCiBURVNUIENB
U0U6IE5vIGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZU5vbmUgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPU5vbmUgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBQb2ludGVyCi1D
dXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9
SGFuZCBob3RTcG90PTAsMAogCiBURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcKLUN1cnNvciBJ
bmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9R3Jh
YmJpbmcgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQotQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29y
IEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTog
SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCi1DdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAog
CiBURVNUIENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQotQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIElu
Zm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKQotQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9t
IGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNp
dCBob3Qgc3BvdCBhdCAoMjAsMTApCi1DdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9MjAsMTAgaW1hZ2U9MjV4MjUKK0N1cnNvciBJbmZvOiB0eXBlPUN1c3RvbSBob3RTcG90PTIw
LDEwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBhdCAoLTEsLTEpCi1DdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGlt
YWdlPTI1eDI1CitDdXJzb3IgSW5mbzogdHlwZT1DdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4
MjUKIAogVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1h
Z2UgYXQgKDMwLDMwKQotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBp
bWFnZT0yNXgyNQorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1
eDI1CiAKIFRFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50
ZXIKLUN1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCitDdXJzb3IgSW5mbzog
dHlwZT1IYW5kIGhvdFNwb3Q9MCwwCiAKIFRFU1QgQ0FTRTogU1ZHIGN1cnNvcgotQ3Vyc29yIElu
Zm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorQ3Vyc29yIEluZm86
IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKIFRFU1QgQ0FTRTogTXVsdGlw
bGUgaW52YWxpZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgotQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1cnNvciBJbmZvOiB0eXBlPUhhbmQgaG90U3Bv
dD0wLDAKIAogVEVTVCBDQVNFOiBOb25leGlzdGVudCBTVkcgY3Vyc29yIHdpdGggZmFsbGJhY2sg
dG8gcG9pbnRlcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1cnNv
ciBJbmZvOiB0eXBlPUhhbmQgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBBIGxpbmsgd2l0aCBk
ZWZhdWx0IGN1cnNvcgotQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPUhhbmQgaG90U3BvdD0wLDAKIAogVEVTVCBDQVNFOiBMaW5rIHdpdGgg
ZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3YWl0Ci1DdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFu
ZCBob3RTcG90PTAsMAorQ3Vyc29yIEluZm86IHR5cGU9SGFuZCBob3RTcG90PTAsMAogCiBURVNU
IENBU0U6IFdhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0ZWQgYnkgdW5rbm93
biBjdXJzb3IgcnVsZQotQ3Vyc29yIEluZm86IHR5cGU9VHlwZVdhaXQgaG90U3BvdD0wLDAKK0N1
cnNvciBJbmZvOiB0eXBlPVdhaXQgaG90U3BvdD0wLDAKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCmlu
ZGV4IDE2N2Q3ODVmZjlmNWQ5ZTRmMjc4YjYxZjgwYzRiMjRkNmRiMmQyYTMuLmY4MjFkOTNiNDNi
N2YzMzQ2NGExNzhlZDFkZjUzYjkzZjNmODNiNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci5odG1sCkBAIC0xMDEsNiArMTAxLDcgQEAgdmFyIGltYWdlc1RvTG9hZCA9
IFsKICAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1
cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVy
bDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNncmVl
bmJveCcsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1cmw6ICcjbm9uZXhpc3RlbnQnLCBlcnJvcjog
dHJ1ZSB9IF07CiBpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGUzZjgyNjEzMzBhYTFmMjlmZTlmZGFjYzE4MDQx
N2Q5YThjYzUzNi4uZTk5Y2VkOWM3ZGFlNjEyYTUyYTU3ZWNiYTU5YTNmYTRhY2RjOGEyNyAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEy
LTExLTE1ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0
ZXN0cyBmb3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5h
bHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyOgorCiAyMDEyLTExLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBTdXBwb3J0IHN0YW5kLWFsb25lIG1vbnRoIG5hbWVzIGluIGNhbGVu
ZGFyIHBpY2tlcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>