<?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>96818</bug_id>
          
          <creation_ts>2012-09-14 12:09:51 -0700</creation_ts>
          <short_desc>Add tests for explicit serialization values</short_desc>
          <delta_ts>2012-11-16 18:04:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>102302</dependson>
    
    <dependson>102324</dependson>
    
    <dependson>102337</dependson>
    
    <dependson>102342</dependson>
    
    <dependson>102466</dependson>
          <blocked>102230</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>abarth</cc>
    
    <cc>bfulgham</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>jsbell</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>721016</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-14 12:09:51 -0700</bug_when>
    <thetext>Add tests for explicit serialization values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721019</commentid>
    <comment_count>1</comment_count>
      <attachid>164204</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-14 12:12:56 -0700</bug_when>
    <thetext>Created attachment 164204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721021</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-14 12:16:57 -0700</bug_when>
    <thetext>Note that a subset of the functionality of these tests already exist in http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/tests/IDBKeyPathTest.cpp - I am removing them in bug 95409 because of a refactoring - rather than write a bunch of v8-specific tests, I just moved the tests to JS.

Also note that I&apos;m using Uint16Array in the JS. This may seem arbitrary and strange, but it is intentional, to be consistent with the actual encoding style in SerializedScriptValue, which packs bytes into UChars - this will make it easier to debug regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721022</commentid>
    <comment_count>3</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-14 12:18:15 -0700</bug_when>
    <thetext>haraken@ - this is the test split out from bug 95409, as discussed in e-mail a few days ago. Mind a quick review? (path for the other bug forthcoming...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721028</commentid>
    <comment_count>4</comment_count>
      <attachid>164204</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-14 12:26:17 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13854538</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721033</commentid>
    <comment_count>5</comment_count>
      <attachid>164204</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-14 12:34:33 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13855548</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721055</commentid>
    <comment_count>6</comment_count>
      <attachid>164204</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-14 12:58:06 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13841879</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721056</commentid>
    <comment_count>7</comment_count>
      <attachid>164204</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-14 12:59:36 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13841880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721077</commentid>
    <comment_count>8</comment_count>
      <attachid>164204</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 13:17:03 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13859301

New failing tests:
storage/ssv.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721094</commentid>
    <comment_count>9</comment_count>
      <attachid>164204</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-14 13:39:54 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

Attachment 164204 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13858333</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721107</commentid>
    <comment_count>10</comment_count>
      <attachid>164204</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-09-14 14:01:29 -0700</bug_when>
    <thetext>Comment on attachment 164204
Patch

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

The approach looks good. Let&apos;s fix build failures. r-ing due to bot failures.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

Please describe what your patch is doing.

&gt; Source/WebCore/testing/Internals.cpp:1261
&gt; +    return ArrayBuffer::create(static_cast&lt;const void*&gt;(stringValue.impl()-&gt;characters()),
&gt; +                               stringValue.sizeInBytes());

Nit: We don&apos;t wrap lines.

&gt; LayoutTests/ChangeLog:13
&gt; +        * storage/resources/ssv.js: Added.

Let&apos;s rename ssv.js to serialized-script-value.js, for clarification.

&gt; LayoutTests/storage/resources/ssv.js:1
&gt; +

Nit: remove this line.

&gt; LayoutTests/storage/resources/ssv.js:32
&gt; +    // test deserialization

Nit: this comment is not needed (invalid?).

&gt; LayoutTests/storage/resources/ssv.js:42
&gt; +    // test serialization

Nit: this comment is not needed.

&gt; LayoutTests/storage/resources/ssv.js:60
&gt; +// we only test a few cases of the &quot;old&quot; serialization format because

It looks like no tests are passing values to &apos;oldFormat&apos;. Is it intended?

&gt; LayoutTests/storage/resources/ssv.js:98
&gt; +testSerialization(undefined, [0x01ff, 0x003f, 0x005f]);
&gt; +testSerialization(true, [0x01ff, 0x003f, 0x0054]);
&gt; +testSerialization(false, [0x01ff, 0x003f, 0x0046]);
&gt; +testSerialization([1,2,3,4,5,6,7,8], [0x01ff, 0x003f, 0x0841, 0x013f, 0x0249, 0x013f, 0x0449, 0x013f, 0x0649, 0x013f, 0x0849, 0x013f, 0x0a49, 0x013f, 0x0c49, 0x013f, 0x0e49, 0x013f, 0x1049, 0x0024, 0x0008]);
&gt; +testSerialization(10, [0x01ff, 0x003f, 0x1449]);
&gt; +testSerialization(-10, [0x01ff, 0x003f, 0x1349]);
&gt; +testSerialization(Math.pow(2,30), [0x01ff, 0x003f, 0x8049, 0x8080, 0x0880]);
&gt; +testSerialization(Math.pow(2,55), [0x01ff, 0x003f, 0x004e, 0x0000, 0x0000, 0x6000, 0x0043]);
&gt; +testSerialization(null, [0x01ff, 0x003f, 0x0030]);
&gt; +testSerialization(/abc/, [0x01ff, 0x003f, 0x0352, 0x6261, 0x0063]);

The coverage of added tests is not so good. Could you improve the coverage? e.g. &quot;&quot;, &quot;abc&quot;, 1.23, function(){}, etc...

&gt; LayoutTests/storage/resources/ssv.js:112
&gt; +finishJSTest();

Nit: this is not needed.

&gt; LayoutTests/storage/ssv.html:8
&gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;

Nit: These are not needed.

&gt; LayoutTests/storage/ssv.html:9
&gt; +&lt;script src=&quot;resources/ssv.js&quot;&gt;&lt;/script&gt;

Nit: You can just directly write JavaScript here instead of including ssv.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767017</commentid>
    <comment_count>11</comment_count>
      <attachid>174195</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 10:22:05 -0800</bug_when>
    <thetext>Created attachment 174195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767018</commentid>
    <comment_count>12</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 10:23:09 -0800</bug_when>
    <thetext>abarth@ - r?

We talked about this some months ago.. finally got around to fixing it using webkit_unit_tests

note that I had to add webkit_test_support to the gyp to allow me to use the internals-injector helper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767034</commentid>
    <comment_count>13</comment_count>
      <attachid>174195</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-11-14 10:38:30 -0800</bug_when>
    <thetext>Comment on attachment 174195
Patch

Attachment 174195 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14834409</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767038</commentid>
    <comment_count>14</comment_count>
      <attachid>174195</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-14 10:39:29 -0800</bug_when>
    <thetext>Comment on attachment 174195
Patch

Attachment 174195 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14826683</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767057</commentid>
    <comment_count>15</comment_count>
      <attachid>174195</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-14 10:56:01 -0800</bug_when>
    <thetext>Comment on attachment 174195
Patch

Attachment 174195 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14826687</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767064</commentid>
    <comment_count>16</comment_count>
      <attachid>174195</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-14 11:01:39 -0800</bug_when>
    <thetext>Comment on attachment 174195
Patch

Attachment 174195 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14832438</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767105</commentid>
    <comment_count>17</comment_count>
      <attachid>174195</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-14 11:29:28 -0800</bug_when>
    <thetext>Comment on attachment 174195
Patch

Woah, I don&apos;t think we want to link in the internals object into the unit tests.  If you want to use internals, you should write a LayoutTest (perhaps somewhere in the platform/chromium directory).  If you want to write a unit test, you should just call WebSerializedScriptValue::serialize and WebSerializedScriptValue::fromString directly from the unit test.  Note: You can use WebFrame::executeScriptAndReturnValue to create interesting JavaScript objects to serialize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767279</commentid>
    <comment_count>18</comment_count>
      <attachid>174253</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 13:58:01 -0800</bug_when>
    <thetext>Created attachment 174253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767283</commentid>
    <comment_count>19</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 13:58:52 -0800</bug_when>
    <thetext>I had no idea that there were *tests* in platform/chromium - that changes everything. New patch is much better (and fixes JSC build issues)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767339</commentid>
    <comment_count>20</comment_count>
      <attachid>174253</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-14 14:53:03 -0800</bug_when>
    <thetext>Comment on attachment 174253
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.h:88
&gt;      String toString();
&gt; +    String toWireString() { return toString(); }

What&apos;s the difference between toString and toWireString?  Should we add a comment explaining the difference?

&gt; LayoutTests/platform/chromium/fast/storage/serialized-script-value.html:8
&gt; +    expectedV = expectedValues;

expectedV &lt;--- &quot;V&quot; isn&apos;t a great part of a variable name.  we prefer complete words in variable names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767362</commentid>
    <comment_count>21</comment_count>
      <attachid>174253</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-14 15:25:47 -0800</bug_when>
    <thetext>Comment on attachment 174253
Patch

Attachment 174253 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14837490</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767372</commentid>
    <comment_count>22</comment_count>
      <attachid>174253</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 15:31:06 -0800</bug_when>
    <thetext>Comment on attachment 174253
Patch

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

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.h:88
&gt;&gt; +    String toWireString() { return toString(); }
&gt; 
&gt; What&apos;s the difference between toString and toWireString?  Should we add a comment explaining the difference?

In theory, there seems to be some intention of a serialization format saved somewhere, vs just passed around in memory. In practice, there is none. filed bug 102291</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767388</commentid>
    <comment_count>23</comment_count>
      <attachid>174272</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 15:45:21 -0800</bug_when>
    <thetext>Created attachment 174272
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767443</commentid>
    <comment_count>24</comment_count>
      <attachid>174272</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 16:35:11 -0800</bug_when>
    <thetext>Comment on attachment 174272
Patch for landing

Clearing flags on attachment: 174272

Committed r134691: &lt;http://trac.webkit.org/changeset/134691&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767444</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 16:35:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767467</commentid>
    <comment_count>26</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-11-14 16:50:48 -0800</bug_when>
    <thetext>This has broken the Apple Windows build.
http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/39479/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767490</commentid>
    <comment_count>27</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-14 17:03:02 -0800</bug_when>
    <thetext>fix in bug 102302</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767742</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 22:46:09 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 102337</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767751</commentid>
    <comment_count>29</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-14 22:58:02 -0800</bug_when>
    <thetext>As of 10:49 pm PST, the Apple Windows Debug build and GTK builds are broken. For completeness, the following are hyperlinks to the stdio from the bots as of r134733.

Apple Windows Debug:
&lt;http://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/57958/steps/compile-webkit/logs/stdio&gt;

GTK Linux 32-bit Release:
&lt;http://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/28586/steps/compile-webkit/logs/stdio&gt;

GTK Linux 64-bit Debug:
&lt;http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug/builds/39171/steps/compile-webkit/logs/stdio&gt;

GTK Linux 64-bit Release:
&lt;http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release/builds/31012/steps/compile-webkit/logs/stdio&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767792</commentid>
    <comment_count>30</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-15 00:32:41 -0800</bug_when>
    <thetext>Please don&apos;t proceed with landing a patch that will surely cause build breakage.

Here&apos;s the patch required to fix the build on the GTK port:

diff --git a/Source/autotools/symbols.filter b/Source/autotools/symbols.filter
index 94d46cc..a3263de 100644
--- a/Source/autotools/symbols.filter
+++ b/Source/autotools/symbols.filter
@@ -210,6 +210,13 @@ _ZTVN7WebCore28InspectorFrontendClientLocal8SettingsE;
 _ZNK7WebCore5Frame15layerTreeAsTextEj;
 _ZN7WebCore9FrameView17setTracksRepaintsEb;
 _ZNK7WebCore5Frame25trackedRepaintRectsAsTextEv;
+_ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPN3WTF11ArrayBufferE;
+_ZN7WebCore13toArrayBufferEN3JSC7JSValueE;
+_ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueEPN3WTF6VectorINS5_6RefPtrINS_11MessagePortEEELm1EEEPNS6_INS7_INS5_11ArrayBufferEEELm1EEENS_22SerializationErrorModeE;
+_ZN7WebCore21SerializedScriptValue6createERKN3WTF6StringE;
+_ZN7WebCore21SerializedScriptValue8toStringEv;
+_ZN7WebCore21SerializedScriptValue11deserializeEPN3JSC9ExecStateEPNS1_14JSGlobalObjectEPN3WTF6VectorINS6_6RefPtrINS_11MessagePortEEELm1EEENS_22SerializationErrorModeE;
+_ZN7WebCore21SerializedScriptValueD1Ev;
 
 local:
 _Z*;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767793</commentid>
    <comment_count>31</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-15 00:33:38 -0800</bug_when>
    <thetext>I decided to roll out this change in &lt;http://trac.webkit.org/changeset/134747&gt; (https://bugs.webkit.org/show_bug.cgi?id=102342) because the Apple Windows Debug build and GTK builds have been broken for over 5 hours. We should look to resolve the build failures offline and then re-land this change.

I made an attempt to fix the Apple Windows Debug and GTK builds in &lt;https://bugs.webkit.org/show_bug.cgi?id=102337&gt;. This attempt didn&apos;t fix the build breakage and broke the Apple Windows Release build.

For completeness, I reverted the following changesets (in order):

http://trac.webkit.org/changeset/134691 (this bug)
http://trac.webkit.org/changeset/134703 (Bug #102302)
http://trac.webkit.org/changeset/134715
http://trac.webkit.org/changeset/134716
http://trac.webkit.org/changeset/134733 (Bug #102324)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768227</commentid>
    <comment_count>32</comment_count>
      <attachid>174479</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-15 10:11:14 -0800</bug_when>
    <thetext>Created attachment 174479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768228</commentid>
    <comment_count>33</comment_count>
      <attachid>174479</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-15 10:12:04 -0800</bug_when>
    <thetext>Comment on attachment 174479
Patch

Running this through EWS again while I try to run as many local builds as I can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768603</commentid>
    <comment_count>34</comment_count>
      <attachid>174540</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-15 16:11:04 -0800</bug_when>
    <thetext>Created attachment 174540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768681</commentid>
    <comment_count>35</comment_count>
      <attachid>174540</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-15 16:49:39 -0800</bug_when>
    <thetext>Comment on attachment 174540
Patch

ok, this patch contains all of the subsequent patches, and it builds &amp; runs on gtk, and last night I had the windows bots green. 

Here goes nothin&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768709</commentid>
    <comment_count>36</comment_count>
      <attachid>174540</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 17:08:01 -0800</bug_when>
    <thetext>Comment on attachment 174540
Patch

Clearing flags on attachment: 174540

Committed r134865: &lt;http://trac.webkit.org/changeset/134865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768710</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 17:08:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768820</commentid>
    <comment_count>38</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-15 19:02:18 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 174540 [details])
&gt; Clearing flags on attachment: 174540
&gt; 
&gt; Committed r134865: &lt;http://trac.webkit.org/changeset/134865&gt;

The Apple Windows Debug build is failing after this change:
&lt;http://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/58018/steps/compile-webkit/logs/stdio&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768967</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 23:47:52 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 102466</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768986</commentid>
    <comment_count>40</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-16 00:18:43 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; Re-opened since this is blocked by bug 102466

As aforementioned in comment 38, this change broke the Apple Windows Debug build. I&apos;m unclear how to resolve this breakage (*) and attempts to contact Alec Frett (alecf) and Adam Barth (abarth) on IRC were unsuccessful. Therefore, I decided to roll out this change so that we can fix the build offline.

(*) I tried to fix identical build breakage yesterday. See comment 31 for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769776</commentid>
    <comment_count>41</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-16 16:54:08 -0800</bug_when>
    <thetext>The 2012-11-15 16:11 PST patch applies cleanly and builds on my Windows system in Debug mode. I&apos;m building in Release mode and will see if that works as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769797</commentid>
    <comment_count>42</comment_count>
      <attachid>174540</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-16 17:28:24 -0800</bug_when>
    <thetext>Comment on attachment 174540
Patch

ok, so bfulgham tried the build himself, and didn&apos;t get an error, so we&apos;re thinking the windows buildbot may have just been flakey at the time. Retrying a landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769807</commentid>
    <comment_count>43</comment_count>
      <attachid>174540</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 17:53:38 -0800</bug_when>
    <thetext>Comment on attachment 174540
Patch

Clearing flags on attachment: 174540

Committed r135022: &lt;http://trac.webkit.org/changeset/135022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769808</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 17:53:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769814</commentid>
    <comment_count>45</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-16 18:04:01 -0800</bug_when>
    <thetext>My release machine finished building successfully as well.  If we continue to see Apple build failures, we might need someone at Apple to force it to regenerate the various files.  These don&apos;t always get cleaned up properly from build-to-build if you don&apos;t manually clobber the directory.

There is a trick they used to do (touching one of the IDL files), but I don&apos;t remember the details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164204</attachid>
            <date>2012-09-14 12:12:56 -0700</date>
            <delta_ts>2012-11-14 10:22:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96818-20120914121228.patch</filename>
            <type>text/plain</type>
            <size>15307</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZlMzQ5YmZlNTY1NWJh
YzAwZGYyMjZiNDk3OTIzZTg1NjkyMWUwNS4uYjgyZDEzM2RiOGNhNmNjODQyNDkxYjI4YmRhZDRm
Y2Q0YjNlMmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTE0ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5n
ZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRl
c2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2Uvc3N2Lmh0
bWwKKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNlcmlhbGl6ZUJ1ZmZlcik6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW50ZXJuYWxz
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDktMTMgIEFsZXhh
bmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBDU1MgZG9tYWluIHNlbmRzIGV2ZW50cyB3aGlsZSBpdCBpcyBub3QgZW5hYmxlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDM2OTQ4MTQyMmY2Y2EyZmNlMDJmNTQ4
OGY1YTViMDgyNzM4ODQyNzkuLjQ3ODRjNmQ2OWI1OTQwZWJjNTJlODJkZmFjMDU4ZDEzMzRjYmRi
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTUyLDggKzUyLDggQEAK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JPdmVybGF5LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUg
IkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSW50
ZXJuYWxTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTWFsbG9j
U3RhdGlzdGljcy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCkBAIC02NCw2
ICs2NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgorI2luY2x1
ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgpAQCAtMTI1Myw0
ICsxMjU0LDE4IEBAIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gSW50ZXJuYWxzOjpnZXRSZWZl
cmVuY2VkRmlsZVBhdGhzKCkgY29uc3QKICAgICByZXR1cm4gc3RyaW5nTGlzdC5yZWxlYXNlKCk7
CiB9CiAKK1Bhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKK3sKKyAgICBT
dHJpbmcgc3RyaW5nVmFsdWUgPSB2YWx1ZS0+dG9XaXJlU3RyaW5nKCk7CisgICAgcmV0dXJuIEFy
cmF5QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0cmluZ1ZhbHVlLmlt
cGwoKS0+Y2hhcmFjdGVycygpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJp
bmdWYWx1ZS5zaXplSW5CeXRlcygpKTsKK30KKworUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IEludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4gYnVmZmVyKSBjb25zdAoreworICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBV
Q2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNo
YXIpKTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2
YWx1ZSk7Cit9CisKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjBmMTYw
NGI5NzU1Y2E4NmFkZjZlZTYwNGNhMTY2YzMxYmQzN2FmMi4uNjA1MTA5YjVlM2EwNDRhYTNmYzNi
ZWI3Zjk3NzkzNGRkYjA0M2RkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRlICJOb2RlTGlzdC5o
IgorI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KQEAgLTUwLDYgKzUxLDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IGNsYXNzIFNoYWRvd1Jvb3Q7CiBjbGFzcyBXZWJLaXRQb2ludDsKIGNsYXNzIE1hbGxvY1N0YXRp
c3RpY3M7CitjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKIHR5cGVkZWYgaW50IEV4Y2Vw
dGlvbkNvZGU7CiAKQEAgLTIxNyw2ICsyMTksOSBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRy
PERPTVN0cmluZ0xpc3Q+IGdldFJlZmVyZW5jZWRGaWxlUGF0aHMoKSBjb25zdDsKIAorICAgIFBh
c3NSZWZQdHI8QXJyYXlCdWZmZXI+IHNlcmlhbGl6ZU9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4pIGNvbnN0OworICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBkZXNlcmlhbGl6ZUJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1l
bnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCmluZGV4IGY2MmNlYWM4NTdmMThjY2JhZmNmYzAyZTYzN2NjZTlhN2UzMGNmNzAuLjk2MDBh
Njg3ZTQ4ZmVlNGM5YzFlM2E1MjdmYjZlZWJhYzdkMmEwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKQEAgLTE5Myw2ICsxOTMsOSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAg
ICAgTWFsbG9jU3RhdGlzdGljcyBtYWxsb2NTdGF0aXN0aWNzKCk7CiAKICAgICAgICAgRE9NU3Ry
aW5nW10gZ2V0UmVmZXJlbmNlZEZpbGVQYXRocygpOworCisgICAgICAgIEFycmF5QnVmZmVyIHNl
cmlhbGl6ZU9iamVjdChpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgb2JqZWN0KTsKKyAgICAgICAg
U2VyaWFsaXplZFNjcmlwdFZhbHVlIGRlc2VyaWFsaXplQnVmZmVyKGluIEFycmF5QnVmZmVyIGJ1
ZmZlcik7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI4ZjkzNDY0NWIxZDBhMjA1YzdkMTllYzM4MmE5
MTU1ZmRiOWJhMzEuLjE5MmFhMzhiNjJkYmE0OTdkOWYwNWI3ZTc5MjU4MDIzNGQxM2VhMjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wOS0xNCAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0
aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGVzZSB0ZXN0cyBtYWtlIHN1cmUgdGhhdCBjdXJyZW50IGFuZCBsZWdhY3kgc2VyaWFsaXph
dGlvbgorICAgICAgICB2YWx1ZXMsIGFzIHN0b3JlZCBpbiBJbmRleGVkREIgYW5kIG90aGVyIHN0
b3JhZ2Ugc3lzdGVtcywgY29udGludWUKKyAgICAgICAgdG8gc2VyaWFsaXplIGluIGEgZm9yd2Fy
ZHMgY29tcGF0aWJsZSB3YXksIGFuZCBkZXNlcmlhbGl6ZSBpbiBhCisgICAgICAgIGJhY2t3YXJk
cyBjb21wYXRpYmxlIHdheS4KKworICAgICAgICAqIHN0b3JhZ2UvcmVzb3VyY2VzL3Nzdi5qczog
QWRkZWQuCisgICAgICAgIChleHBlY3RCdWZmZXJWYWx1ZSk6CisgICAgICAgIChtYWtlQnVmZmVy
KToKKyAgICAgICAgKHRlc3RTZXJpYWxpemF0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL3Nzdi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2Uvc3N2Lmh0bWw6IEFkZGVkLgor
CiAyMDEyLTA5LTEzICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW1Rlc3RzXSBXZSBzaG91bGQgaGF2ZSB0ZXN0IGZvciBjbGlja2luZyBzcGluIGJ1dHRv
biBpbiBpZnJhbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9z
c3YuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9zc3YuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTM5YjEzZDQ0OTg1OWQ1NzZlYjI3NzFjNDM2MjQ1NjlmNmNlMTg3OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3Nzdi5qcwpAQCAtMCwwICsxLDExMiBA
QAorCitmdW5jdGlvbiBleHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVyKSB7
CisgICAgZXhwZWN0ZWRWID0gZXhwZWN0ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9IG5ldyBV
aW50MTZBcnJheShidWZmZXIpOworICAgIHNob3VsZEJlKCJidWZmZXJWaWV3Lmxlbmd0aCIsICJl
eHBlY3RlZFYubGVuZ3RoIik7CisgICAgdmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGgg
PT0gZXhwZWN0ZWRWLmxlbmd0aCk7CisgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAg
aWYgKGV4cGVjdGVkVmFsdWVzW2ldICE9IGJ1ZmZlclZpZXdbaV0pIHsKKyAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJBcnJheUJ1ZmZlclZpZXdzIGRpZmZlciBhdCBpbmRleCAiICsgaSArICIu
IFNob3VsZCBiZSAiICsgZXhwZWN0ZWRWYWx1ZXNbaV0gKyAiLiBXYXMgIiArIHZpZXdbaV0pOwor
ICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghc3VjY2Vzcykgewor
ICAgICAgICAvLyBvdXRwdXQgdGhlIGZ1bGwgYnVmZmVyIGZvciBhZGRpbmcgYmFjayBpbnRvIHRo
ZSB0ZXN0CisgICAgICAgIHZhciBvdXRwdXQgPSBbXTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8
IGJ1ZmZlclZpZXcubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBoZXhWYWwgPSBidWZm
ZXJWaWV3W2ldLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgICAgIGlmIChoZXhWYWwubGVuZ3RoIDwg
NCkgeworICAgICAgICAgICAgICAgIGhleFZhbCA9ICIwMDAwIi5zbGljZShoZXhWYWwubGVuZ3Ro
KSArIGhleFZhbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG91dHB1dC5wdXNoKCIweCIg
KyBoZXhWYWwpOworICAgICAgICB9CisgICAgICAgIGRlYnVnKCJBY3R1YWwgYnVmZmVyOiBbIiAr
IG91dHB1dC5qb2luKCIsICIpICsgIl0iKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIG1ha2VCdWZm
ZXIoc2VyaWFsaXplZFZhbHVlcykgeworICAgIC8vIHRlc3QgZGVzZXJpYWxpemF0aW9uCisgICAg
dmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDE2QXJyYXkobmV3IEFycmF5QnVmZmVyKHNlcmlhbGl6
ZWRWYWx1ZXMubGVuZ3RoICogMikpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWFsaXpl
ZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICBidWZmZXJWaWV3W2ldID0gc2VyaWFsaXpl
ZFZhbHVlc1tpXTsKKyAgICB9CisgICAgcmV0dXJuIGJ1ZmZlclZpZXcuYnVmZmVyOworfQorCisK
K2Z1bmN0aW9uIHRlc3RTZXJpYWxpemF0aW9uKG9iaiwgdmFsdWVzLCBvbGRGb3JtYXQpIHsKKyAg
ICAvLyB0ZXN0IHNlcmlhbGl6YXRpb24KKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiRGVz
ZXJpYWxpemUgdG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgIHNlbGYub2Jq
ID0gb2JqOworICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVmZmVyKG1h
a2VCdWZmZXIodmFsdWVzKSk7CisgICAgc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG9iaikiLCAi
SlNPTi5zdHJpbmdpZnkobmV3T2JqKSIpOworCisgICAgaWYgKG9sZEZvcm1hdCkgeworICAgICAg
ICBzZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKG9s
ZEZvcm1hdCkpOworICAgICAgICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkob2JqKSIsICJKU09O
LnN0cmluZ2lmeShuZXdPYmopIik7CisgICAgfQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsg
SlNPTi5zdHJpbmdpZnkob2JqKSArICI6Iik7CisgICAgdmFyIHNlcmlhbGl6ZWQgPSBpbnRlcm5h
bHMuc2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBz
ZXJpYWxpemVkKTsKK30KKworLy8gd2Ugb25seSB0ZXN0IGEgZmV3IGNhc2VzIG9mIHRoZSAib2xk
IiBzZXJpYWxpemF0aW9uIGZvcm1hdCBiZWNhdXNlCisvLyB0aGF0IGlzIGFsbCB0aGF0IHdhcyBs
ZWZ0IGFyb3VuZCBmcm9tIHByZXZpb3VzIHRlc3RzLiBUaG9zZSB2YWx1ZXMKKy8vIGFyZSBvbmx5
IHBlcnNpc3RlZCBvdXQgaW4gdGhlIHdvcmxkIGluIEluZGV4ZWREQiBzdG9yZXMgdGhhdCB3ZXJl
CisvLyB3cml0dGVuIHdpdGggaW1wbGVtZW50YXRpb25zIGJ1aWx0IGJlZm9yZSBtaWQtMjAxMS4K
K3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6IHtiYXo6ICdteU5ld0tleSd9fSwK
KyAgICAgICAgICAgICAgICAgIFsgMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2
MDMsCisgICAgICAgICAgICAgICAgICAgIDB4NmY2ZiwgMHgwMTNmLCAweDAzNTMsIDB4NmY3YSwg
MHgzZjZmLAorICAgICAgICAgICAgICAgICAgICAweDUzMDEsIDB4NjIwMywgMHg3MjYxLCAweDAx
M2YsIDB4M2Y2ZiwKKyAgICAgICAgICAgICAgICAgICAgMHg1MzAyLCAweDYyMDMsIDB4N2E2MSwg
MHgwMjNmLCAweDA4NTMsCisgICAgICAgICAgICAgICAgICAgIDB4Nzk2ZCwgMHg2NTRlLCAweDRi
NzcsIDB4Nzk2NSwgMHgwMTdiLAorICAgICAgICAgICAgICAgICAgICAweDAyN2IgXSk7CisKK3Rl
c3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6ICdteU5ld0tleSd9LAorICAgICAgICAg
ICAgICAgICAgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2NjAzLAorICAgICAg
ICAgICAgICAgICAgIDB4NmY2ZiwgMHgwMTNmLCAweDAzNTMsIDB4NmY3YSwgMHgzZjZmLAorICAg
ICAgICAgICAgICAgICAgIDB4NTMwMSwgMHg2MjAzLCAweDcyNjEsIDB4MDEzZiwgMHgwODUzLAor
ICAgICAgICAgICAgICAgICAgIDB4Nzk2ZCwgMHg2NTRlLCAweDRiNzcsIDB4Nzk2NSwgMHgwMjdi
XSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKFtdLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA0MSwgMHgw
MDI0LCAweDAwMDAgXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiAiem9vIn0sCisgICAgICAg
ICAgICAgICAgICBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsIDB4NmY2
ZiwKKyAgICAgICAgICAgICAgICAgICAweDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDdiNmYsIDB4
MDAwMV0sCisgICAgICAgICAgICAgICAgICBbMHgwMzUzLCAweDZmNjYsIDB4NTM2ZiwgMHg3YTAz
LCAweDZmNmYsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogbnVsbH0sCisgICAg
ICAgICAgICAgICAgICBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsIDB4
NmY2ZiwKKyAgICAgICAgICAgICAgICAgICAweDAxM2YsIDB4N2IzMCwgMHgwMDAxXSwKKyAgICAg
ICAgICAgICAgICAgIFsweDAzNTMsIDB4NmY2NiwgMHgzMDZmLCAweDAxN2JdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHt9LCBbMHgwMWZmLCAweDAwM2YsIDB4N2I2ZiwgMHgwMDAwXSwgWzB4MDA3Yl0p
OworCit0ZXN0U2VyaWFsaXphdGlvbih1bmRlZmluZWQsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDVm
XSk7Cit0ZXN0U2VyaWFsaXphdGlvbih0cnVlLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA1NF0pOwor
dGVzdFNlcmlhbGl6YXRpb24oZmFsc2UsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDQ2XSk7Cit0ZXN0
U2VyaWFsaXphdGlvbihbMSwyLDMsNCw1LDYsNyw4XSwgWzB4MDFmZiwgMHgwMDNmLCAweDA4NDEs
IDB4MDEzZiwgMHgwMjQ5LCAweDAxM2YsIDB4MDQ0OSwgMHgwMTNmLCAweDA2NDksIDB4MDEzZiwg
MHgwODQ5LCAweDAxM2YsIDB4MGE0OSwgMHgwMTNmLCAweDBjNDksIDB4MDEzZiwgMHgwZTQ5LCAw
eDAxM2YsIDB4MTA0OSwgMHgwMDI0LCAweDAwMDhdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEwLCBb
MHgwMWZmLCAweDAwM2YsIDB4MTQ0OV0pOwordGVzdFNlcmlhbGl6YXRpb24oLTEwLCBbMHgwMWZm
LCAweDAwM2YsIDB4MTM0OV0pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiwzMCksIFsw
eDAxZmYsIDB4MDAzZiwgMHg4MDQ5LCAweDgwODAsIDB4MDg4MF0pOwordGVzdFNlcmlhbGl6YXRp
b24oTWF0aC5wb3coMiw1NSksIFsweDAxZmYsIDB4MDAzZiwgMHgwMDRlLCAweDAwMDAsIDB4MDAw
MCwgMHg2MDAwLCAweDAwNDNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKG51bGwsIFsweDAxZmYsIDB4
MDAzZiwgMHgwMDMwXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigvYWJjLywgWzB4MDFmZiwgMHgwMDNm
LCAweDAzNTIsIDB4NjI2MSwgMHgwMDYzXSk7CisKK3ZhciBpbm5lck9iamVjdCA9IHtoZWxsbzog
InRoZXJlIn07Cit2YXIgb3V0ZXJPYmplY3QgPSB7aW5uZXI6IGlubmVyT2JqZWN0fTsKK291dGVy
T2JqZWN0WydvdXRlciddID0gaW5uZXJPYmplY3Q7Cit0ZXN0U2VyaWFsaXphdGlvbihvdXRlck9i
amVjdCwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2OTA1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAweDZlNmUsIDB4NzI2NSwgMHgwMTNmLCAweDNmNmYsIDB4
NTMwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ODA1LCAweDZjNjUsIDB4
NmY2YywgMHgwMjNmLCAweDA1NTMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
Njg3NCwgMHg3MjY1LCAweDdiNjUsIDB4M2YwMSwgMHg1MzAyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDZmMDUsIDB4NzQ3NSwgMHg3MjY1LCAweDAyM2YsIDB4MDE1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjdiXSk7Cit0ZXN0U2VyaWFsaXphdGlv
bihpbm5lck9iamVjdCwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2ODA1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZjNjUsIDB4NmY2YywgMHgwMTNmLCAw
eDA1NTMsIDB4Njg3NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MjY1LCAw
eDdiNjUsIDB4MDAwMV0pOworZmluaXNoSlNUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3Nzdi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Nzdi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFjOWY2MWVhOGIyMzhiYWM1MDBkM2RlMzQzODBlZGNhZTYx
YzExYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3N2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzOSBAQAorRGVzZXJpYWxpemluZyA1MiBieXRlcworRGVzZXJpYWxp
emluZyA1MiBieXRlcworRGVzZXJpYWxpemluZyA0MCBieXRlcworRGVzZXJpYWxpemluZyA0MCBi
eXRlcworRGVzZXJpYWxpemluZyAxMCBieXRlcworRGVzZXJpYWxpemluZyAxMCBieXRlcworRGVz
ZXJpYWxpemluZyAyMiBieXRlcworRGVzZXJpYWxpemluZyAyMiBieXRlcworRGVzZXJpYWxpemlu
ZyAxMiBieXRlcworRGVzZXJpYWxpemluZyAxMiBieXRlcworRGVzZXJpYWxpemluZyAxOCBieXRl
cworRGVzZXJpYWxpemluZyAxOCBieXRlcworRGVzZXJpYWxpemluZyA4IGJ5dGVzCitEZXNlcmlh
bGl6aW5nIDggYnl0ZXMKK0Rlc2VyaWFsaXppbmcgOCBieXRlcworRGVzZXJpYWxpemluZyA4IGJ5
dGVzCitEZXNlcmlhbGl6aW5nIDIgYnl0ZXMKK0Rlc2VyaWFsaXppbmcgMiBieXRlcworRGVzZXJp
YWxpemluZyA2IGJ5dGVzCitEZXNlcmlhbGl6aW5nIDYgYnl0ZXMKK0Rlc2VyaWFsaXppbmcgNiBi
eXRlcworRGVzZXJpYWxpemluZyA2IGJ5dGVzCitEZXNlcmlhbGl6aW5nIDYgYnl0ZXMKK0Rlc2Vy
aWFsaXppbmcgNiBieXRlcworRGVzZXJpYWxpemluZyA0MiBieXRlcworRGVzZXJpYWxpemluZyA0
MiBieXRlcworRGVzZXJpYWxpemluZyA2IGJ5dGVzCitEZXNlcmlhbGl6aW5nIDYgYnl0ZXMKK0Rl
c2VyaWFsaXppbmcgNiBieXRlcworRGVzZXJpYWxpemluZyA2IGJ5dGVzCitEZXNlcmlhbGl6aW5n
IDEwIGJ5dGVzCitEZXNlcmlhbGl6aW5nIDEwIGJ5dGVzCitEZXNlcmlhbGl6aW5nIDE0IGJ5dGVz
CitEZXNlcmlhbGl6aW5nIDE0IGJ5dGVzCitEZXNlcmlhbGl6aW5nIDYgYnl0ZXMKK0Rlc2VyaWFs
aXppbmcgNiBieXRlcworRGVzZXJpYWxpemluZyAxMCBieXRlcworRGVzZXJpYWxpemluZyAxMCBi
eXRlcworRGVzZXJpYWxpemluZyA1MiBieXRlcworRGVzZXJpYWxpemluZyA1MiBieXRlcworRGVz
ZXJpYWxpemluZyAyNiBieXRlcworRGVzZXJpYWxpemluZyAyNiBieXRlcworCitEZXNlcmlhbGl6
ZSB0byB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToKK1BBU1MgSlNPTi5z
dHJpbmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitTZXJpYWxpemUgeyJmb28i
OiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3Ro
IGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28iLCJiYXIi
OiJteU5ld0tleSJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShvYmopIGlzIEpTT04uc3RyaW5naWZ5
KG5ld09iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyIsImJhciI6Im15TmV3S2V5In06CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
W106CitQQVNTIEpTT04uc3RyaW5naWZ5KG9iaikgaXMgSlNPTi5zdHJpbmdpZnkobmV3T2JqKQor
U2VyaWFsaXplIFtdOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG9i
aikgaXMgSlNPTi5zdHJpbmdpZnkobmV3T2JqKQorUEFTUyBKU09OLnN0cmluZ2lmeShvYmopIGlz
IEpTT04uc3RyaW5naWZ5KG5ld09iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyJ9OgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsi
Zm9vIjpudWxsfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShu
ZXdPYmopCitQQVNTIEpTT04uc3RyaW5naWZ5KG9iaikgaXMgSlNPTi5zdHJpbmdpZnkobmV3T2Jq
KQorU2VyaWFsaXplIHsiZm9vIjpudWxsfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToKK1BBU1MgSlNPTi5zdHJpbmdpZnko
b2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitQQVNTIEpTT04uc3RyaW5naWZ5KG9iaikg
aXMgSlNPTi5zdHJpbmdpZnkobmV3T2JqKQorU2VyaWFsaXplIHt9OgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHVuZGVmaW5lZDoK
K1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitTZXJp
YWxpemUgdW5kZWZpbmVkOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHRydWU6CitQQVNTIEpTT04uc3RyaW5naWZ5KG9iaikgaXMg
SlNPTi5zdHJpbmdpZnkobmV3T2JqKQorU2VyaWFsaXplIHRydWU6CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gZmFsc2U6CitQQVNT
IEpTT04uc3RyaW5naWZ5KG9iaikgaXMgSlNPTi5zdHJpbmdpZnkobmV3T2JqKQorU2VyaWFsaXpl
IGZhbHNlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIFsxLDIsMyw0LDUsNiw3LDhdOgorUEFTUyBKU09OLnN0cmluZ2lmeShvYmop
IGlzIEpTT04uc3RyaW5naWZ5KG5ld09iaikKK1NlcmlhbGl6ZSBbMSwyLDMsNCw1LDYsNyw4XToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byAxMDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdP
YmopCitTZXJpYWxpemUgMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5s
ZW5ndGgKKworRGVzZXJpYWxpemUgdG8gLTEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShvYmopIGlz
IEpTT04uc3RyaW5naWZ5KG5ld09iaikKK1NlcmlhbGl6ZSAtMTA6CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMTA3Mzc0MTgyNDoK
K1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitTZXJp
YWxpemUgMTA3Mzc0MTgyNDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitTZXJpYWxpemUgMzYwMjg3OTcw
MTg5NjM5NzA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKwor
RGVzZXJpYWxpemUgdG8gbnVsbDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqKSBpcyBKU09OLnN0
cmluZ2lmeShuZXdPYmopCitTZXJpYWxpemUgbnVsbDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGgg
aXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToKK1BBU1MgSlNPTi5zdHJp
bmdpZnkob2JqKSBpcyBKU09OLnN0cmluZ2lmeShuZXdPYmopCitTZXJpYWxpemUge306CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
eyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0sIm91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG9iaikgaXMgSlNPTi5zdHJpbmdpZnkobmV3T2JqKQorU2VyaWFs
aXplIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJoZWxsbyI6InRoZXJlIn19
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFs
aXplIHRvIHsiaGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShvYmopIGlzIEpT
T04uc3RyaW5naWZ5KG5ld09iaikKK1NlcmlhbGl6ZSB7ImhlbGxvIjoidGhlcmUifToKK1BBU1Mg
YnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvc3N2Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Nzdi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE0ZTU5NmMxNDE0NzZkNDdlYmEyNmJiMDViMzVlOWViZjFmOTQ5ODMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Nzdi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9mcy10ZXN0LXV0aWwuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zc3YuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174195</attachid>
            <date>2012-11-14 10:22:05 -0800</date>
            <delta_ts>2012-11-14 13:57:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96818-20121114102004.patch</filename>
            <type>text/plain</type>
            <size>18032</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAzMTc1OTVkYTg2ZDAy
ODExYWEzZjY3Y2M0OGM1OWYzYjk5ZWQxYi4uYTA0OTc1MzBhMTAyZmJlMjI1NzBjM2I4NTMxMDE1
NmM2NTY4MDlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTExICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSBkaXJlY3QgYWNjZXNzIHRvIHRoZSBzZXJpYWxp
emF0aW9uL2Rlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zCisgICAgICAgIG9mIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSB0byBEdW1wUmVuZGVyVHJlZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNlcmlh
bGl6ZUJ1ZmZlcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0xMS0xMiAg
SHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbUXRd
IFJFR1JFU1NJT04oMTM0MTQyKTogb3ZlcnNjYWxlZCB0aWxlcyBpbiBwaXhlbCB0ZXN0IHJlc3Vs
dHMgYW5kIE1pbmlCcm93c2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg1MzkzY2ZiZDVkNmZlZWNjM2Y4MDc4NGFi
NmIzYmQ1M2M4NTA0YjcuLjIyMWQ1NzFlYjczNjE3MTI0YjY5ZjUyMDk1NDJlNWIxYmY4N2M5ZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTEtMTQgIEFsZWMgRmxldHQgIDxhbGVj
ZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2Vy
aWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2ODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgd2Via2l0X3VuaXRfdGVzdCBmb3IgdmFyaW91cyBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUtZW5jb2RlZAorICAgICAgICB2YWx1ZXMuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lw
OgorICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIFdlYktpdFVuaXRUZXN0cy5neXA6
CisgICAgICAgICogdGVzdHMvU2VyaWFsaXplZFNjcmlwdFZhbHVlVGVzdC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEludGVybmFsc0NsaWVudCk6CisgICAgICAgIChX
ZWJLaXQ6OlRFU1QpOgorICAgICAgICAqIHRlc3RzL2RhdGEvc2VyaWFsaXplZF9zY3JpcHRfdmFs
dWUuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGRvY2sgYnV0dG9uIHRvIHRoZSB0b3AgcmlnaHQg
Y29ybmVyIG9mIHRoZSBXZWIgSW5zcGVjdG9yIHdpbmRvdyAoc2ltaWxhciB0byB0aGUgZnVsbCBz
Y3JlZW4gYnV0dG9uKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjZDEy
MGM2NWM3MzJlYjI4MzAxYTUzNDU2ZjJjNjdmMjBiMTZmMzRhLi5kNGI1MGE3NGEzYmIyNTY5MDll
YzdkNjJjMjQzZGE1NWEyYTljMThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgog
I2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VsZWN0UnVsZUZlYXR1cmVT
ZXQuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTcGVsbENoZWNrZXIu
aCIKQEAgLTE1MTEsNCArMTUxMiwxNiBAQCB2b2lkIEludGVybmFsczo6c3RvcFRyYWNraW5nUmVw
YWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZp
ZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4gSW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IHZhbHVlKSBjb25zdAoreworICAgIFN0cmluZyBzdHJpbmdWYWx1ZSA9IHZhbHVlLT50
b1dpcmVTdHJpbmcoKTsKKyAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2Fz
dDxjb25zdCB2b2lkKj4oc3RyaW5nVmFsdWUuaW1wbCgpLT5jaGFyYWN0ZXJzKCkpLCBzdHJpbmdW
YWx1ZS5zaXplSW5CeXRlcygpKTsKK30KKworUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IEludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4g
YnVmZmVyKSBjb25zdAoreworICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBVQ2hh
cio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNoYXIp
KTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2YWx1
ZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDU0NGQzMWU4ODk0
NTBlNTUxZDdjOGJkMjkxMzZjN2M3MTJhMDRlZTYuLmI5NDNmYTNlYTQ5MTgzYzY1ZTY5MGM1MDc4
YzZmYjZmNzMwMGI1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKKyNp
bmNsdWRlIDx3dGYvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC01Myw2ICs1NCw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFz
cyBTaGFkb3dSb290OwogY2xhc3MgV2ViS2l0UG9pbnQ7CiBjbGFzcyBNYWxsb2NTdGF0aXN0aWNz
OworY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25D
b2RlOwogCkBAIC0yNDUsNiArMjQ3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRUcmFja2lu
Z1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc3RvcFRyYWNr
aW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBQYXNzUmVmUHRy
PEFycmF5QnVmZmVyPiBzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+KSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGVz
ZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4pIGNvbnN0OworCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50KiBjb250
ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCAzMDRlNjRjOGVlY2QwMGY1MzIzZWRjNjJhMGFlZjhlZjgzMTdiZWQ0Li42YTUyYWQ0MzMwNTY5
NWJjMDEwYWFmMzE4ZWMxNzIxNTJjNDI5YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC0yMTMsNCArMjEzLDcgQEAKICAgICAvLyAgc3RhcnRUcmFja2luZ1JlcGFpbnRz
LCByZXBhaW50UmVjdHNBc1RleHQsIHN0b3BUcmFja2luZ1JlcGFpbnRzLgogICAgIHZvaWQgc3Rh
cnRUcmFja2luZ1JlcGFpbnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVu
dCkgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRl
c2VyaWFsaXplQnVmZmVyKGluIEFycmF5QnVmZmVyIGJ1ZmZlcik7CisgICAgQXJyYXlCdWZmZXIg
c2VyaWFsaXplT2JqZWN0KGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBvYmopOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCBhMzk5MzIyYjIzNmUyYjFhNGE2NmVlOTA4MmY3ODlh
ZmIyN2U0MTg3Li5mMWRhNThmMDkyNzMwODE2MWQ2YjFmNTc4NDhkNTBkZGQ4MzE3ODllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC03MTksNiArNzE5LDcgQEAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1JlbmRlclRhYmxlQ2VsbFRlc3QuY3BwJywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1JlbmRlclRhYmxlUm93VGVzdC5j
cHAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bVRlc3QuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVRlc3QuY3BwJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1VSTFRlc3RIZWxwZXJzLmNwcCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJGcmFtZVRlc3QuY3BwJywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYkltYWdlVGVzdC5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cGkKaW5kZXggMThjNmE4YzM1NTNiOGMyNzM3NjhjMjFiNTFhOTMx
OTQ4NzI0NWJmYy4uNmEyY2NkZTIxNWQ4OGYwYzUwNjQ0YjZiMTAzMzc4NzMwN2Y1MWNmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCkBAIC0xMDAsNiArMTAwLDcgQEAKICAgICAgICAg
ICAgICd0ZXN0cy9SZW5kZXJUYWJsZUNlbGxUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMv
UmVuZGVyVGFibGVSb3dUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bVRlc3QuY3BwJywKKyAgICAgICAgICAgICd0ZXN0cy9TZXJpYWxpemVk
U2NyaXB0VmFsdWVUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvVGlsaW5nRGF0YVRlc3Qu
Y3BwJywKICAgICAgICAgICAgICd0ZXN0cy9UcmVlVGVzdEhlbHBlcnMuY3BwJywKICAgICAgICAg
ICAgICd0ZXN0cy9UcmVlVGVzdEhlbHBlcnMuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL1dlYktpdFVuaXRUZXN0cy5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdFVuaXRUZXN0cy5neXAKaW5kZXggNWRjZmNkMmI0NjU0MmRkYjkzMDA0ODQ4YzUyY2U4ZDcy
ZGZlYWFiYi4uM2ZkMDI5NmM4MTdhYjQ2YzM3NDNjMzJlNmNiNjA0MTc4NmI1OGE2YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMuZ3lwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cApAQCAtNTUsNiArNTUsNyBA
QAogICAgICAgICAgICAgJ21zdnNfZ3VpZCc6ICc3Q0VGRTgwMC04NDAzLTQxOEEtQUQ2QS0yRDUy
QzZGQzNFQUQnLAogICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgICAgICAg
ICAnV2ViS2l0Lmd5cDp3ZWJraXQnLAorICAgICAgICAgICAgICAgICdXZWJLaXQuZ3lwOndlYmtp
dF90ZXN0X3N1cHBvcnQnLAogICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1
aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5neXA6Z29vZ2xldXJsJywKICAgICAgICAgICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29scy9neXAvdjguZ3lwOnY4JywKICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2d0ZXN0Lmd5cDpndGVzdCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TZXJpYWxpemVkU2NyaXB0
VmFsdWVUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzQ4NWUwMWRhY2ZlOTllOTcxZjhlYzgzNjAxYmNi
NWE3MDVmYThmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWVUZXN0LmNwcApAQCAtMCwwICsxLDc0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaW5jbHVkZSAiRnJhbWVUZXN0SGVscGVycy5oIgorI2luY2x1ZGUgIlVS
TFRlc3RIZWxwZXJzLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJGcmFt
ZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYlRlc3RpbmdTdXBwb3J0LmgiCisjaW5jbHVkZSAiV2Vi
Vmlldy5oIgorI2luY2x1ZGUgInY4LmgiCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNs
dWRlIDx3ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5oPgorCit1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OworCituYW1lc3BhY2UgeworCitjbGFzcyBJbnRlcm5hbHNDbGllbnQgOiBwdWJsaWMg
V2ViRnJhbWVDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVTY3Jp
cHRDb250ZXh0KFdlYkZyYW1lKiBmcmFtZSwgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4
dCwgaW50IGV4dGVuc2lvbkdyb3VwLCBpbnQgd29ybGRJZCkgT1ZFUlJJREUKKyAgICB7CisgICAg
ICAgIFdlYlRlc3RpbmdTdXBwb3J0OjppbmplY3RJbnRlcm5hbHNPYmplY3QoZnJhbWUpOworICAg
IH0KK307CisKK1RFU1QoU2VyaWFsaXplZFNjcmlwdFZhbHVlVGVzdCwgQmlkaXJlY3Rpb25hbFNl
cmlhbGl6YXRpb24pCit7CisgICAgY29uc3Qgc3RkOjpzdHJpbmcgYmFzZVVSTCgiaHR0cDovL3d3
dy50ZXN0LmNvbS8iKTsKKyAgICBjb25zdCBzdGQ6OnN0cmluZyBmaWxlTmFtZSgic2VyaWFsaXpl
ZF9zY3JpcHRfdmFsdWUuaHRtbCIpOworICAgIFVSTFRlc3RIZWxwZXJzOjpyZWdpc3Rlck1vY2tl
ZFVSTEZyb21CYXNlVVJMKFdlYlN0cmluZzo6ZnJvbVVURjgoYmFzZVVSTC5jX3N0cigpLCBiYXNl
VVJMLmxlbmd0aCgpKSwgV2ViU3RyaW5nOjpmcm9tVVRGOCgiLi4vLi4vLi4vLi4vLi4vTGF5b3V0
VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiKSwgV2ViU3RyaW5nOjpmcm9t
VVRGOCgiYXBwbGljYXRpb24vamF2YXNjcmlwdCIpKTsKKyAgICBVUkxUZXN0SGVscGVyczo6cmVn
aXN0ZXJNb2NrZWRVUkxGcm9tQmFzZVVSTChXZWJTdHJpbmc6OmZyb21VVEY4KGJhc2VVUkwuY19z
dHIoKSwgYmFzZVVSTC5sZW5ndGgoKSksIFdlYlN0cmluZzo6ZnJvbVVURjgoIi4uLy4uLy4uLy4u
Ly4uL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyIpLCBXZWJT
dHJpbmc6OmZyb21VVEY4KCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IikpOworICAgIFVSTFRlc3RI
ZWxwZXJzOjpyZWdpc3Rlck1vY2tlZFVSTEZyb21CYXNlVVJMKFdlYlN0cmluZzo6ZnJvbVVURjgo
YmFzZVVSTC5jX3N0cigpLCBiYXNlVVJMLmxlbmd0aCgpKSwgV2ViU3RyaW5nOjpmcm9tVVRGOChm
aWxlTmFtZS5jX3N0cigpLCBmaWxlTmFtZS5sZW5ndGgoKSkpOworICAgIEludGVybmFsc0NsaWVu
dCBjbGllbnQ7CisgICAgV2ViVmlldyogd2ViVmlldyA9IEZyYW1lVGVzdEhlbHBlcnM6OmNyZWF0
ZVdlYlZpZXdBbmRMb2FkKGJhc2VVUkwgKyBmaWxlTmFtZSwgdHJ1ZSwgJmNsaWVudCk7CisKKyAg
ICAvLyBOb3cgcmV0cmlldmUgdGhlIGZyYW1lcyB0ZXh0IGFuZCB0ZXN0IGl0IG9ubHkgaW5jbHVk
ZXMgdmlzaWJsZSBlbGVtZW50cy4KKyAgICBzdGQ6OnN0cmluZyBjb250ZW50KHdlYlZpZXctPm1h
aW5GcmFtZSgpLT5jb250ZW50QXNUZXh0KDEwNDg1NzYpLnV0ZjgoKS5kYXRhKCkpOworCisgICAg
RVhQRUNUX05FKHN0ZDo6c3RyaW5nOjpucG9zLCBjb250ZW50LmZpbmQoIlRFU1QgQ09NUExFVEUi
KSkgPDwgIkdvdCBjb250ZW50OiAiIDw8IGNvbnRlbnQ7CisgICAgRVhQRUNUX0VRKHN0ZDo6c3Ry
aW5nOjpucG9zLCBjb250ZW50LmZpbmQoIkZBSUwiKSkgPDwgIkdvdCBjb250ZW50OiAiIDw8IGNv
bnRlbnQ7CisKKyAgICB3ZWJWaWV3LT5jbG9zZSgpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvc2VyaWFsaXplZF9zY3JpcHRfdmFsdWUuaHRt
bCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9zZXJpYWxpemVkX3NjcmlwdF92
YWx1ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzYmJhN2Y3YjY5ZjMyYzQyMTFjZGI2OTk4ODAzMjFiMDM1
OWE0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2Rh
dGEvc2VyaWFsaXplZF9zY3JpcHRfdmFsdWUuaHRtbApAQCAtMCwwICsxLDE1MyBAQAorPGh0bWw+
CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitmdW5jdGlvbiBleHBlY3RCdWZm
ZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVyKSB7CisgICAgZXhwZWN0ZWRWID0gZXhwZWN0
ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9IG5ldyBVaW50MTZBcnJheShidWZmZXIpOworICAg
IHNob3VsZEJlKCJidWZmZXJWaWV3Lmxlbmd0aCIsICJleHBlY3RlZFYubGVuZ3RoIik7CisgICAg
dmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRWLmxlbmd0aCk7Cisg
ICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZh
bHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWVzW2ldICE9
IGJ1ZmZlclZpZXdbaV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJBcnJheUJ1ZmZl
clZpZXdzIGRpZmZlciBhdCBpbmRleCAiICsgaSArICIuIFNob3VsZCBiZSAiICsgZXhwZWN0ZWRW
YWx1ZXNbaV0gKyAiLiBXYXMgIiArIHZpZXdbaV0pOworICAgICAgICAgICAgICAgIHN1Y2Nlc3Mg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAvLyBvdXRwdXQgdGhlIGZ1
bGwgYnVmZmVyIGZvciBhZGRpbmcgYmFjayBpbnRvIHRoZSB0ZXN0CisgICAgICAgIHZhciBvdXRw
dXQgPSBbXTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlclZpZXcubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgICAgIHZhciBoZXhWYWwgPSBidWZmZXJWaWV3W2ldLnRvU3RyaW5nKDE2KTsK
KyAgICAgICAgICAgIGlmIChoZXhWYWwubGVuZ3RoIDwgNCkgeworICAgICAgICAgICAgICAgIGhl
eFZhbCA9ICIwMDAwIi5zbGljZShoZXhWYWwubGVuZ3RoKSArIGhleFZhbDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIG91dHB1dC5wdXNoKCIweCIgKyBoZXhWYWwpOworICAgICAgICB9Cisg
ICAgICAgIGRlYnVnKCJBY3R1YWwgYnVmZmVyOiBbIiArIG91dHB1dC5qb2luKCIsICIpICsgIl0i
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIG1ha2VCdWZmZXIoc2VyaWFsaXplZFZhbHVlcykgewor
ICAgIHZhciBidWZmZXJWaWV3ID0gbmV3IFVpbnQxNkFycmF5KG5ldyBBcnJheUJ1ZmZlcihzZXJp
YWxpemVkVmFsdWVzLmxlbmd0aCAqIDIpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlcmlh
bGl6ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9IHNlcmlh
bGl6ZWRWYWx1ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZlcjsKK30K
KworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgb2xkRm9ybWF0LCBz
ZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgIGRlYnVnKCIiKTsKKworICAgIGlmICghc2Vy
aWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICAgICAgc2VsZi5vYmogPSBvYmo7CisgICAgICAg
IGRlYnVnKCJEZXNlcmlhbGl6ZSB0byAiICsgSlNPTi5zdHJpbmdpZnkob2JqKSArICI6Iik7Cisg
ICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVmZmVyKG1ha2VCdWZm
ZXIodmFsdWVzKSk7CisgICAgICAgIHNob3VsZEJlKCJKU09OLnN0cmluZ2lmeShuZXdPYmopIiwg
IkpTT04uc3RyaW5naWZ5KG9iaikiKTsKKworICAgICAgICBpZiAob2xkRm9ybWF0KSB7CisgICAg
ICAgICAgICBzZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVm
ZmVyKG9sZEZvcm1hdCkpOworICAgICAgICAgICAgc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG5l
d09iaikiLCAiSlNPTi5zdHJpbmdpZnkob2JqKSIpOworICAgICAgICB9CisgICAgfQorCisgICAg
ZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNPTi5zdHJpbmdpZnkob2JqKSArICI6Iik7CisgICAgdHJ5
IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6ZWQgPSBpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KG9i
aik7CisgICAgICAgIGlmIChzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgICAgICAgICAg
dGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgdGhyb3duIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIsIHNl
cmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgfQorICAgIH0gY2F0Y2goZSkgeworICAg
ICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7CisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJUaHJldyBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgc2VsZi50aHJvd25FeGNlcHRpb24gPSBlOworICAgICAg
ICAgICAgc2VsZi5leHBlY3RlZEV4Y2VwdGlvbiA9IHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlOwor
ICAgICAgICAgICAgc2hvdWxkQmUoInRocm93bkV4Y2VwdGlvbi5jb2RlIiwgImV4cGVjdGVkRXhj
ZXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgZXhw
ZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBzZXJpYWxpemVkKTsKK30KKworLy8gd2Ugb25seSB0ZXN0
IGEgZmV3IGNhc2VzIG9mIHRoZSAib2xkIiBzZXJpYWxpemF0aW9uIGZvcm1hdCBiZWNhdXNlCisv
LyB0aGF0IGlzIGFsbCB0aGF0IHdhcyBsZWZ0IGFyb3VuZCBmcm9tIHByZXZpb3VzIHRlc3RzLiBU
aG9zZSB2YWx1ZXMKKy8vIGFyZSBvbmx5IHBlcnNpc3RlZCBvdXQgaW4gdGhlIHdvcmxkIGluIElu
ZGV4ZWREQiBzdG9yZXMgdGhhdCB3ZXJlCisvLyB3cml0dGVuIHdpdGggaW1wbGVtZW50YXRpb25z
IGJ1aWx0IGJlZm9yZSBtaWQtMjAxMS4KK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBi
YXI6IHtiYXo6ICdteU5ld0tleSd9fSwKKyAgICAgICAgICAgICAgICAgIFsgMHgwMWZmLCAweDAw
M2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsCisgICAgICAgICAgICAgICAgICAgIDB4NmY2Ziwg
MHgwMTNmLCAweDAzNTMsIDB4NmY3YSwgMHgzZjZmLAorICAgICAgICAgICAgICAgICAgICAweDUz
MDEsIDB4NjIwMywgMHg3MjYxLCAweDAxM2YsIDB4M2Y2ZiwKKyAgICAgICAgICAgICAgICAgICAg
MHg1MzAyLCAweDYyMDMsIDB4N2E2MSwgMHgwMjNmLCAweDA4NTMsCisgICAgICAgICAgICAgICAg
ICAgIDB4Nzk2ZCwgMHg2NTRlLCAweDRiNzcsIDB4Nzk2NSwgMHgwMTdiLAorICAgICAgICAgICAg
ICAgICAgICAweDAyN2IgXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6
ICdteU5ld0tleSd9LAorICAgICAgICAgICAgICAgICAgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYs
IDB4NTMwMSwgMHg2NjAzLAorICAgICAgICAgICAgICAgICAgIDB4NmY2ZiwgMHgwMTNmLCAweDAz
NTMsIDB4NmY3YSwgMHgzZjZmLAorICAgICAgICAgICAgICAgICAgIDB4NTMwMSwgMHg2MjAzLCAw
eDcyNjEsIDB4MDEzZiwgMHgwODUzLAorICAgICAgICAgICAgICAgICAgIDB4Nzk2ZCwgMHg2NTRl
LCAweDRiNzcsIDB4Nzk2NSwgMHgwMjdiXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKFtdLCBbMHgw
MWZmLCAweDAwM2YsIDB4MDA0MSwgMHgwMDI0LCAweDAwMDAgXSk7Cit0ZXN0U2VyaWFsaXphdGlv
bih7Zm9vOiAiem9vIn0sCisgICAgICAgICAgICAgICAgICBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2
ZiwgMHg1MzAxLCAweDY2MDMsIDB4NmY2ZiwKKyAgICAgICAgICAgICAgICAgICAweDAxM2YsIDB4
MDM1MywgMHg2ZjdhLCAweDdiNmYsIDB4MDAwMV0sCisgICAgICAgICAgICAgICAgICBbMHgwMzUz
LCAweDZmNjYsIDB4NTM2ZiwgMHg3YTAzLCAweDZmNmYsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6
YXRpb24oe2ZvbzogbnVsbH0sCisgICAgICAgICAgICAgICAgICBbMHgwMWZmLCAweDAwM2YsIDB4
M2Y2ZiwgMHg1MzAxLCAweDY2MDMsIDB4NmY2ZiwKKyAgICAgICAgICAgICAgICAgICAweDAxM2Ys
IDB4N2IzMCwgMHgwMDAxXSwKKyAgICAgICAgICAgICAgICAgIFsweDAzNTMsIDB4NmY2NiwgMHgz
MDZmLCAweDAxN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHt9LCBbMHgwMWZmLCAweDAwM2YsIDB4
N2I2ZiwgMHgwMDAwXSwgWzB4MDA3Yl0pOworCit0ZXN0U2VyaWFsaXphdGlvbih1bmRlZmluZWQs
IFsweDAxZmYsIDB4MDAzZiwgMHgwMDVmXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih0cnVlLCBbMHgw
MWZmLCAweDAwM2YsIDB4MDA1NF0pOwordGVzdFNlcmlhbGl6YXRpb24oZmFsc2UsIFsweDAxZmYs
IDB4MDAzZiwgMHgwMDQ2XSk7CisvLyBTcGFyc2UgYXJyYXkgZGVzZXJpYWxpemF0aW9uIGlzIGJy
b2tlbi4KKy8vIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2
ODM4CisvLyB0ZXN0U2VyaWFsaXphdGlvbihuZXcgQXJyYXkoMTAwKSwgWzB4MDFmZiwgMHgwMDNm
LCAweDY0NjEsIDB4MDA0MCwgMHgwMDY0XSk7Cit0ZXN0U2VyaWFsaXphdGlvbigxMCwgWzB4MDFm
ZiwgMHgwMDNmLCAweDE0NDldKTsKK3Rlc3RTZXJpYWxpemF0aW9uKC0xMCwgWzB4MDFmZiwgMHgw
MDNmLCAweDEzNDldKTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsMzApLCBbMHgwMWZm
LCAweDAwM2YsIDB4ODA0OSwgMHg4MDgwLCAweDA4ODBdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1h
dGgucG93KDIsNTUpLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA0ZSwgMHgwMDAwLCAweDAwMDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAwMCwgMHgwMDQzXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbigxLjIzLCBbMHgwMWZmLCAweDAwM2YsIDB4YWU0ZSwgMHhlMTQ3LCAweDE0
N2EsIDB4ZjNhZSwgMHgwMDNmXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiIiwgWzB4MDFmZiwgMHgw
MDNmLCAweDAwNTNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKCJhYmMiLCBbMHgwMWZmLCAweDAwM2Ys
IDB4MDM1MywgMHg2MjYxLCAweDAwNjNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtpbnRlZ2VyOiAx
MjN9LCBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY5MDcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzQ2ZSwgMHg2NzY1LCAweDcyNjUsIDB4MDEzZiwg
MHhmNjQ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDdiMDEsIDB4MDAw
MV0pOwordGVzdFNlcmlhbGl6YXRpb24oe3N0cmluZzogInN0ciJ9LCBbMHgwMWZmLCAweDAwM2Ys
IDB4M2Y2ZiwgMHg1MzAxLCAweDczMDYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDcyNzQsIDB4NmU2OSwgMHgzZjY3LCAweDUzMDEsIDB4NzMwMywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI3NCwgMHgwMTdiXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbih7bGlzdDogWzEsMiwzXX0sIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4
NmMwNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzM2OSwgMHgzZjc0
LCAweDQxMDEsIDB4M2YwMywgMHg0OTAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMHgzZjAyLCAweDQ5MDIsIDB4M2YwNCwgMHg0OTAyLCAweDI0MDYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzMDAsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6
YXRpb24obnVsbCwgWzB4MDFmZiwgMHgwMDNmLCAweDAwMzBdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KC9hYmMvLCBbMHgwMWZmLCAweDAwM2YsIDB4MDM1MiwgMHg2MjYxLCAweDAwNjNdKTsKKwordmFy
IGlubmVyT2JqZWN0ID0ge2hlbGxvOiAidGhlcmUifTsKK3ZhciBvdXRlck9iamVjdCA9IHtpbm5l
cjogaW5uZXJPYmplY3R9Oworb3V0ZXJPYmplY3RbJ291dGVyJ10gPSBpbm5lck9iamVjdDsKK3Rl
c3RTZXJpYWxpemF0aW9uKG91dGVyT2JqZWN0LCBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1
MzAxLCAweDY5MDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmU2ZSwgMHg3
MjY1LCAweDAxM2YsIDB4M2Y2ZiwgMHg1MzAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDY4MDUsIDB4NmM2NSwgMHg2ZjZjLCAweDAyM2YsIDB4MDU1MywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMHg2ODc0LCAweDcyNjUsIDB4N2I2NSwgMHgzZjAxLCAweDUz
MDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmYwNSwgMHg3NDc1LCAweDcy
NjUsIDB4MDIzZiwgMHgwMTVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAy
N2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKGlubmVyT2JqZWN0LCBbMHgwMWZmLCAweDAwM2YsIDB4
M2Y2ZiwgMHg1MzAxLCAweDY4MDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
NmM2NSwgMHg2ZjZjLCAweDAxM2YsIDB4MDU1MywgMHg2ODc0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDcyNjUsIDB4N2I2NSwgMHgwMDAxXSk7Cit0ZXN0U2VyaWFsaXphdGlv
bihmdW5jdGlvbigpe30sIFtdLCBudWxsLCBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL0xh
eW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174253</attachid>
            <date>2012-11-14 13:58:01 -0800</date>
            <delta_ts>2012-11-14 15:45:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96818-20121114135600.patch</filename>
            <type>text/plain</type>
            <size>19622</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAzMTc1OTVkYTg2ZDAy
ODExYWEzZjY3Y2M0OGM1OWYzYjk5ZWQxYi4uYTA0OTc1MzBhMTAyZmJlMjI1NzBjM2I4NTMxMDE1
NmM2NTY4MDlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTExICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSBkaXJlY3QgYWNjZXNzIHRvIHRoZSBzZXJpYWxp
emF0aW9uL2Rlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zCisgICAgICAgIG9mIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSB0byBEdW1wUmVuZGVyVHJlZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNlcmlh
bGl6ZUJ1ZmZlcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0xMS0xMiAg
SHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbUXRd
IFJFR1JFU1NJT04oMTM0MTQyKTogb3ZlcnNjYWxlZCB0aWxlcyBpbiBwaXhlbCB0ZXN0IHJlc3Vs
dHMgYW5kIE1pbmlCcm93c2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGJhYzZhYWEzMjhiN2Fl
NjBlYThlZGVhZWRkMzBkNTg2YjgxY2E3MWMuLjk3YjY2ODllOWEyZWM4ZWMwN2NiZjljOWMyNDg1
MDkxOTVlZDEwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMjUsMTUgKzIyNSwxNiBAQCBf
X1pON1dlYkNvcmUxM0lkZW50aWZpZXJSZXAzZ2V0RWkKIF9fWk43V2ViQ29yZTEzSlNIVE1MRWxl
bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxM0tleWJvYXJkRXZlbnRDMUVSS04zV1RGMTJBdG9t
aWNTdHJpbmdFYmJQTlNfOURPTVdpbmRvd0VSS05TMV82U3RyaW5nRWpiYmJiYgogX19aTjdXZWJD
b3JlMTNLZXlib2FyZEV2ZW50QzFFUktOU18yMVBsYXRmb3JtS2V5Ym9hcmRFdmVudEVQTlNfOURP
TVdpbmRvd0UKK19fWk43V2ViQ29yZTEzUXVhbGlmaWVkTmFtZUQxRXYKIF9fWk43V2ViQ29yZTEz
UmVzb3VyY2VFcnJvckMxRVA3TlNFcnJvcgogX19aTjdXZWJDb3JlMTNSZXNvdXJjZUVycm9yQzFF
UDlfX0NGRXJyb3IKIF9fWk43V2ViQ29yZTEzU3R5bGVkRWxlbWVudDIyc2V0SW5saW5lU3R5bGVQ
cm9wZXJ0eUVOU18xM0NTU1Byb3BlcnR5SURFUktOM1dURjZTdHJpbmdFYgogX19aTjdXZWJDb3Jl
MTNTdHlsZWRFbGVtZW50MjJzZXRJbmxpbmVTdHlsZVByb3BlcnR5RU5TXzEzQ1NTUHJvcGVydHlJ
REVkTlNfMTdDU1NQcmltaXRpdmVWYWx1ZTlVbml0VHlwZXNFYgogX19aTjdXZWJDb3JlMTNjcmVh
dGVXcmFwcGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzRO
b2RlRQogX19aTjdXZWJDb3JlMTNkaXJlY3RvcnlOYW1lRVJLTjNXVEY2U3RyaW5nRQorX19aTjdX
ZWJDb3JlMTN0b0FycmF5QnVmZmVyRU4zSlNDN0pTVmFsdWVFCiBfX1pON1dlYkNvcmUxM3RvSFRN
TEVsZW1lbnRFUE5TXzIxRm9ybUFzc29jaWF0ZWRFbGVtZW50RQogX19aTjdXZWJDb3JlMTN0b0pT
RE9NV2luZG93RU4zSlNDN0pTVmFsdWVFCi1fX1pON1dlYkNvcmUxM1F1YWxpZmllZE5hbWVEMUV2
CiBfX1pON1dlYkNvcmUxNENhY2hlZFJlc291cmNlMTJyZW1vdmVDbGllbnRFUE5TXzIwQ2FjaGVk
UmVzb3VyY2VDbGllbnRFCiBfX1pON1dlYkNvcmUxNENhY2hlZFJlc291cmNlMTZ1bnJlZ2lzdGVy
SGFuZGxlRVBOU18yNENhY2hlZFJlc291cmNlSGFuZGxlQmFzZUUKIF9fWk43V2ViQ29yZTE0Q2Fj
aGVkUmVzb3VyY2U5YWRkQ2xpZW50RVBOU18yMENhY2hlZFJlc291cmNlQ2xpZW50RQpAQCAtMjQ0
LDYgKzI0NSwxMSBAQCBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTBjb21taXREYXRhRVBL
Y20KIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxM2F0dGFjaFRvRnJhbWVFdgogX19aTjdX
ZWJDb3JlMTREb2N1bWVudExvYWRlcjE1ZGV0YWNoRnJvbUZyYW1lRXYKIF9fWk43V2ViQ29yZTE0
RG9jdW1lbnRMb2FkZXIxOGFkZEFyY2hpdmVSZXNvdXJjZUVOM1dURjEwUGFzc1JlZlB0cklOU18x
NUFyY2hpdmVSZXNvdXJjZUVFRQorX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUx
MWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dU
RjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFs
aXphdGlvbkVycm9yTW9kZUUKK19fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNy
ZWF0ZUVQTjNKU0M5RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5TNV82UmVm
UHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5QnVmZmVy
RUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRQorX19aTjdXZWJDb3JlMjFTZXJp
YWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMjFT
ZXJpYWxpemVkU2NyaXB0VmFsdWU4dG9TdHJpbmdFdgorX19aTjdXZWJDb3JlNHRvSlNFUE4zSlND
OUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFycmF5QnVmZmVyRQog
X19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjIxYWRkUGx1Z0luU3RyZWFtTG9hZGVyRVBOU18x
NFJlc291cmNlTG9hZGVyRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjIyYWRkQWxsQXJj
aGl2ZVJlc291cmNlc0VQTlNfN0FyY2hpdmVFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVy
MjJjYW5jZWxNYWluUmVzb3VyY2VMb2FkRVJLTlNfMTNSZXNvdXJjZUVycm9yRQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaAppbmRleCA4
MzJiNWQ0YmY2ZDY1MDM0NTY1OGUxOWRhNzBjODJhZWYwN2JlZWMzLi5kOTRhODY3NTlkMjg5OWRl
OGI2YWQyNzYxNGFhMTU2YWQwZmMzYmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaApAQCAtNzMsNiArNzMsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBjcmVhdGUoSlND
b250ZXh0UmVmLCBKU1ZhbHVlUmVmLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwogCiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5n
Jik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBjcmVhdGVG
cm9tV2lyZShjb25zdCBTdHJpbmcmIHZhbHVlKSB7IHJldHVybiBjcmVhdGUodmFsdWUpOyB9CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBhZG9wdChWZWN0b3I8
dWludDhfdD4mIGJ1ZmZlcikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Vy
aWFsaXplZFNjcmlwdFZhbHVlKGJ1ZmZlcikpOwpAQCAtODQsNiArODUsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBib29sZWFuVmFsdWUo
Ym9vbCB2YWx1ZSk7CiAKICAgICBTdHJpbmcgdG9TdHJpbmcoKTsKKyAgICBTdHJpbmcgdG9XaXJl
U3RyaW5nKCkgeyByZXR1cm4gdG9TdHJpbmcoKTsgfQogICAgIAogICAgIEpTQzo6SlNWYWx1ZSBk
ZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBNZXNzYWdl
UG9ydEFycmF5KiwgU2VyaWFsaXphdGlvbkVycm9yTW9kZSA9IFRocm93aW5nKTsKICAgICBKU1Zh
bHVlUmVmIGRlc2VyaWFsaXplKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBN
ZXNzYWdlUG9ydEFycmF5Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXgg
Y2QxMjBjNjVjNzMyZWIyODMwMWE1MzQ1NmYyYzY3ZjIwYjE2ZjM0YS4uZDRiNTBhNzRhM2JiMjU2
OTA5ZWM3ZDYyYzI0M2RhNTVhMmE5YzE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcApAQCAtNjksNiArNjksNyBAQAogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNlbGVjdFJ1bGVGZWF0
dXJlU2V0LmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVj
a2VyLmgiCkBAIC0xNTExLDQgKzE1MTIsMTYgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BUcmFja2lu
Z1JlcGFpbnRzKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZnJh
bWVWaWV3LT5zZXRUcmFja3NSZXBhaW50cyhmYWxzZSk7CiB9CiAKK1Bhc3NSZWZQdHI8QXJyYXlC
dWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKK3sKKyAgICBTdHJpbmcgc3RyaW5nVmFsdWUgPSB2YWx1
ZS0+dG9XaXJlU3RyaW5nKCk7CisgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGlj
X2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0cmluZ1ZhbHVlLmltcGwoKS0+Y2hhcmFjdGVycygpKSwgc3Ry
aW5nVmFsdWUuc2l6ZUluQnl0ZXMoKSk7Cit9CisKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBJbnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVyKFBhc3NSZWZQdHI8QXJyYXlCdWZm
ZXI+IGJ1ZmZlcikgY29uc3QKK3sKKyAgICBTdHJpbmcgdmFsdWUoc3RhdGljX2Nhc3Q8Y29uc3Qg
VUNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpIC8gc2l6ZW9mKFVD
aGFyKSk7CisgICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUo
dmFsdWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1NDRkMzFl
ODg5NDUwZTU1MWQ3YzhiZDI5MTM2YzdjNzEyYTA0ZWU2Li5iOTQzZmEzZWE0OTE4M2M2NWU2OTBj
NTA3OGM2ZmI2ZjczMDBiNTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIk5vZGVMaXN0Lmgi
CisjaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgpAQCAtNTMsNiArNTQsNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
Y2xhc3MgU2hhZG93Um9vdDsKIGNsYXNzIFdlYktpdFBvaW50OwogY2xhc3MgTWFsbG9jU3RhdGlz
dGljczsKK2NsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAogdHlwZWRlZiBpbnQgRXhjZXB0
aW9uQ29kZTsKIApAQCAtMjQ1LDYgKzI0Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJh
Y2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHN0b3BU
cmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gc2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPikgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IGRlc2VyaWFsaXplQnVmZmVyKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KSBjb25zdDsKKwogcHJp
dmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudCog
Y29udGV4dERvY3VtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggMzA0ZTY0YzhlZWNkMDBmNTMyM2VkYzYyYTBhZWY4ZWY4MzE3YmVkNC4uNmE1MmFkNDMz
MDU2OTViYzAxMGFhZjMxOGVjMTcyMTUyYzQyOWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtMjEzLDQgKzIxMyw3IEBACiAgICAgLy8gIHN0YXJ0VHJhY2tpbmdSZXBh
aW50cywgcmVwYWludFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50cy4KICAgICB2b2lk
IHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01F
eGNlcHRpb24pOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9j
dW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSBkZXNlcmlhbGl6ZUJ1ZmZlcihpbiBBcnJheUJ1ZmZlciBidWZmZXIpOworICAgIEFycmF5QnVm
ZmVyIHNlcmlhbGl6ZU9iamVjdChpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgb2JqKTsKIH07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMWEyZWExZGZiOTdkMDZiZmYwYzkyMGMzZDg2ZjY5ZWZhZDJhMmFjYy4uNzNkYjkxZGMy
MDcwMjQyZmZjYTRiMjM2ZWQ2OGUwNTM2Y2RlOWIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDEyLTExLTE0ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBTZXJpYWxpemVk
U2NyaXB0VmFsdWVzIGFyZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggZnV0dXJlIGNoYW5nZXMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1z
Y3JpcHQtdmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTIgIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENoYW5naW5nIGlkLCBjbGFzc05hbWUs
IG9yIGF0dHJpYnV0ZSBzaG91bGQgaW52YWxpZGF0ZSBkaXN0cmlidXRpb24KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhhNmQ1OGIzODhlMjY1NjRkYWFmMzI0MDU2MjkyMWE3NzcyYjE5MzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFs
aXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI1IEBACisKK0Rlc2Vy
aWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15TmV3S2V5In19OgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7
ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToKK1BBU1MgYnVmZmVyVmlldy5s
ZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIs
ImJhciI6Im15TmV3S2V5In06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5z
dHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byBbXToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShv
YmopCitTZXJpYWxpemUgW106CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5s
ZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28ifToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIn06CitQ
QVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUg
dG8geyJmb28iOm51bGx9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHt9OgorUEFTUyBKU09OLnN0cmlu
Z2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1BBU1MgSlNPTi5zdHJpbmdpZnko
bmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUge306CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdW5kZWZp
bmVkOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikK
K1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVk
Vi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdHJ1ZToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdHJ1ZToKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byBmYWxzZToK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgZmFsc2U6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8gMTA6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIC0xMDoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgLTEwOgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IDEwNzM3NDE4MjQ6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdp
Znkob2JqKQorU2VyaWFsaXplIDEwNzM3NDE4MjQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlz
IGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMzYwMjg3OTcwMTg5NjM5NzA6CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFs
aXplIDM2MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3Rl
ZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDEuMjM6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEuMjM6CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gIiI6CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFs
aXplICIiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvICJhYmMiOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04u
c3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAiYWJjIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGgg
aXMgZXhwZWN0ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImludGVnZXIiOjEyM306CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFs
aXplIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRW
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7InN0cmluZyI6InN0ciJ9OgorUEFTUyBKU09OLnN0
cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7InN0cmlu
ZyI6InN0ciJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsibGlzdCI6WzEsMiwzXX06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsibGlzdCI6WzEsMiwzXX06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8gbnVsbDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgbnVsbDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0
ZWRWLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUge306CitQQVNTIGJ1ZmZlclZp
ZXcubGVuZ3RoIGlzIGV4cGVjdGVkVi5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJpbm5lciI6
eyJoZWxsbyI6InRoZXJlIn0sIm91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiaW5u
ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJoZWxsbyI6InRoZXJlIn19OgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZFYubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsi
aGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImhlbGxvIjoidGhlcmUifToKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRWLmxlbmd0aAorCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFT
UyB0aHJvd25FeGNlcHRpb24uY29kZSBpcyBleHBlY3RlZEV4Y2VwdGlvbgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12
YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3Nl
cmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODk3ZDY4MmVjZWU2ZDhlN2Rj
NDNmODAyZTVkNjc5ODE5YTc0MWZmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1s
CkBAIC0wLDAgKzEsMTUyIEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitmdW5jdGlvbiBl
eHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVyKSB7CisgICAgZXhwZWN0ZWRW
ID0gZXhwZWN0ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9IG5ldyBVaW50MTZBcnJheShidWZm
ZXIpOworICAgIHNob3VsZEJlKCJidWZmZXJWaWV3Lmxlbmd0aCIsICJleHBlY3RlZFYubGVuZ3Ro
Iik7CisgICAgdmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRWLmxl
bmd0aCk7CisgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBl
eHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaWYgKGV4cGVjdGVkVmFs
dWVzW2ldICE9IGJ1ZmZlclZpZXdbaV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJB
cnJheUJ1ZmZlclZpZXdzIGRpZmZlciBhdCBpbmRleCAiICsgaSArICIuIFNob3VsZCBiZSAiICsg
ZXhwZWN0ZWRWYWx1ZXNbaV0gKyAiLiBXYXMgIiArIHZpZXdbaV0pOworICAgICAgICAgICAgICAg
IHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAvLyBvdXRw
dXQgdGhlIGZ1bGwgYnVmZmVyIGZvciBhZGRpbmcgYmFjayBpbnRvIHRoZSB0ZXN0CisgICAgICAg
IHZhciBvdXRwdXQgPSBbXTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlclZpZXcubGVu
Z3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBoZXhWYWwgPSBidWZmZXJWaWV3W2ldLnRvU3Ry
aW5nKDE2KTsKKyAgICAgICAgICAgIGlmIChoZXhWYWwubGVuZ3RoIDwgNCkgeworICAgICAgICAg
ICAgICAgIGhleFZhbCA9ICIwMDAwIi5zbGljZShoZXhWYWwubGVuZ3RoKSArIGhleFZhbDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIG91dHB1dC5wdXNoKCIweCIgKyBoZXhWYWwpOworICAg
ICAgICB9CisgICAgICAgIGRlYnVnKCJBY3R1YWwgYnVmZmVyOiBbIiArIG91dHB1dC5qb2luKCIs
ICIpICsgIl0iKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIG1ha2VCdWZmZXIoc2VyaWFsaXplZFZh
bHVlcykgeworICAgIHZhciBidWZmZXJWaWV3ID0gbmV3IFVpbnQxNkFycmF5KG5ldyBBcnJheUJ1
ZmZlcihzZXJpYWxpemVkVmFsdWVzLmxlbmd0aCAqIDIpKTsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHNlcmlhbGl6ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tp
XSA9IHNlcmlhbGl6ZWRWYWx1ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1
ZmZlcjsKK30KKworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgb2xk
Rm9ybWF0LCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgIGRlYnVnKCIiKTsKKworICAg
IGlmICghc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICAgICAgc2VsZi5vYmogPSBvYmo7
CisgICAgICAgIGRlYnVnKCJEZXNlcmlhbGl6ZSB0byAiICsgSlNPTi5zdHJpbmdpZnkob2JqKSAr
ICI6Iik7CisgICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVmZmVy
KG1ha2VCdWZmZXIodmFsdWVzKSk7CisgICAgICAgIHNob3VsZEJlKCJKU09OLnN0cmluZ2lmeShu
ZXdPYmopIiwgIkpTT04uc3RyaW5naWZ5KG9iaikiKTsKKworICAgICAgICBpZiAob2xkRm9ybWF0
KSB7CisgICAgICAgICAgICBzZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZl
cihtYWtlQnVmZmVyKG9sZEZvcm1hdCkpOworICAgICAgICAgICAgc2hvdWxkQmUoIkpTT04uc3Ry
aW5naWZ5KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnkob2JqKSIpOworICAgICAgICB9CisgICAg
fQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNPTi5zdHJpbmdpZnkob2JqKSArICI6Iik7
CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6ZWQgPSBpbnRlcm5hbHMuc2VyaWFsaXpl
T2JqZWN0KG9iaik7CisgICAgICAgIGlmIChzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgdGhyb3duIGFuIGV4Y2VwdGlvbiBvZiB0
eXBlICIsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgfQorICAgIH0gY2F0Y2go
ZSkgeworICAgICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7CisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJUaHJldyBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2VsZi50aHJvd25FeGNlcHRpb24gPSBl
OworICAgICAgICAgICAgc2VsZi5leHBlY3RlZEV4Y2VwdGlvbiA9IHNlcmlhbGl6ZUV4Y2VwdGlv
blZhbHVlOworICAgICAgICAgICAgc2hvdWxkQmUoInRocm93bkV4Y2VwdGlvbi5jb2RlIiwgImV4
cGVjdGVkRXhjZXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9
CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBzZXJpYWxpemVkKTsKK30KKworLy8gd2Ug
b25seSB0ZXN0IGEgZmV3IGNhc2VzIG9mIHRoZSAib2xkIiBzZXJpYWxpemF0aW9uIGZvcm1hdCBi
ZWNhdXNlCisvLyB0aGF0IGlzIGFsbCB0aGF0IHdhcyBsZWZ0IGFyb3VuZCBmcm9tIHByZXZpb3Vz
IHRlc3RzLiBUaG9zZSB2YWx1ZXMKKy8vIGFyZSBvbmx5IHBlcnNpc3RlZCBvdXQgaW4gdGhlIHdv
cmxkIGluIEluZGV4ZWREQiBzdG9yZXMgdGhhdCB3ZXJlCisvLyB3cml0dGVuIHdpdGggaW1wbGVt
ZW50YXRpb25zIGJ1aWx0IGJlZm9yZSBtaWQtMjAxMS4KK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286
ICd6b28nLCBiYXI6IHtiYXo6ICdteU5ld0tleSd9fSwKKyAgICAgICAgICAgICAgICAgIFsgMHgw
MWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsCisgICAgICAgICAgICAgICAgICAg
IDB4NmY2ZiwgMHgwMTNmLCAweDAzNTMsIDB4NmY3YSwgMHgzZjZmLAorICAgICAgICAgICAgICAg
ICAgICAweDUzMDEsIDB4NjIwMywgMHg3MjYxLCAweDAxM2YsIDB4M2Y2ZiwKKyAgICAgICAgICAg
ICAgICAgICAgMHg1MzAyLCAweDYyMDMsIDB4N2E2MSwgMHgwMjNmLCAweDA4NTMsCisgICAgICAg
ICAgICAgICAgICAgIDB4Nzk2ZCwgMHg2NTRlLCAweDRiNzcsIDB4Nzk2NSwgMHgwMTdiLAorICAg
ICAgICAgICAgICAgICAgICAweDAyN2IgXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6
b28nLCBiYXI6ICdteU5ld0tleSd9LAorICAgICAgICAgICAgICAgICAgWzB4MDFmZiwgMHgwMDNm
LCAweDNmNmYsIDB4NTMwMSwgMHg2NjAzLAorICAgICAgICAgICAgICAgICAgIDB4NmY2ZiwgMHgw
MTNmLCAweDAzNTMsIDB4NmY3YSwgMHgzZjZmLAorICAgICAgICAgICAgICAgICAgIDB4NTMwMSwg
MHg2MjAzLCAweDcyNjEsIDB4MDEzZiwgMHgwODUzLAorICAgICAgICAgICAgICAgICAgIDB4Nzk2
ZCwgMHg2NTRlLCAweDRiNzcsIDB4Nzk2NSwgMHgwMjdiXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9u
KFtdLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA0MSwgMHgwMDI0LCAweDAwMDAgXSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbih7Zm9vOiAiem9vIn0sCisgICAgICAgICAgICAgICAgICBbMHgwMWZmLCAweDAw
M2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsIDB4NmY2ZiwKKyAgICAgICAgICAgICAgICAgICAw
eDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDdiNmYsIDB4MDAwMV0sCisgICAgICAgICAgICAgICAg
ICBbMHgwMzUzLCAweDZmNjYsIDB4NTM2ZiwgMHg3YTAzLCAweDZmNmYsIDB4MDE3Yl0pOwordGVz
dFNlcmlhbGl6YXRpb24oe2ZvbzogbnVsbH0sCisgICAgICAgICAgICAgICAgICBbMHgwMWZmLCAw
eDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsIDB4NmY2ZiwKKyAgICAgICAgICAgICAgICAg
ICAweDAxM2YsIDB4N2IzMCwgMHgwMDAxXSwKKyAgICAgICAgICAgICAgICAgIFsweDAzNTMsIDB4
NmY2NiwgMHgzMDZmLCAweDAxN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHt9LCBbMHgwMWZmLCAw
eDAwM2YsIDB4N2I2ZiwgMHgwMDAwXSwgWzB4MDA3Yl0pOworCit0ZXN0U2VyaWFsaXphdGlvbih1
bmRlZmluZWQsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDVmXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih0
cnVlLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA1NF0pOwordGVzdFNlcmlhbGl6YXRpb24oZmFsc2Us
IFsweDAxZmYsIDB4MDAzZiwgMHgwMDQ2XSk7CisvLyBTcGFyc2UgYXJyYXkgZGVzZXJpYWxpemF0
aW9uIGlzIGJyb2tlbi4KKy8vIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk2ODM4CisvLyB0ZXN0U2VyaWFsaXphdGlvbihuZXcgQXJyYXkoMTAwKSwgWzB4MDFm
ZiwgMHgwMDNmLCAweDY0NjEsIDB4MDA0MCwgMHgwMDY0XSk7Cit0ZXN0U2VyaWFsaXphdGlvbigx
MCwgWzB4MDFmZiwgMHgwMDNmLCAweDE0NDldKTsKK3Rlc3RTZXJpYWxpemF0aW9uKC0xMCwgWzB4
MDFmZiwgMHgwMDNmLCAweDEzNDldKTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsMzAp
LCBbMHgwMWZmLCAweDAwM2YsIDB4ODA0OSwgMHg4MDgwLCAweDA4ODBdKTsKK3Rlc3RTZXJpYWxp
emF0aW9uKE1hdGgucG93KDIsNTUpLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA0ZSwgMHgwMDAwLCAw
eDAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAwMCwgMHgwMDQz
XSk7Cit0ZXN0U2VyaWFsaXphdGlvbigxLjIzLCBbMHgwMWZmLCAweDAwM2YsIDB4YWU0ZSwgMHhl
MTQ3LCAweDE0N2EsIDB4ZjNhZSwgMHgwMDNmXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiIiwgWzB4
MDFmZiwgMHgwMDNmLCAweDAwNTNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKCJhYmMiLCBbMHgwMWZm
LCAweDAwM2YsIDB4MDM1MywgMHg2MjYxLCAweDAwNjNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtp
bnRlZ2VyOiAxMjN9LCBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY5MDcsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzQ2ZSwgMHg2NzY1LCAweDcyNjUs
IDB4MDEzZiwgMHhmNjQ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDdi
MDEsIDB4MDAwMV0pOwordGVzdFNlcmlhbGl6YXRpb24oe3N0cmluZzogInN0ciJ9LCBbMHgwMWZm
LCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDczMDYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDcyNzQsIDB4NmU2OSwgMHgzZjY3LCAweDUzMDEsIDB4NzMwMywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI3NCwgMHgwMTdiXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbih7bGlzdDogWzEsMiwzXX0sIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAw
eDUzMDEsIDB4NmMwNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzM2
OSwgMHgzZjc0LCAweDQxMDEsIDB4M2YwMywgMHg0OTAyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMHgzZjAyLCAweDQ5MDIsIDB4M2YwNCwgMHg0OTAyLCAweDI0MDYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzMDAsIDB4MDE3Yl0pOwordGVz
dFNlcmlhbGl6YXRpb24obnVsbCwgWzB4MDFmZiwgMHgwMDNmLCAweDAwMzBdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKC9hYmMvLCBbMHgwMWZmLCAweDAwM2YsIDB4MDM1MiwgMHg2MjYxLCAweDAwNjNd
KTsKKwordmFyIGlubmVyT2JqZWN0ID0ge2hlbGxvOiAidGhlcmUifTsKK3ZhciBvdXRlck9iamVj
dCA9IHtpbm5lcjogaW5uZXJPYmplY3R9Oworb3V0ZXJPYmplY3RbJ291dGVyJ10gPSBpbm5lck9i
amVjdDsKK3Rlc3RTZXJpYWxpemF0aW9uKG91dGVyT2JqZWN0LCBbMHgwMWZmLCAweDAwM2YsIDB4
M2Y2ZiwgMHg1MzAxLCAweDY5MDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
NmU2ZSwgMHg3MjY1LCAweDAxM2YsIDB4M2Y2ZiwgMHg1MzAyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDY4MDUsIDB4NmM2NSwgMHg2ZjZjLCAweDAyM2YsIDB4MDU1MywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ODc0LCAweDcyNjUsIDB4N2I2NSwgMHgz
ZjAxLCAweDUzMDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmYwNSwgMHg3
NDc1LCAweDcyNjUsIDB4MDIzZiwgMHgwMTVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDAyN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKGlubmVyT2JqZWN0LCBbMHgwMWZmLCAw
eDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY4MDUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4NmM2NSwgMHg2ZjZjLCAweDAxM2YsIDB4MDU1MywgMHg2ODc0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAweDcyNjUsIDB4N2I2NSwgMHgwMDAxXSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbihmdW5jdGlvbigpe30sIFtdLCBudWxsLCBET01FeGNlcHRpb24uREFUQV9DTE9O
RV9FUlIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174272</attachid>
            <date>2012-11-14 15:45:21 -0800</date>
            <delta_ts>2012-11-15 10:11:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96818-20121114154320.patch</filename>
            <type>text/plain</type>
            <size>23785</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAzMTc1OTVkYTg2ZDAy
ODExYWEzZjY3Y2M0OGM1OWYzYjk5ZWQxYi4uZWZkOTY4ZDhhZWY4ZDgzMWE3MDc5Y2NjMjIxMzBh
N2VmMGM1NGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTExICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCisKKyAgICAgICAgRXhwb3NlIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIHNlcmlhbGl6YXRp
b24vZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMKKyAgICAgICAgb2YgU2VyaWFsaXplZFNjcmlw
dFZhbHVlIHRvIER1bXBSZW5kZXJUcmVlLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmRlc2VyaWFsaXpl
QnVmZmVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTExLTEyICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtRdF0gUkVH
UkVTU0lPTigxMzQxNDIpOiBvdmVyc2NhbGVkIHRpbGVzIGluIHBpeGVsIHRlc3QgcmVzdWx0cyBh
bmQgTWluaUJyb3dzZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKaW5kZXggZTU3MzM1MDE1NTU1Mjc5MmM0NTY3YTk2Y2IzMGQ3ZmYyNTgy
Mjg1My4uNDg2MDAwZTI2ZDAyNjk0NzBjOGNmYjMzYTNjNmIzN2ZjMDdjNzE4NyAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTI0
LDkgKzI0LDExIEBAIEVYUE9SVFMKICAgICA/PzBSZWZDb3VudGVkTGVha0NvdW50ZXJAV1RGQEBR
QUVAUEJEQFoKICAgICA/PzBSZWdFeHBPYmplY3RASlNDQEBJQUVAUEFWSlNHbG9iYWxPYmplY3RA
MUBQQVZTdHJ1Y3R1cmVAMUBQQVZSZWdFeHBAMUBAWgogICAgID8/MFNIQTFAV1RGQEBRQUVAWFoK
KyAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0lAWgogICAgID8/MFN0cmluZ09iamVjdEBKU0NA
QElBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/MFN0cnVjdHVy
ZUBKU0NAQEFBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFZKU1ZhbHVl
QDFAQUJWVHlwZUluZm9AMUBQQlVDbGFzc0luZm9AMUBFSEBaCiAgICAgPz8wVGhyZWFkQ29uZGl0
aW9uQFdURkBAUUFFQFhaCisgICAgPz8xU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFB
RUBYWgogICAgID8/MFdURlRocmVhZERhdGFAV1RGQEBRQUVAWFoKICAgICA/PzBZYXJyUGF0dGVy
bkBZYXJyQEpTQ0BAUUFFQEFCVlN0cmluZ0BXVEZAQF9OMVBBUEJEQFoKICAgICA/PzFBcnJheUJ1
ZmZlclZpZXdAV1RGQEBVQUVAWFoKQEAgLTEyNSw2ICsxMjcsOCBAQCBFWFBPUlRTCiAgICAgP2Ny
ZWF0ZUBKU0dsb2JhbERhdGFASlNDQEBTQT9BVj8kUGFzc1JlZlB0ckBWSlNHbG9iYWxEYXRhQEpT
Q0BAQFdURkBAVzRIZWFwVHlwZUAyQEBaCiAgICAgP2NyZWF0ZUBPcGFxdWVKU1N0cmluZ0BAU0E/
QVY/JFBhc3NSZWZQdHJAVU9wYXF1ZUpTU3RyaW5nQEBAV1RGQEBBQlZTdHJpbmdAM0BAWgogICAg
ID9jcmVhdGVAUmVnRXhwQEpTQ0BAU0FQQVYxMkBBQVZKU0dsb2JhbERhdGFAMkBBQlZTdHJpbmdA
V1RGQEBXNFJlZ0V4cEZsYWdzQDJAQFoKKyAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCisgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJl
ZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVm
UHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9k
ZUAyQEBaCiAgICAgP2NyZWF0ZUVtcHR5U3RyaW5nQFNtYWxsU3RyaW5nc0BKU0NAQEFBRVhQQVZK
U0dsb2JhbERhdGFAMkBAWgogICAgID9jcmVhdGVFcnJvckBKU0NAQFlBUEFWSlNPYmplY3RAMUBQ
QVZFeGVjU3RhdGVAMUBBQlZTdHJpbmdAV1RGQEBAWgogICAgID9jcmVhdGVJbnRlcnJ1cHRlZEV4
ZWN1dGlvbkV4Y2VwdGlvbkBKU0NAQFlBUEFWSlNPYmplY3RAMUBQQVZKU0dsb2JhbERhdGFAMUBA
WgpAQCAtMTcwLDYgKzE3NCw3IEBAIEVYUE9SVFMKICAgICA/ZGVsZXRlUHJvcGVydHlCeUluZGV4
QEpTUHJveHlASlNDQEBLQV9OUEFWSlNDZWxsQDJAUEFWRXhlY1N0YXRlQDJASUBaCiAgICAgP2Rl
bGV0ZVRhYmxlQEhhc2hUYWJsZUBKU0NAQFFCRVhYWgogICAgID9kZXNjcmlwdGlvbkBKU1ZhbHVl
QEpTQ0BAUUJFUEFEWFoKKyAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdl
YkNvcmVAQFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVj
dEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAw
QFdURkBAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICA/ZGVzcGVjaWZ5RGljdGlv
bmFyeUZ1bmN0aW9uQFN0cnVjdHVyZUBKU0NAQFFBRVhBQVZKU0dsb2JhbERhdGFAMkBWUHJvcGVy
dHlOYW1lQDJAQFoKICAgICA/ZGVzcGVjaWZ5RnVuY3Rpb25UcmFuc2l0aW9uQFN0cnVjdHVyZUBK
U0NAQFNBUEFWMTJAQUFWSlNHbG9iYWxEYXRhQDJAUEFWMTJAVlByb3BlcnR5TmFtZUAyQEBaCiAg
ICAgP2Rlc3Ryb3lASlNDZWxsQEpTQ0BAS0FYUEFWMTJAQFoKQEAgLTM3NCw2ICszNzksNyBAQCBF
WFBPUlRTCiAgICAgP3RpbWVkV2FpdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVfTkFBVk11dGV4
QDJATkBaCiAgICAgP3Rsc0tleUNvdW50QFdURkBAWUFBQUpYWgogICAgID90bHNLZXlzQFdURkBA
WUFQQUtYWgorICAgID90b0FycmF5QnVmZmVyQFdlYkNvcmVAQFlBUEFWQXJyYXlCdWZmZXJAV1RG
QEBWSlNWYWx1ZUBKU0NAQEBaCiAgICAgP3RvQm9vbGVhbkBKU1N0cmluZ0BKU0NAQFFCRV9OWFoK
ICAgICA/dG9Eb3VibGVATWVkaWFUaW1lQFdURkBAUUJFTlhaIAogICAgID9Ub0V4cG9uZW50aWFs
QERvdWJsZVRvU3RyaW5nQ29udmVydGVyQGRvdWJsZV9jb252ZXJzaW9uQFdURkBAUUJFX05OSFBB
VlN0cmluZ0J1aWxkZXJAMjNAQFoKQEAgLTM4MSwxMiArMzg3LDE0IEBAIEVYUE9SVFMKICAgICA/
dG9GbG9hdEBNZWRpYVRpbWVAV1RGQEBRQkVNWFogCiAgICAgP3RvSW50MzJASlNDQEBZQUhOQFoK
ICAgICA/dG9JbnRlZ2VyQEpTVmFsdWVASlNDQEBRQkVOUEFWRXhlY1N0YXRlQDJAQFoKKyAgICA/
dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUds
b2JhbE9iamVjdEAxQFBBVkFycmF5QnVmZmVyQFdURkBAQFoKICAgICA/dG9OdW1iZXJTbG93Q2Fz
ZUBKU1ZhbHVlQEpTQ0BAQUJFTlBBVkV4ZWNTdGF0ZUAyQEBaCiAgICAgP3RvT2JqZWN0QEpTQ2Vs
bEBKU0NAQFFCRVBBVkpTT2JqZWN0QDJAUEFWRXhlY1N0YXRlQDJAUEFWSlNHbG9iYWxPYmplY3RA
MkBAWgogICAgID90b09iamVjdFNsb3dDYXNlQEpTVmFsdWVASlNDQEBBQkVQQVZKU09iamVjdEAy
QFBBVkV4ZWNTdGF0ZUAyQFBBVkpTR2xvYmFsT2JqZWN0QDJAQFoKICAgICA/VG9QcmVjaXNpb25A
RG91YmxlVG9TdHJpbmdDb252ZXJ0ZXJAZG91YmxlX2NvbnZlcnNpb25AV1RGQEBRQkVfTk5IUEFW
U3RyaW5nQnVpbGRlckAyM0BAWgogICAgID9Ub1Nob3J0ZXN0QERvdWJsZVRvU3RyaW5nQ29udmVy
dGVyQGRvdWJsZV9jb252ZXJzaW9uQFdURkBAUUJFX05OUEFWU3RyaW5nQnVpbGRlckAyM0BAWgog
ICAgID90b1N0cmluZ0BKU09iamVjdEBKU0NAQFFCRVBBVkpTU3RyaW5nQDJAUEFWRXhlY1N0YXRl
QDJAQFoKKyAgICA/dG9TdHJpbmdAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9B
VlN0cmluZ0BXVEZAQFhaCiAgICAgP3RvU3RyaW5nRGVjaW1hbEBEZWNpbWFsTnVtYmVyQFdURkBA
UUJFSVBBRUlAWgogICAgID90b1N0cmluZ0V4cG9uZW50aWFsQERlY2ltYWxOdW1iZXJAV1RGQEBR
QkVJUEFFSUBaCiAgICAgP3RvU3RyaW5nU2xvd0Nhc2VASlNWYWx1ZUBKU0NAQEFCRVBBVkpTU3Ry
aW5nQDJAUEFWRXhlY1N0YXRlQDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYmFjNmFhYTMy
OGI3YWU2MGVhOGVkZWFlZGQzMGQ1ODZiODFjYTcxYy4uOTdiNjY4OWU5YTJlYzhlYzA3Y2JmOWM5
YzI0ODUwOTE5NWVkMTAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTIyNSwxNSArMjI1LDE2
IEBAIF9fWk43V2ViQ29yZTEzSWRlbnRpZmllclJlcDNnZXRFaQogX19aTjdXZWJDb3JlMTNKU0hU
TUxFbGVtZW50NnNfaW5mb0UKIF9fWk43V2ViQ29yZTEzS2V5Ym9hcmRFdmVudEMxRVJLTjNXVEYx
MkF0b21pY1N0cmluZ0ViYlBOU185RE9NV2luZG93RVJLTlMxXzZTdHJpbmdFamJiYmJiCiBfX1pO
N1dlYkNvcmUxM0tleWJvYXJkRXZlbnRDMUVSS05TXzIxUGxhdGZvcm1LZXlib2FyZEV2ZW50RVBO
U185RE9NV2luZG93RQorX19aTjdXZWJDb3JlMTNRdWFsaWZpZWROYW1lRDFFdgogX19aTjdXZWJD
b3JlMTNSZXNvdXJjZUVycm9yQzFFUDdOU0Vycm9yCiBfX1pON1dlYkNvcmUxM1Jlc291cmNlRXJy
b3JDMUVQOV9fQ0ZFcnJvcgogX19aTjdXZWJDb3JlMTNTdHlsZWRFbGVtZW50MjJzZXRJbmxpbmVT
dHlsZVByb3BlcnR5RU5TXzEzQ1NTUHJvcGVydHlJREVSS04zV1RGNlN0cmluZ0ViCiBfX1pON1dl
YkNvcmUxM1N0eWxlZEVsZW1lbnQyMnNldElubGluZVN0eWxlUHJvcGVydHlFTlNfMTNDU1NQcm9w
ZXJ0eUlERWROU18xN0NTU1ByaW1pdGl2ZVZhbHVlOVVuaXRUeXBlc0ViCiBfX1pON1dlYkNvcmUx
M2NyZWF0ZVdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQ
TlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxM2RpcmVjdG9yeU5hbWVFUktOM1dURjZTdHJpbmdFCitf
X1pON1dlYkNvcmUxM3RvQXJyYXlCdWZmZXJFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29yZTEz
dG9IVE1MRWxlbWVudEVQTlNfMjFGb3JtQXNzb2NpYXRlZEVsZW1lbnRFCiBfX1pON1dlYkNvcmUx
M3RvSlNET01XaW5kb3dFTjNKU0M3SlNWYWx1ZUUKLV9fWk43V2ViQ29yZTEzUXVhbGlmaWVkTmFt
ZUQxRXYKIF9fWk43V2ViQ29yZTE0Q2FjaGVkUmVzb3VyY2UxMnJlbW92ZUNsaWVudEVQTlNfMjBD
YWNoZWRSZXNvdXJjZUNsaWVudEUKIF9fWk43V2ViQ29yZTE0Q2FjaGVkUmVzb3VyY2UxNnVucmVn
aXN0ZXJIYW5kbGVFUE5TXzI0Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlRQogX19aTjdXZWJDb3Jl
MTRDYWNoZWRSZXNvdXJjZTlhZGRDbGllbnRFUE5TXzIwQ2FjaGVkUmVzb3VyY2VDbGllbnRFCkBA
IC0yNDQsNiArMjQ1LDExIEBAIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxMGNvbW1pdERh
dGFFUEtjbQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjEzYXR0YWNoVG9GcmFtZUV2CiBf
X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTVkZXRhY2hGcm9tRnJhbWVFdgogX19aTjdXZWJD
b3JlMTREb2N1bWVudExvYWRlcjE4YWRkQXJjaGl2ZVJlc291cmNlRU4zV1RGMTBQYXNzUmVmUHRy
SU5TXzE1QXJjaGl2ZVJlc291cmNlRUVFCitfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RF
UE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFTlNfMjJT
ZXJpYWxpemF0aW9uRXJyb3JNb2RlRQorX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFs
dWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMxXzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1
XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlC
dWZmZXJFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFCitfX1pON1dlYkNvcmUy
MVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNv
cmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTh0b1N0cmluZ0V2CitfX1pON1dlYkNvcmU0dG9KU0VQ
TjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZm
ZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJF
UE5TXzE0UmVzb3VyY2VMb2FkZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRB
bGxBcmNoaXZlUmVzb3VyY2VzRVBOU183QXJjaGl2ZUUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRM
b2FkZXIyMmNhbmNlbE1haW5SZXNvdXJjZUxvYWRFUktOU18xM1Jlc291cmNlRXJyb3JFCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmlu
ZGV4IDgzMmI1ZDRiZjZkNjUwMzQ1NjU4ZTE5ZGE3MGM4MmFlZjA3YmVlYzMuLmQ5NGE4Njc1OWQy
ODk5ZGU4YjZhZDI3NjE0YWExNTZhZDBmYzNiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCkBAIC03Myw2ICs3Myw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNyZWF0
ZShKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNyZWF0ZShjb25zdCBT
dHJpbmcmKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNy
ZWF0ZUZyb21XaXJlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgcmV0dXJuIGNyZWF0ZSh2YWx1ZSk7
IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGFkb3B0KFZl
Y3Rvcjx1aW50OF90PiYgYnVmZmVyKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTZXJpYWxpemVkU2NyaXB0VmFsdWUoYnVmZmVyKSk7CkBAIC04NCw2ICs4NSw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGJvb2xlYW5W
YWx1ZShib29sIHZhbHVlKTsKIAogICAgIFN0cmluZyB0b1N0cmluZygpOworICAgIFN0cmluZyB0
b1dpcmVTdHJpbmcoKSB7IHJldHVybiB0b1N0cmluZygpOyB9CiAgICAgCiAgICAgSlNDOjpKU1Zh
bHVlIGRlc2VyaWFsaXplKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIE1l
c3NhZ2VQb3J0QXJyYXkqLCBTZXJpYWxpemF0aW9uRXJyb3JNb2RlID0gVGhyb3dpbmcpOwogICAg
IEpTVmFsdWVSZWYgZGVzZXJpYWxpemUoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24sIE1lc3NhZ2VQb3J0QXJyYXkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCBjZDEyMGM2NWM3MzJlYjI4MzAxYTUzNDU2ZjJjNjdmMjBiMTZmMzRhLi5kNGI1MGE3NGEz
YmIyNTY5MDllYzdkNjJjMjQzZGE1NWEyYTljMThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VsZWN0UnVs
ZUZlYXR1cmVTZXQuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTcGVs
bENoZWNrZXIuaCIKQEAgLTE1MTEsNCArMTUxMiwxNiBAQCB2b2lkIEludGVybmFsczo6c3RvcFRy
YWNraW5nUmVwYWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAg
ICBmcmFtZVZpZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorUGFzc1JlZlB0cjxB
cnJheUJ1ZmZlcj4gSW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IHZhbHVlKSBjb25zdAoreworICAgIFN0cmluZyBzdHJpbmdWYWx1ZSA9
IHZhbHVlLT50b1dpcmVTdHJpbmcoKTsKKyAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShz
dGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oc3RyaW5nVmFsdWUuaW1wbCgpLT5jaGFyYWN0ZXJzKCkp
LCBzdHJpbmdWYWx1ZS5zaXplSW5CeXRlcygpKTsKK30KKworUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IEludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJh
eUJ1ZmZlcj4gYnVmZmVyKSBjb25zdAoreworICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxj
b25zdCBVQ2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXpl
b2YoVUNoYXIpKTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9t
V2lyZSh2YWx1ZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDU0
NGQzMWU4ODk0NTBlNTUxZDdjOGJkMjkxMzZjN2M3MTJhMDRlZTYuLmI5NDNmYTNlYTQ5MTgzYzY1
ZTY5MGM1MDc4YzZmYjZmNzMwMGI1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCiAjaW5jbHVkZSAiTm9kZUxp
c3QuaCIKKyNpbmNsdWRlIDx3dGYvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CkBAIC01Myw2ICs1NCw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBTaGFkb3dSb290OwogY2xhc3MgV2ViS2l0UG9pbnQ7CiBjbGFzcyBNYWxsb2NT
dGF0aXN0aWNzOworY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCiB0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOwogCkBAIC0yNDUsNiArMjQ3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc3Rh
cnRUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQg
c3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBQ
YXNzUmVmUHRyPEFycmF5QnVmZmVyPiBzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+KSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gZGVzZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4pIGNvbnN0Owor
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3Vt
ZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAppbmRleCAzMDRlNjRjOGVlY2QwMGY1MzIzZWRjNjJhMGFlZjhlZjgzMTdiZWQ0Li42YTUy
YWQ0MzMwNTY5NWJjMDEwYWFmMzE4ZWMxNzIxNTJjNDI5YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCkBAIC0yMTMsNCArMjEzLDcgQEAKICAgICAvLyAgc3RhcnRUcmFja2lu
Z1JlcGFpbnRzLCByZXBhaW50UmVjdHNBc1RleHQsIHN0b3BUcmFja2luZ1JlcGFpbnRzLgogICAg
IHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVu
dCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAgU2VyaWFsaXplZFNjcmlw
dFZhbHVlIGRlc2VyaWFsaXplQnVmZmVyKGluIEFycmF5QnVmZmVyIGJ1ZmZlcik7CisgICAgQXJy
YXlCdWZmZXIgc2VyaWFsaXplT2JqZWN0KGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBvYmopOwog
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxYTJlYTFkZmI5N2QwNmJmZjBjOTIwYzNkODZmNjllZmFkMmEyYWNjLi5mY2M3
YTgzYmJiMTYxYmU3YzJlYmVkNWFiMjM5NDgzYTc2NzE5MDFiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTItMTEtMTQgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBNYWtlIHN1cmUgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlcyBhcmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIGZ1dHVyZSBjaGFuZ2Vz
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQt
c2NyaXB0LXZhbHVlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTEyICBTaGlueWEgS2F3YW5ha2Eg
IDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2luZyBpZCwgY2xhc3NOYW1l
LCBvciBhdHRyaWJ1dGUgc2hvdWxkIGludmFsaWRhdGUgZGlzdHJpYnV0aW9uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1z
Y3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NjNkMGUzY2EwOGY5Nzc1MDFiZGU5MmI4MWIzOTMyOTJmMmRkOWE5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyNSBAQAorCitEZXNl
cmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUg
eyJmb28iOiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7
ImZvbyI6InpvbyIsImJhciI6Im15TmV3S2V5In06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09i
aikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIiwiYmFyIjoi
bXlOZXdLZXkifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1
ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtdOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBbXToKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IHsiZm9vIjoiem9vIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJmb28iOm51
bGx9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8ge306CitQQVNTIEpTT04uc3RyaW5n
aWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorUEFTUyBKU09OLnN0cmluZ2lmeShu
ZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7fToKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXpl
IHRvIHVuZGVmaW5lZDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmlu
Z2lmeShvYmopCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdHJ1ZToKK1BB
U1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxp
emUgdHJ1ZToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMu
bGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIGZhbHNlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBmYWxzZToKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXpl
IHRvIDEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9i
aikKK1NlcmlhbGl6ZSAxMDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZm
ZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIC0xMDoKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgLTEwOgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJp
YWxpemUgdG8gMTA3Mzc0MTgyNDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09O
LnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA3Mzc0MTgyNDoKK1BBU1MgYnVmZmVyVmlldy5s
ZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDM2
MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IDEuMjM6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2Jq
KQorU2VyaWFsaXplIDEuMjM6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVm
ZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAiIjoKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgIiI6CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byAiYWJjIjoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmlu
Z2lmeShvYmopCitTZXJpYWxpemUgImFiYyI6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4
cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImludGVnZXIiOjEy
M306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQor
U2VyaWFsaXplIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsic3RyaW5nIjoic3Ry
In06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQor
U2VyaWFsaXplIHsic3RyaW5nIjoic3RyIn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4
cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7Imxpc3QiOlsxLDIs
M119OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikK
K1NlcmlhbGl6ZSB7Imxpc3QiOlsxLDIsM119OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBl
eHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gbnVsbDoKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUg
bnVsbDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHt9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlz
IEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7fToKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiaW5u
ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJoZWxsbyI6InRoZXJlIn19OgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7
ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwib3V0ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9fToKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIHsiaGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImhlbGxvIjoidGhlcmUifToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIHRocm93bkV4Y2VwdGlvbi5jb2RlIGlzIGV4cGVj
dGVkRXhjZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9z
dG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40OTE2ODE5ZTg0ODY3YzczOWE4MGE4NjdjZmFmNjJhMTdjNzZkZjc0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3Nl
cmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSwxNTIgQEAKKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHNjcmlwdD4KK2Z1bmN0aW9uIGV4cGVjdEJ1ZmZlclZhbHVlKGV4cGVjdGVkVmFsdWVz
LCBidWZmZXIpIHsKKyAgICBleHBlY3RlZEJ1ZmZlclZhbHVlcyA9IGV4cGVjdGVkVmFsdWVzOwor
ICAgIGJ1ZmZlclZpZXcgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgi
YnVmZmVyVmlldy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAg
dmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMu
bGVuZ3RoKTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRW
YWx1ZXNbaV0gIT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkFycmF5QnVmZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIg
KyBleHBlY3RlZFZhbHVlc1tpXSArICIuIFdhcyAiICsgdmlld1tpXSk7CisgICAgICAgICAgICAg
ICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgIC8vIG91
dHB1dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QKKyAgICAg
ICAgdmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5s
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9T
dHJpbmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCA0KSB7CisgICAgICAg
ICAgICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4o
IiwgIikgKyAiXSIpOworICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVk
VmFsdWVzKSB7CisgICAgdmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDE2QXJyYXkobmV3IEFycmF5
QnVmZmVyKHNlcmlhbGl6ZWRWYWx1ZXMubGVuZ3RoICogMikpOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc2VyaWFsaXplZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICBidWZmZXJWaWV3
W2ldID0gc2VyaWFsaXplZFZhbHVlc1tpXTsKKyAgICB9CisgICAgcmV0dXJuIGJ1ZmZlclZpZXcu
YnVmZmVyOworfQorCisKK2Z1bmN0aW9uIHRlc3RTZXJpYWxpemF0aW9uKG9iaiwgdmFsdWVzLCBv
bGRGb3JtYXQsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7CisgICAgZGVidWcoIiIpOworCisg
ICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgICAgICBzZWxmLm9iaiA9IG9i
ajsKKyAgICAgICAgZGVidWcoIkRlc2VyaWFsaXplIHRvICIgKyBKU09OLnN0cmluZ2lmeShvYmop
ICsgIjoiKTsKKyAgICAgICAgc2VsZi5uZXdPYmogPSBpbnRlcm5hbHMuZGVzZXJpYWxpemVCdWZm
ZXIobWFrZUJ1ZmZlcih2YWx1ZXMpKTsKKyAgICAgICAgc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5
KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnkob2JqKSIpOworCisgICAgICAgIGlmIChvbGRGb3Jt
YXQpIHsKKyAgICAgICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVm
ZmVyKG1ha2VCdWZmZXIob2xkRm9ybWF0KSk7CisgICAgICAgICAgICBzaG91bGRCZSgiSlNPTi5z
dHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0cmluZ2lmeShvYmopIik7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBkZWJ1ZygiU2VyaWFsaXplICIgKyBKU09OLnN0cmluZ2lmeShvYmopICsgIjoi
KTsKKyAgICB0cnkgeworICAgICAgICB2YXIgc2VyaWFsaXplZCA9IGludGVybmFscy5zZXJpYWxp
emVPYmplY3Qob2JqKTsKKyAgICAgICAgaWYgKHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7Cisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSB0aHJvd24gYW4gZXhjZXB0aW9uIG9m
IHR5cGUgIiwgc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpOworICAgICAgICB9CisgICAgfSBjYXRj
aChlKSB7CisgICAgICAgIGlmICghc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlRocmV3IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxmLnRocm93bkV4Y2VwdGlvbiA9
IGU7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkRXhjZXB0aW9uID0gc2VyaWFsaXplRXhjZXB0
aW9uVmFsdWU7CisgICAgICAgICAgICBzaG91bGRCZSgidGhyb3duRXhjZXB0aW9uLmNvZGUiLCAi
ZXhwZWN0ZWRFeGNlcHRpb24iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKyAgICBleHBlY3RCdWZmZXJWYWx1ZSh2YWx1ZXMsIHNlcmlhbGl6ZWQpOworfQorCisvLyB3
ZSBvbmx5IHRlc3QgYSBmZXcgY2FzZXMgb2YgdGhlICJvbGQiIHNlcmlhbGl6YXRpb24gZm9ybWF0
IGJlY2F1c2UKKy8vIHRoYXQgaXMgYWxsIHRoYXQgd2FzIGxlZnQgYXJvdW5kIGZyb20gcHJldmlv
dXMgdGVzdHMuIFRob3NlIHZhbHVlcworLy8gYXJlIG9ubHkgcGVyc2lzdGVkIG91dCBpbiB0aGUg
d29ybGQgaW4gSW5kZXhlZERCIHN0b3JlcyB0aGF0IHdlcmUKKy8vIHdyaXR0ZW4gd2l0aCBpbXBs
ZW1lbnRhdGlvbnMgYnVpbHQgYmVmb3JlIG1pZC0yMDExLgordGVzdFNlcmlhbGl6YXRpb24oe2Zv
bzogJ3pvbycsIGJhcjoge2JhejogJ215TmV3S2V5J319LAorICAgICAgICAgICAgICAgICAgWyAw
eDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywKKyAgICAgICAgICAgICAgICAg
ICAgMHg2ZjZmLCAweDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDNmNmYsCisgICAgICAgICAgICAg
ICAgICAgIDB4NTMwMSwgMHg2MjAzLCAweDcyNjEsIDB4MDEzZiwgMHgzZjZmLAorICAgICAgICAg
ICAgICAgICAgICAweDUzMDIsIDB4NjIwMywgMHg3YTYxLCAweDAyM2YsIDB4MDg1MywKKyAgICAg
ICAgICAgICAgICAgICAgMHg3OTZkLCAweDY1NGUsIDB4NGI3NywgMHg3OTY1LCAweDAxN2IsCisg
ICAgICAgICAgICAgICAgICAgIDB4MDI3YiBdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oe2Zvbzog
J3pvbycsIGJhcjogJ215TmV3S2V5J30sCisgICAgICAgICAgICAgICAgICBbMHgwMWZmLCAweDAw
M2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsCisgICAgICAgICAgICAgICAgICAgMHg2ZjZmLCAw
eDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDNmNmYsCisgICAgICAgICAgICAgICAgICAgMHg1MzAx
LCAweDYyMDMsIDB4NzI2MSwgMHgwMTNmLCAweDA4NTMsCisgICAgICAgICAgICAgICAgICAgMHg3
OTZkLCAweDY1NGUsIDB4NGI3NywgMHg3OTY1LCAweDAyN2JdKTsKKwordGVzdFNlcmlhbGl6YXRp
b24oW10sIFsweDAxZmYsIDB4MDAzZiwgMHgwMDQxLCAweDAwMjQsIDB4MDAwMCBdKTsKK3Rlc3RT
ZXJpYWxpemF0aW9uKHtmb286ICJ6b28ifSwKKyAgICAgICAgICAgICAgICAgIFsweDAxZmYsIDB4
MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywgMHg2ZjZmLAorICAgICAgICAgICAgICAgICAg
IDB4MDEzZiwgMHgwMzUzLCAweDZmN2EsIDB4N2I2ZiwgMHgwMDAxXSwKKyAgICAgICAgICAgICAg
ICAgIFsweDAzNTMsIDB4NmY2NiwgMHg1MzZmLCAweDdhMDMsIDB4NmY2ZiwgMHgwMTdiXSk7Cit0
ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiBudWxsfSwKKyAgICAgICAgICAgICAgICAgIFsweDAxZmYs
IDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywgMHg2ZjZmLAorICAgICAgICAgICAgICAg
ICAgIDB4MDEzZiwgMHg3YjMwLCAweDAwMDFdLAorICAgICAgICAgICAgICAgICAgWzB4MDM1Mywg
MHg2ZjY2LCAweDMwNmYsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6YXRpb24oe30sIFsweDAxZmYs
IDB4MDAzZiwgMHg3YjZmLCAweDAwMDBdLCBbMHgwMDdiXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9u
KHVuZGVmaW5lZCwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNWZdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KHRydWUsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDU0XSk7Cit0ZXN0U2VyaWFsaXphdGlvbihmYWxz
ZSwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNDZdKTsKKy8vIFNwYXJzZSBhcnJheSBkZXNlcmlhbGl6
YXRpb24gaXMgYnJva2VuLgorLy8gU2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTY4MzgKKy8vIHRlc3RTZXJpYWxpemF0aW9uKG5ldyBBcnJheSgxMDApLCBbMHgw
MWZmLCAweDAwM2YsIDB4NjQ2MSwgMHgwMDQwLCAweDAwNjRdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KDEwLCBbMHgwMWZmLCAweDAwM2YsIDB4MTQ0OV0pOwordGVzdFNlcmlhbGl6YXRpb24oLTEwLCBb
MHgwMWZmLCAweDAwM2YsIDB4MTM0OV0pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiwz
MCksIFsweDAxZmYsIDB4MDAzZiwgMHg4MDQ5LCAweDgwODAsIDB4MDg4MF0pOwordGVzdFNlcmlh
bGl6YXRpb24oTWF0aC5wb3coMiw1NSksIFsweDAxZmYsIDB4MDAzZiwgMHgwMDRlLCAweDAwMDAs
IDB4MDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MDAwLCAweDAw
NDNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEuMjMsIFsweDAxZmYsIDB4MDAzZiwgMHhhZTRlLCAw
eGUxNDcsIDB4MTQ3YSwgMHhmM2FlLCAweDAwM2ZdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKCIiLCBb
MHgwMWZmLCAweDAwM2YsIDB4MDA1M10pOwordGVzdFNlcmlhbGl6YXRpb24oImFiYyIsIFsweDAx
ZmYsIDB4MDAzZiwgMHgwMzUzLCAweDYyNjEsIDB4MDA2M10pOwordGVzdFNlcmlhbGl6YXRpb24o
e2ludGVnZXI6IDEyM30sIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjkwNywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NDZlLCAweDY3NjUsIDB4NzI2
NSwgMHgwMTNmLCAweGY2NDksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
N2IwMSwgMHgwMDAxXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7c3RyaW5nOiAic3RyIn0sIFsweDAx
ZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NzMwNiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4NzI3NCwgMHg2ZTY5LCAweDNmNjcsIDB4NTMwMSwgMHg3MzAzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3Mjc0LCAweDAxN2JdKTsKK3Rl
c3RTZXJpYWxpemF0aW9uKHtsaXN0OiBbMSwyLDNdfSwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYs
IDB4NTMwMSwgMHg2YzA0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3
MzY5LCAweDNmNzQsIDB4NDEwMSwgMHgzZjAzLCAweDQ5MDIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDNmMDIsIDB4NDkwMiwgMHgzZjA0LCAweDQ5MDIsIDB4MjQwNiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMwMCwgMHgwMTdiXSk7Cit0
ZXN0U2VyaWFsaXphdGlvbihudWxsLCBbMHgwMWZmLCAweDAwM2YsIDB4MDAzMF0pOwordGVzdFNl
cmlhbGl6YXRpb24oL2FiYy8sIFsweDAxZmYsIDB4MDAzZiwgMHgwMzUyLCAweDYyNjEsIDB4MDA2
M10pOworCit2YXIgaW5uZXJPYmplY3QgPSB7aGVsbG86ICJ0aGVyZSJ9OwordmFyIG91dGVyT2Jq
ZWN0ID0ge2lubmVyOiBpbm5lck9iamVjdH07CitvdXRlck9iamVjdFsnb3V0ZXInXSA9IGlubmVy
T2JqZWN0OwordGVzdFNlcmlhbGl6YXRpb24ob3V0ZXJPYmplY3QsIFsweDAxZmYsIDB4MDAzZiwg
MHgzZjZmLCAweDUzMDEsIDB4NjkwNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHg2ZTZlLCAweDcyNjUsIDB4MDEzZiwgMHgzZjZmLCAweDUzMDIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4NjgwNSwgMHg2YzY1LCAweDZmNmMsIDB4MDIzZiwgMHgwNTUzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY4NzQsIDB4NzI2NSwgMHg3YjY1LCAw
eDNmMDEsIDB4NTMwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZjA1LCAw
eDc0NzUsIDB4NzI2NSwgMHgwMjNmLCAweDAxNWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDI3Yl0pOwordGVzdFNlcmlhbGl6YXRpb24oaW5uZXJPYmplY3QsIFsweDAxZmYs
IDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjgwNSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMHg2YzY1LCAweDZmNmMsIDB4MDEzZiwgMHgwNTUzLCAweDY4NzQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI2NSwgMHg3YjY1LCAweDAwMDFdKTsKK3Rlc3RT
ZXJpYWxpemF0aW9uKGZ1bmN0aW9uKCl7fSwgW10sIG51bGwsIERPTUV4Y2VwdGlvbi5EQVRBX0NM
T05FX0VSUik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174479</attachid>
            <date>2012-11-15 10:11:14 -0800</date>
            <delta_ts>2012-11-15 16:10:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96818-20121115100911.patch</filename>
            <type>text/plain</type>
            <size>28762</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2MGY1MGQxODllOGUz
YWY0ZmUzOGY4ZWM3NTAyZTNiMmE2OTc3Mi4uYjYxZWZjNGQyOWZhMWE2ZjU0ZmI0M2IwNDY5Mzk1
YmQzYjJkNDljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTExICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCisKKyAgICAgICAgRXhwb3NlIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIHNlcmlhbGl6YXRp
b24vZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMKKyAgICAgICAgb2YgU2VyaWFsaXplZFNjcmlw
dFZhbHVlIHRvIER1bXBSZW5kZXJUcmVlLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmRlc2VyaWFsaXpl
QnVmZmVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTExLTE1ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIERPTUV4Y2Vw
dGlvbiBuYW1lOiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGFmMjNm
MGVjYTg3MTVhNTgzZTJkZGJiYzU4ZDdhYzY3MGM3NTFmNjUuLjNjODAzOTAyNDdlZTYxZDUxNWVm
YzkxZTViNDQ2YzM1NWJhMTk5NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0x
MS0xNCAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRk
IHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4MTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBleHBvcnRzIGZvciBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgY2hhbmdlcy4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAg
KiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTItMTEtMTUgIEJhbGF6cyBLZWxlbWVuICA8
a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzOiBzdXBw
b3J0IHRoZSAiZnJlZXplIGFuaW1hdGlvbnMiIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBi
YWM2YWFhMzI4YjdhZTYwZWE4ZWRlYWVkZDMwZDU4NmI4MWNhNzFjLi45N2I2Njg5ZTlhMmVjOGVj
MDdjYmY5YzljMjQ4NTA5MTk1ZWQxMDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjI1LDE1
ICsyMjUsMTYgQEAgX19aTjdXZWJDb3JlMTNJZGVudGlmaWVyUmVwM2dldEVpCiBfX1pON1dlYkNv
cmUxM0pTSFRNTEVsZW1lbnQ2c19pbmZvRQogX19aTjdXZWJDb3JlMTNLZXlib2FyZEV2ZW50QzFF
UktOM1dURjEyQXRvbWljU3RyaW5nRWJiUE5TXzlET01XaW5kb3dFUktOUzFfNlN0cmluZ0VqYmJi
YmIKIF9fWk43V2ViQ29yZTEzS2V5Ym9hcmRFdmVudEMxRVJLTlNfMjFQbGF0Zm9ybUtleWJvYXJk
RXZlbnRFUE5TXzlET01XaW5kb3dFCitfX1pON1dlYkNvcmUxM1F1YWxpZmllZE5hbWVEMUV2CiBf
X1pON1dlYkNvcmUxM1Jlc291cmNlRXJyb3JDMUVQN05TRXJyb3IKIF9fWk43V2ViQ29yZTEzUmVz
b3VyY2VFcnJvckMxRVA5X19DRkVycm9yCiBfX1pON1dlYkNvcmUxM1N0eWxlZEVsZW1lbnQyMnNl
dElubGluZVN0eWxlUHJvcGVydHlFTlNfMTNDU1NQcm9wZXJ0eUlERVJLTjNXVEY2U3RyaW5nRWIK
IF9fWk43V2ViQ29yZTEzU3R5bGVkRWxlbWVudDIyc2V0SW5saW5lU3R5bGVQcm9wZXJ0eUVOU18x
M0NTU1Byb3BlcnR5SURFZE5TXzE3Q1NTUHJpbWl0aXZlVmFsdWU5VW5pdFR5cGVzRWIKIF9fWk43
V2ViQ29yZTEzY3JlYXRlV3JhcHBlckVQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFs
T2JqZWN0RVBOU180Tm9kZUUKIF9fWk43V2ViQ29yZTEzZGlyZWN0b3J5TmFtZUVSS04zV1RGNlN0
cmluZ0UKK19fWk43V2ViQ29yZTEzdG9BcnJheUJ1ZmZlckVOM0pTQzdKU1ZhbHVlRQogX19aTjdX
ZWJDb3JlMTN0b0hUTUxFbGVtZW50RVBOU18yMUZvcm1Bc3NvY2lhdGVkRWxlbWVudEUKIF9fWk43
V2ViQ29yZTEzdG9KU0RPTVdpbmRvd0VOM0pTQzdKU1ZhbHVlRQotX19aTjdXZWJDb3JlMTNRdWFs
aWZpZWROYW1lRDFFdgogX19aTjdXZWJDb3JlMTRDYWNoZWRSZXNvdXJjZTEycmVtb3ZlQ2xpZW50
RVBOU18yMENhY2hlZFJlc291cmNlQ2xpZW50RQogX19aTjdXZWJDb3JlMTRDYWNoZWRSZXNvdXJj
ZTE2dW5yZWdpc3RlckhhbmRsZUVQTlNfMjRDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2VFCiBfX1pO
N1dlYkNvcmUxNENhY2hlZFJlc291cmNlOWFkZENsaWVudEVQTlNfMjBDYWNoZWRSZXNvdXJjZUNs
aWVudEUKQEAgLTI0NCw2ICsyNDUsMTEgQEAgX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjEw
Y29tbWl0RGF0YUVQS2NtCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTNhdHRhY2hUb0Zy
YW1lRXYKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNWRldGFjaEZyb21GcmFtZUV2CiBf
X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMThhZGRBcmNoaXZlUmVzb3VyY2VFTjNXVEYxMFBh
c3NSZWZQdHJJTlNfMTVBcmNoaXZlUmVzb3VyY2VFRUUKK19fWk43V2ViQ29yZTIxU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2Jh
bE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFF
RUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFCitfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZl
Y3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVf
MTFBcnJheUJ1ZmZlckVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKK19fWk43
V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVSS04zV1RGNlN0cmluZ0UKK19f
Wk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlOHRvU3RyaW5nRXYKK19fWk43V2ViQ29y
ZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RGMTFB
cnJheUJ1ZmZlckUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIyMWFkZFBsdWdJblN0cmVh
bUxvYWRlckVQTlNfMTRSZXNvdXJjZUxvYWRlckUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2Fk
ZXIyMmFkZEFsbEFyY2hpdmVSZXNvdXJjZXNFUE5TXzdBcmNoaXZlRQogX19aTjdXZWJDb3JlMTRE
b2N1bWVudExvYWRlcjIyY2FuY2VsTWFpblJlc291cmNlTG9hZEVSS05TXzEzUmVzb3VyY2VFcnJv
ckUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmgKaW5kZXggODMyYjVkNGJmNmQ2NTAzNDU2NThlMTlkYTcwYzgyYWVmMDdiZWVjMy4uZDk0
YTg2NzU5ZDI4OTlkZThiNmFkMjc2MTRhYTE1NmFkMGZjM2JmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgKQEAgLTczLDYgKzcz
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gY3JlYXRlKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZiwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRl
KGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gY3JlYXRlRnJvbVdpcmUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByZXR1cm4gY3JlYXRl
KHZhbHVlKTsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
YWRvcHQoVmVjdG9yPHVpbnQ4X3Q+JiBidWZmZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZShidWZmZXIpKTsKQEAgLTg0LDYgKzg1LDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
Ym9vbGVhblZhbHVlKGJvb2wgdmFsdWUpOwogCiAgICAgU3RyaW5nIHRvU3RyaW5nKCk7CisgICAg
U3RyaW5nIHRvV2lyZVN0cmluZygpIHsgcmV0dXJuIHRvU3RyaW5nKCk7IH0KICAgICAKICAgICBK
U0M6OkpTVmFsdWUgZGVzZXJpYWxpemUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgTWVzc2FnZVBvcnRBcnJheSosIFNlcmlhbGl6YXRpb25FcnJvck1vZGUgPSBUaHJvd2lu
Zyk7CiAgICAgSlNWYWx1ZVJlZiBkZXNlcmlhbGl6ZShKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbiwgTWVzc2FnZVBvcnRBcnJheSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IDAxNWI3MWY4NjE0YmQ0ZGY5ZGJhMDVlNjJiNjVmZTM3ZWVjYzExM2EuLmM0
MDIxYzk0OTc1NzQ1YmI3YjJhODgyNDZhYjNjMTU1M2U1ZjE1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlICJSdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJT
ZWxlY3RSdWxlRmVhdHVyZVNldC5oIgorI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1
ZGUgIlNwZWxsQ2hlY2tlci5oIgpAQCAtMTUzOSw0ICsxNTQwLDE2IEBAIHZvaWQgSW50ZXJuYWxz
OjpzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIGZyYW1lVmlldy0+c2V0VHJhY2tzUmVwYWludHMoZmFsc2UpOwogfQogCitQYXNz
UmVmUHRyPEFycmF5QnVmZmVyPiBJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVjdChQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUpIGNvbnN0Cit7CisgICAgU3RyaW5nIHN0cmlu
Z1ZhbHVlID0gdmFsdWUtPnRvV2lyZVN0cmluZygpOworICAgIHJldHVybiBBcnJheUJ1ZmZlcjo6
Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihzdHJpbmdWYWx1ZS5pbXBsKCktPmNoYXJh
Y3RlcnMoKSksIHN0cmluZ1ZhbHVlLnNpemVJbkJ5dGVzKCkpOworfQorCitQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSW50ZXJuYWxzOjpkZXNlcmlhbGl6ZUJ1ZmZlcihQYXNzUmVm
UHRyPEFycmF5QnVmZmVyPiBidWZmZXIpIGNvbnN0Cit7CisgICAgU3RyaW5nIHZhbHVlKHN0YXRp
Y19jYXN0PGNvbnN0IFVDaGFyKj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPmJ5dGVMZW5ndGgo
KSAvIHNpemVvZihVQ2hhcikpOworICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZUZyb21XaXJlKHZhbHVlKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggMDRjNDhiNTQ0N2NmN2I1NTg2OWZiZmMyNjlkNTAzODEwNmE0NTA0My4uYmZmOTNkMGE4
NGVhNzgxYjFhZmUzMmQ4YjAxMDdjMTczOTdkODhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRl
ICJOb2RlTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTUzLDYgKzU0LDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFNoYWRvd1Jvb3Q7CiBjbGFzcyBXZWJLaXRQb2ludDsKIGNsYXNz
IE1hbGxvY1N0YXRpc3RpY3M7CitjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKIHR5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKQEAgLTI0Niw2ICsyNDgsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsK
IAorICAgIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IHNlcmlhbGl6ZU9iamVjdChQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pIGNvbnN0OworICAgIFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBkZXNlcmlhbGl6ZUJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPikg
Y29uc3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7CiAg
ICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCmluZGV4IGQxNjUxNzQzZTMyZjk1OGMxZWExYmEyOTNlZmZiNzE3NmIxMjU5
Y2IuLmU0ZGQyMWU2ZjY3ODA1NTIyYTEwYmE2NDJkZmYyMjdhMjJhMjMxOGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIxNCw0ICsyMTQsNyBAQAogICAgIC8vICBzdGFy
dFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRSZWN0c0FzVGV4dCwgc3RvcFRyYWNraW5nUmVwYWlu
dHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICBTZXJpYWxp
emVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemVCdWZmZXIoaW4gQXJyYXlCdWZmZXIgYnVmZmVyKTsK
KyAgICBBcnJheUJ1ZmZlciBzZXJpYWxpemVPYmplY3QoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
IG9iaik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDA3NWNkOGQ0MDA3NWU1MDBiMDU4
ZTAwOGFjMTdkMGU4MDA5ZWVhOTQuLmJjNzU1ZWU2ODE4OWM4ZGYxZTQyNzlhMjBkMjZlZjZkYjUx
ZGI0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE1NSw2ICsxNTUsOCBAQCBFWFBPUlRT
CiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgogICAgICAgICA/PzBT
dHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dAWgor
ICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0lAWgorICAgICAgICA/PzFTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94
UmVjdEBSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQF9OQFoKICAgICAgICAg
P2Fic29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1zQFJlbmRlck9iamVjdEBX
ZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAWFoKICAgICAgICAgP2Rlc2NyaXB0aW9uQERvY3VtZW50
TWFya2VyQFdlYkNvcmVAQFFCRUFCVlN0cmluZ0BXVEZAQFhaCkBAIC0xNjUsOCArMTY3LDExIEBA
IEVYUE9SVFMKICAgICAgICAgP2NoaWxkSXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29y
ZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVu
dEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBX
ZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2Vi
Q29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQ
dHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRA
SDFIQFoKKyAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZT
dHJpbmdANEBAWgorICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZA
QFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNz
YWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5
QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAg
ICAgICAgP2NyZWF0ZUBTaGFkb3dSb290QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFk
b3dSb290QFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBBQUhAWgogICAgICAgICA/Y3JlYXRl
V3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RP
TUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgorICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFs
aXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVA
NEBQQVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRA
V2ViQ29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAg
ICAgICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JA
VlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgogICAgICAgICA/ZW5zdXJlU2VsZWN0RmVhdHVyZVNl
dENvbGxlY3RlZEBFbGVtZW50U2hhZG93QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/ZXF1YWxA
V1RGQEBZQV9OUEJWU3RyaW5nSW1wbEAxQFBCRUBaCkBAIC0yNTUsMTQgKzI2MCwxNyBAQCBFWFBP
UlRTCiAgICAgICAgID90ZXh0QFJhbmdlQFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BXVEZAQFhaCiAg
ICAgICAgID90ZXh0Q29udGVudEBOb2RlQFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BXVEZAQF9OQFoK
ICAgICAgICAgP3RvRG9jdW1lbnRAV2ViQ29yZUBAWUFQQVZEb2N1bWVudEAxQFZKU1ZhbHVlQEpT
Q0BAQFoKKyAgICAgICAgP3RvQXJyYXlCdWZmZXJAV2ViQ29yZUBAWUFQQVZBcnJheUJ1ZmZlckBX
VEZAQFZKU1ZhbHVlQEpTQ0BAQFoKICAgICAgICAgP3RvRE9NU3RyaW5nTGlzdEBXZWJDb3JlQEBZ
QT9BVj8kUGFzc1JlZlB0ckBWRE9NU3RyaW5nTGlzdEBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA1QEBaCiAgICAgICAgID90b0VsZW1lbnRAV2ViQ29yZUBAWUFQQVZF
bGVtZW50QDFAVkpTVmFsdWVASlNDQEBAWgorICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpT
VmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVkFycmF5
QnVmZmVyQFdURkBAQFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZDbGllbnRSZWN0QDFAQFoK
ICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNA
UEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZDbGllbnRSZWN0TGlzdEAxQEBaCiAgICAgICAgID90
b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xv
YmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNW
YWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWUmFuZ2VA
MUBAWgogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3Rh
dGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVMaXN0QDFAQFoKICAgICAgICAgP3Rv
UmFuZ2VAV2ViQ29yZUBAWUFQQVZSYW5nZUAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP3Rv
U3RyaW5nQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBRQUU/QVZTdHJpbmdAV1RGQEBY
WgogICAgICAgICA/dHJlZVNjb3BlQE5vZGVAV2ViQ29yZUBAUUJFUEFWVHJlZVNjb3BlQDJAWFoK
ICAgICAgICAgP3VwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0BEb2N1bWVudEBX
ZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP3VzZXJQcmVmZXJyZWRMYW5ndWFnZXNAV2ViQ29yZUBA
WUE/QVY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0MkNGTGl0ZS5kZWYKaW5kZXggZjJkZTEzMzk2MjQ4NDIyZTY2ZDM0MTBkNWJjMzhkZDAzZjVm
OTVmMi4uOTc3MGUyMzU0ZmNmYWU5MzI4MDljYTkzNGVkZjFhMzRiMmZjZDhlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTQ4LDYgKzE0OCw4IEBAIEVYUE9SVFMKICAg
ICAgICAgPz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAgID8/MFN0cmlu
Z0BXVEZAQFFBRUBQQkRAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0BaCisgICAg
ICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XSUBaCisgICAgICAgID8/MVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBRQUVAWFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0
QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgogICAgICAgICA/YWJz
b2x1dGVCb3VuZGluZ0JveFJlY3RJZ25vcmluZ1RyYW5zZm9ybXNAUmVuZGVyT2JqZWN0QFdlYkNv
cmVAQFFCRT9BVkludFJlY3RAMkBYWgogCT9kZXNjcmlwdGlvbkBEb2N1bWVudE1hcmtlckBXZWJD
b3JlQEBRQkVBQlZTdHJpbmdAV1RGQEBYWgpAQCAtMTU4LDggKzE2MCwxMSBAQCBFWFBPUlRTCiAg
ICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEy
QEFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdl
YkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdU
RkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVu
dEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCisgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoK
KyAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZA
QEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9jcmVh
dGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJD
b3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2Vi
Q29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmpl
Y3RAMUBQQVZOb2RlQDFAQFoKKyAgICAgICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBRQUU/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9i
YWxPYmplY3RANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBX
VEZAQCQwMEBXVEZAQFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1
bWVudFN0YXRlQEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RG
QEAkMEFAQFdURkBAWFoKICAgICAgICAgP2Vuc3VyZVNlbGVjdEZlYXR1cmVTZXRDb2xsZWN0ZWRA
RWxlbWVudFNoYWRvd0BXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP2VxdWFsQFdURkBAWUFfTlBC
VlN0cmluZ0ltcGxAMUBQQkVAWgpAQCAtMjQ4LDE0ICsyNTMsMTkgQEAgRVhQT1JUUwogICAgICAg
ICA/dGV4dEBSYW5nZUBXZWJDb3JlQEBRQkU/QVZTdHJpbmdAV1RGQEBYWgogICAgICAgICA/dGV4
dENvbnRlbnRATm9kZUBXZWJDb3JlQEBRQkU/QVZTdHJpbmdAV1RGQEBfTkBaCiAgICAgICAgID90
b0RvY3VtZW50QFdlYkNvcmVAQFlBUEFWRG9jdW1lbnRAMUBWSlNWYWx1ZUBKU0NAQEBaCisgICAg
ICAgID90b0FycmF5QnVmZmVyQFdlYkNvcmVAQFlBUEFWQXJyYXlCdWZmZXJAV1RGQEBWSlNWYWx1
ZUBKU0NAQEBaCiAgICAgICAgID90b0RPTVN0cmluZ0xpc3RAV2ViQ29yZUBAWUE/QVY/JFBhc3NS
ZWZQdHJAVkRPTVN0cmluZ0xpc3RAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpT
VmFsdWVANUBAWgorICAgICAgICA/dG9BcnJheUJ1ZmZlckBXZWJDb3JlQEBZQVBBVkFycmF5QnVm
ZmVyQFdURkBAVkpTVmFsdWVASlNDQEBAWgorICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3JlQEBZ
QVBBVkRvY3VtZW50QDFAVkpTVmFsdWVASlNDQEBAWgogICAgICAgICA/dG9FbGVtZW50QFdlYkNv
cmVAQFlBUEFWRWxlbWVudEAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP3RvSlNAV2ViQ29y
ZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RA
MUBQQVZBcnJheUJ1ZmZlckBXVEZAQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNW
YWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWQ2xpZW50
UmVjdEAxQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4
ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWQ2xpZW50UmVjdExpc3RAMUBAWgog
ICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQ
QVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAgICAgICA/dG9KU0BXZWJDb3Jl
QEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAx
QFBBVlJhbmdlQDFAQFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlTGlzdEAxQEBaCiAg
ICAgICAgID90b1JhbmdlQFdlYkNvcmVAQFlBUEFWUmFuZ2VAMUBWSlNWYWx1ZUBKU0NAQEBaCisg
ICAgICAgID90b1N0cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWU3Ry
aW5nQFdURkBAWFoKICAgICAgICAgP3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVT
Y29wZUAyQFhaCiAgICAgICAgID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNA
RG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2Vz
QFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0t
Z2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKaW5kZXggOTRkNDZjYzc4NzljODZjM2VmYmUyZWExZjQzMTEyM2Q3MWQz
Mjk1Yi4uZjgwMjlmMjIzMTAzOGI3ZWViYWZjMGNiOWI4MGE0NGFkMzg3MmIzNSAxMDA2NDQKLS0t
IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyCkBAIC0yMTAsNiArMjEwLDEzIEBAIF9aVFZON1dlYkNvcmUyOEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWw4U2V0dGluZ3NFOwogX1pOSzdXZWJDb3JlNUZyYW1lMTVs
YXllclRyZWVBc1RleHRFajsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE3c2V0VHJhY2tzUmVwYWlu
dHNFYjsKIF9aTks3V2ViQ29yZTVGcmFtZTI1dHJhY2tlZFJlcGFpbnRSZWN0c0FzVGV4dEV2Owor
X1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0
RVBOM1dURjExQXJyYXlCdWZmZXJFOworX1pON1dlYkNvcmUxM3RvQXJyYXlCdWZmZXJFTjNKU0M3
SlNWYWx1ZUU7CitfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVQTjNK
U0M5RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5TNV82UmVmdHJJTlNfMTFN
ZXNzYWdlUG9ydEVFRUxtMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVO
U18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTZjcmVhdGVFUktOM1dURjZTdHJpbmdFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTh0b1N0cmluZ0V2OworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4z
V1RGNmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlh
bGl6YXRpb25FcnJvck1vZGVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUQx
RXY7CiAKIGxvY2FsOgogX1oqOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNhZGM3NmQyMmZjZTYyMjk1Yjg0YWEwNDk0Zjli
ZDc5ZmJmNTk3M2IuLmQ3OGUyYzVhYzNmN2Y4ZGQ1YmQ4M2UyYTY2NjdlNzJmYWY2YTcwYWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNCAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0
aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIE1h
a2Ugc3VyZSBTZXJpYWxpemVkU2NyaXB0VmFsdWVzIGFyZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdp
dGggZnV0dXJlIGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0
b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLnR4dDog
QWRkZWQuCisKIDIwMTItMTEtMTUgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVcGRhdGUgRE9NRXhjZXB0aW9uIG5hbWU6IE5vTW9kaWZpY2F0aW9uQWxsb3dl
ZEVycm9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0
b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjNkMGUzY2EwOGY5Nzc1MDFiZGU5MmI4MWIzOTMyOTJm
MmRkOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEyNSBAQAorCitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJt
eU5ld0tleSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6Im15TmV3S2V5In06CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsi
Zm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtdOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBb
XToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyJ9OgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJp
YWxpemUgdG8geyJmb28iOm51bGx9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpT
T04uc3RyaW5naWZ5KG9iaikKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0
cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZmZXJWaWV3Lmxl
bmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8ge306
CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorUEFT
UyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6
ZSB7fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHVuZGVmaW5lZDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJp
YWxpemUgdG8gdHJ1ZToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmlu
Z2lmeShvYmopCitTZXJpYWxpemUgdHJ1ZToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIGZhbHNlOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBm
YWxzZToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIDEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlz
IEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxMDoKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIC0xMDoK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgLTEwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVl
cy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMTA3Mzc0MTgyNDoKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA3Mzc0MTgyNDoK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIDM2MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBKU09OLnN0cmluZ2lmeShu
ZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAzNjAyODc5NzAxODk2Mzk3
MDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIDEuMjM6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMg
SlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEuMjM6CitQQVNTIGJ1ZmZlclZpZXcubGVu
Z3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAiIjoK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgIiI6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVz
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAiYWJjIjoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgImFiYyI6CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byB7ImludGVnZXIiOjEyM306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXpl
IHRvIHsic3RyaW5nIjoic3RyIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsic3RyaW5nIjoic3RyIn06CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byB7Imxpc3QiOlsxLDIsM119OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpT
T04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7Imxpc3QiOlsxLDIsM119OgorUEFTUyBidWZm
ZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8gbnVsbDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgbnVsbDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0
ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHt9OgorUEFTUyBKU09OLnN0
cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7fToKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJoZWxsbyI6
InRoZXJlIn19OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwib3V0ZXIiOnsiaGVs
bG8iOiJ0aGVyZSJ9fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJW
YWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiaGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7
ImhlbGxvIjoidGhlcmUifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZm
ZXJWYWx1ZXMubGVuZ3RoCisKK1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIHRocm93bkV4Y2Vw
dGlvbi5jb2RlIGlzIGV4cGVjdGVkRXhjZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3Jp
cHQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTE2ODE5ZTg0ODY3YzczOWE4MGE4NjdjZmFmNjJh
MTdjNzZkZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSwx
NTIgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK2Z1bmN0aW9uIGV4cGVjdEJ1ZmZlclZh
bHVlKGV4cGVjdGVkVmFsdWVzLCBidWZmZXIpIHsKKyAgICBleHBlY3RlZEJ1ZmZlclZhbHVlcyA9
IGV4cGVjdGVkVmFsdWVzOworICAgIGJ1ZmZlclZpZXcgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVy
KTsKKyAgICBzaG91bGRCZSgiYnVmZmVyVmlldy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1
ZXMubGVuZ3RoIik7CisgICAgdmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoKTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAg
ICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNbaV0gIT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkFycmF5QnVmZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBp
ICsgIi4gU2hvdWxkIGJlICIgKyBleHBlY3RlZFZhbHVlc1tpXSArICIuIFdhcyAiICsgdmlld1tp
XSk7CisgICAgICAgICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNz
KSB7CisgICAgICAgIC8vIG91dHB1dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGlu
dG8gdGhlIHRlc3QKKyAgICAgICAgdmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAw
OyBpIDwgYnVmZmVyVmlldy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9
IGJ1ZmZlclZpZXdbaV0udG9TdHJpbmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5n
dGggPCA0KSB7CisgICAgICAgICAgICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhleFZhbC5s
ZW5ndGgpICsgaGV4VmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgb3V0cHV0LnB1c2go
IjB4IiArIGhleFZhbCk7CisgICAgICAgIH0KKyAgICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6
IFsiICsgb3V0cHV0LmpvaW4oIiwgIikgKyAiXSIpOworICAgIH0KK30KKworZnVuY3Rpb24gbWFr
ZUJ1ZmZlcihzZXJpYWxpemVkVmFsdWVzKSB7CisgICAgdmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWlu
dDE2QXJyYXkobmV3IEFycmF5QnVmZmVyKHNlcmlhbGl6ZWRWYWx1ZXMubGVuZ3RoICogMikpOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWFsaXplZFZhbHVlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICBidWZmZXJWaWV3W2ldID0gc2VyaWFsaXplZFZhbHVlc1tpXTsKKyAgICB9CisgICAg
cmV0dXJuIGJ1ZmZlclZpZXcuYnVmZmVyOworfQorCisKK2Z1bmN0aW9uIHRlc3RTZXJpYWxpemF0
aW9uKG9iaiwgdmFsdWVzLCBvbGRGb3JtYXQsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7Cisg
ICAgZGVidWcoIiIpOworCisgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAg
ICAgICBzZWxmLm9iaiA9IG9iajsKKyAgICAgICAgZGVidWcoIkRlc2VyaWFsaXplIHRvICIgKyBK
U09OLnN0cmluZ2lmeShvYmopICsgIjoiKTsKKyAgICAgICAgc2VsZi5uZXdPYmogPSBpbnRlcm5h
bHMuZGVzZXJpYWxpemVCdWZmZXIobWFrZUJ1ZmZlcih2YWx1ZXMpKTsKKyAgICAgICAgc2hvdWxk
QmUoIkpTT04uc3RyaW5naWZ5KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnkob2JqKSIpOworCisg
ICAgICAgIGlmIChvbGRGb3JtYXQpIHsKKyAgICAgICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJu
YWxzLmRlc2VyaWFsaXplQnVmZmVyKG1ha2VCdWZmZXIob2xkRm9ybWF0KSk7CisgICAgICAgICAg
ICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0cmluZ2lmeShvYmop
Iik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBkZWJ1ZygiU2VyaWFsaXplICIgKyBKU09OLnN0
cmluZ2lmeShvYmopICsgIjoiKTsKKyAgICB0cnkgeworICAgICAgICB2YXIgc2VyaWFsaXplZCA9
IGludGVybmFscy5zZXJpYWxpemVPYmplY3Qob2JqKTsKKyAgICAgICAgaWYgKHNlcmlhbGl6ZUV4
Y2VwdGlvblZhbHVlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSB0aHJv
d24gYW4gZXhjZXB0aW9uIG9mIHR5cGUgIiwgc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpOworICAg
ICAgICB9CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGlmICghc2VyaWFsaXplRXhjZXB0aW9u
VmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRocmV3IGV4Y2VwdGlvbiAiICsgZSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxm
LnRocm93bkV4Y2VwdGlvbiA9IGU7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkRXhjZXB0aW9u
ID0gc2VyaWFsaXplRXhjZXB0aW9uVmFsdWU7CisgICAgICAgICAgICBzaG91bGRCZSgidGhyb3du
RXhjZXB0aW9uLmNvZGUiLCAiZXhwZWN0ZWRFeGNlcHRpb24iKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgIH0KKyAgICBleHBlY3RCdWZmZXJWYWx1ZSh2YWx1ZXMsIHNlcmlh
bGl6ZWQpOworfQorCisvLyB3ZSBvbmx5IHRlc3QgYSBmZXcgY2FzZXMgb2YgdGhlICJvbGQiIHNl
cmlhbGl6YXRpb24gZm9ybWF0IGJlY2F1c2UKKy8vIHRoYXQgaXMgYWxsIHRoYXQgd2FzIGxlZnQg
YXJvdW5kIGZyb20gcHJldmlvdXMgdGVzdHMuIFRob3NlIHZhbHVlcworLy8gYXJlIG9ubHkgcGVy
c2lzdGVkIG91dCBpbiB0aGUgd29ybGQgaW4gSW5kZXhlZERCIHN0b3JlcyB0aGF0IHdlcmUKKy8v
IHdyaXR0ZW4gd2l0aCBpbXBsZW1lbnRhdGlvbnMgYnVpbHQgYmVmb3JlIG1pZC0yMDExLgordGVz
dFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjoge2JhejogJ215TmV3S2V5J319LAorICAg
ICAgICAgICAgICAgICAgWyAweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywK
KyAgICAgICAgICAgICAgICAgICAgMHg2ZjZmLCAweDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDNm
NmYsCisgICAgICAgICAgICAgICAgICAgIDB4NTMwMSwgMHg2MjAzLCAweDcyNjEsIDB4MDEzZiwg
MHgzZjZmLAorICAgICAgICAgICAgICAgICAgICAweDUzMDIsIDB4NjIwMywgMHg3YTYxLCAweDAy
M2YsIDB4MDg1MywKKyAgICAgICAgICAgICAgICAgICAgMHg3OTZkLCAweDY1NGUsIDB4NGI3Nywg
MHg3OTY1LCAweDAxN2IsCisgICAgICAgICAgICAgICAgICAgIDB4MDI3YiBdKTsKKwordGVzdFNl
cmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjogJ215TmV3S2V5J30sCisgICAgICAgICAgICAg
ICAgICBbMHgwMWZmLCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDY2MDMsCisgICAgICAgICAg
ICAgICAgICAgMHg2ZjZmLCAweDAxM2YsIDB4MDM1MywgMHg2ZjdhLCAweDNmNmYsCisgICAgICAg
ICAgICAgICAgICAgMHg1MzAxLCAweDYyMDMsIDB4NzI2MSwgMHgwMTNmLCAweDA4NTMsCisgICAg
ICAgICAgICAgICAgICAgMHg3OTZkLCAweDY1NGUsIDB4NGI3NywgMHg3OTY1LCAweDAyN2JdKTsK
KwordGVzdFNlcmlhbGl6YXRpb24oW10sIFsweDAxZmYsIDB4MDAzZiwgMHgwMDQxLCAweDAwMjQs
IDB4MDAwMCBdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICJ6b28ifSwKKyAgICAgICAgICAg
ICAgICAgIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywgMHg2ZjZmLAor
ICAgICAgICAgICAgICAgICAgIDB4MDEzZiwgMHgwMzUzLCAweDZmN2EsIDB4N2I2ZiwgMHgwMDAx
XSwKKyAgICAgICAgICAgICAgICAgIFsweDAzNTMsIDB4NmY2NiwgMHg1MzZmLCAweDdhMDMsIDB4
NmY2ZiwgMHgwMTdiXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiBudWxsfSwKKyAgICAgICAg
ICAgICAgICAgIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywgMHg2ZjZm
LAorICAgICAgICAgICAgICAgICAgIDB4MDEzZiwgMHg3YjMwLCAweDAwMDFdLAorICAgICAgICAg
ICAgICAgICAgWzB4MDM1MywgMHg2ZjY2LCAweDMwNmYsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6
YXRpb24oe30sIFsweDAxZmYsIDB4MDAzZiwgMHg3YjZmLCAweDAwMDBdLCBbMHgwMDdiXSk7CisK
K3Rlc3RTZXJpYWxpemF0aW9uKHVuZGVmaW5lZCwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNWZdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKHRydWUsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDU0XSk7Cit0ZXN0
U2VyaWFsaXphdGlvbihmYWxzZSwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNDZdKTsKKy8vIFNwYXJz
ZSBhcnJheSBkZXNlcmlhbGl6YXRpb24gaXMgYnJva2VuLgorLy8gU2VlOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4MzgKKy8vIHRlc3RTZXJpYWxpemF0aW9uKG5l
dyBBcnJheSgxMDApLCBbMHgwMWZmLCAweDAwM2YsIDB4NjQ2MSwgMHgwMDQwLCAweDAwNjRdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKDEwLCBbMHgwMWZmLCAweDAwM2YsIDB4MTQ0OV0pOwordGVzdFNl
cmlhbGl6YXRpb24oLTEwLCBbMHgwMWZmLCAweDAwM2YsIDB4MTM0OV0pOwordGVzdFNlcmlhbGl6
YXRpb24oTWF0aC5wb3coMiwzMCksIFsweDAxZmYsIDB4MDAzZiwgMHg4MDQ5LCAweDgwODAsIDB4
MDg4MF0pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiw1NSksIFsweDAxZmYsIDB4MDAz
ZiwgMHgwMDRlLCAweDAwMDAsIDB4MDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMHg2MDAwLCAweDAwNDNdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEuMjMsIFsweDAxZmYs
IDB4MDAzZiwgMHhhZTRlLCAweGUxNDcsIDB4MTQ3YSwgMHhmM2FlLCAweDAwM2ZdKTsKK3Rlc3RT
ZXJpYWxpemF0aW9uKCIiLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA1M10pOwordGVzdFNlcmlhbGl6
YXRpb24oImFiYyIsIFsweDAxZmYsIDB4MDAzZiwgMHgwMzUzLCAweDYyNjEsIDB4MDA2M10pOwor
dGVzdFNlcmlhbGl6YXRpb24oe2ludGVnZXI6IDEyM30sIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZm
LCAweDUzMDEsIDB4NjkwNywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3
NDZlLCAweDY3NjUsIDB4NzI2NSwgMHgwMTNmLCAweGY2NDksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4N2IwMSwgMHgwMDAxXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7c3Ry
aW5nOiAic3RyIn0sIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NzMwNiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI3NCwgMHg2ZTY5LCAweDNmNjcs
IDB4NTMwMSwgMHg3MzAzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3
Mjc0LCAweDAxN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtsaXN0OiBbMSwyLDNdfSwgWzB4MDFm
ZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2YzA0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMHg3MzY5LCAweDNmNzQsIDB4NDEwMSwgMHgzZjAzLCAweDQ5MDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNmMDIsIDB4NDkwMiwgMHgzZjA0
LCAweDQ5MDIsIDB4MjQwNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
MDMwMCwgMHgwMTdiXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihudWxsLCBbMHgwMWZmLCAweDAwM2Ys
IDB4MDAzMF0pOwordGVzdFNlcmlhbGl6YXRpb24oL2FiYy8sIFsweDAxZmYsIDB4MDAzZiwgMHgw
MzUyLCAweDYyNjEsIDB4MDA2M10pOworCit2YXIgaW5uZXJPYmplY3QgPSB7aGVsbG86ICJ0aGVy
ZSJ9OwordmFyIG91dGVyT2JqZWN0ID0ge2lubmVyOiBpbm5lck9iamVjdH07CitvdXRlck9iamVj
dFsnb3V0ZXInXSA9IGlubmVyT2JqZWN0OwordGVzdFNlcmlhbGl6YXRpb24ob3V0ZXJPYmplY3Qs
IFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjkwNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHg2ZTZlLCAweDcyNjUsIDB4MDEzZiwgMHgzZjZmLCAweDUzMDIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjgwNSwgMHg2YzY1LCAweDZmNmMs
IDB4MDIzZiwgMHgwNTUzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY4NzQs
IDB4NzI2NSwgMHg3YjY1LCAweDNmMDEsIDB4NTMwMiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMHg2ZjA1LCAweDc0NzUsIDB4NzI2NSwgMHgwMjNmLCAweDAxNWUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDI3Yl0pOwordGVzdFNlcmlhbGl6YXRpb24oaW5u
ZXJPYmplY3QsIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjgwNSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2YzY1LCAweDZmNmMsIDB4MDEzZiwgMHgwNTUz
LCAweDY4NzQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI2NSwgMHg3YjY1
LCAweDAwMDFdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKGZ1bmN0aW9uKCl7fSwgW10sIG51bGwsIERP
TUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174540</attachid>
            <date>2012-11-15 16:11:04 -0800</date>
            <delta_ts>2012-11-16 17:53:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96818-20121115160901.patch</filename>
            <type>text/plain</type>
            <size>28704</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkzOWM5NjBlMWU2ZDQ1
NGY2NjFmYzBlN2M5Y2NlYmE2MTQ1MjgzYS4uZDYyYzNlODRjNzljMDIwZGRkYWE5OGI1MzM5NTZi
NGY3OWMxNmJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTExICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCisKKyAgICAgICAgRXhwb3NlIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIHNlcmlhbGl6YXRp
b24vZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMKKyAgICAgICAgb2YgU2VyaWFsaXplZFNjcmlw
dFZhbHVlIHRvIER1bXBSZW5kZXJUcmVlLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmRlc2VyaWFsaXpl
QnVmZmVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTExLTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSB0aGF0
IHNjcm9sbGJhciBsYXllcnMgc2hvdyBkZWJ1ZyBib3JkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGQ4MjY0
MDI1ZWFhY2ZmZGFiZDlkMzlmM2Q0ZWRlNDMzMjhkMThlNy4uMWY2NzhmYTNhZWNmZTZmZWY2MGM4
MGI4MTFmYmQwM2EzNWIzM2I1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEx
LTE0ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQg
dGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQWRkIGV4cG9ydHMgZm9yIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSBjaGFuZ2VzLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAq
IHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0xNSAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGZvdXIgYWNjZWxlcmF0
ZWQgY29tcG9zaXRpbmcgV0tWaWV3IG1ldGhvZHMgaW50byBhIHNpbmdsZSBtZXRob2QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KaW5kZXggOTA3OTBkYzZjNTMxNjAyMTkyODE1MjI0YzU0N2JlNTkzZDZkYzI2
NS4uMTU5MjhlYzc0MjJmNzA3M2NkYWVlZGJhMTkyOGQxYWZmMzU3MDNlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KQEAgLTIyNSwxNSArMjI1LDE2IEBAIF9fWk43V2ViQ29yZTEzSWRlbnRpZmllclJl
cDNnZXRFaQogX19aTjdXZWJDb3JlMTNKU0hUTUxFbGVtZW50NnNfaW5mb0UKIF9fWk43V2ViQ29y
ZTEzS2V5Ym9hcmRFdmVudEMxRVJLTjNXVEYxMkF0b21pY1N0cmluZ0ViYlBOU185RE9NV2luZG93
RVJLTlMxXzZTdHJpbmdFamJiYmJiCiBfX1pON1dlYkNvcmUxM0tleWJvYXJkRXZlbnRDMUVSS05T
XzIxUGxhdGZvcm1LZXlib2FyZEV2ZW50RVBOU185RE9NV2luZG93RQorX19aTjdXZWJDb3JlMTNR
dWFsaWZpZWROYW1lRDFFdgogX19aTjdXZWJDb3JlMTNSZXNvdXJjZUVycm9yQzFFUDdOU0Vycm9y
CiBfX1pON1dlYkNvcmUxM1Jlc291cmNlRXJyb3JDMUVQOV9fQ0ZFcnJvcgogX19aTjdXZWJDb3Jl
MTNTdHlsZWRFbGVtZW50MjJzZXRJbmxpbmVTdHlsZVByb3BlcnR5RU5TXzEzQ1NTUHJvcGVydHlJ
REVSS04zV1RGNlN0cmluZ0ViCiBfX1pON1dlYkNvcmUxM1N0eWxlZEVsZW1lbnQyMnNldElubGlu
ZVN0eWxlUHJvcGVydHlFTlNfMTNDU1NQcm9wZXJ0eUlERWROU18xN0NTU1ByaW1pdGl2ZVZhbHVl
OVVuaXRUeXBlc0ViCiBfX1pON1dlYkNvcmUxM2NyZWF0ZVdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxM2RpcmVj
dG9yeU5hbWVFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxM3RvQXJyYXlCdWZmZXJFTjNK
U0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29yZTEzdG9IVE1MRWxlbWVudEVQTlNfMjFGb3JtQXNzb2Np
YXRlZEVsZW1lbnRFCiBfX1pON1dlYkNvcmUxM3RvSlNET01XaW5kb3dFTjNKU0M3SlNWYWx1ZUUK
LV9fWk43V2ViQ29yZTEzUXVhbGlmaWVkTmFtZUQxRXYKIF9fWk43V2ViQ29yZTE0Q2FjaGVkUmVz
b3VyY2UxMnJlbW92ZUNsaWVudEVQTlNfMjBDYWNoZWRSZXNvdXJjZUNsaWVudEUKIF9fWk43V2Vi
Q29yZTE0Q2FjaGVkUmVzb3VyY2UxNnVucmVnaXN0ZXJIYW5kbGVFUE5TXzI0Q2FjaGVkUmVzb3Vy
Y2VIYW5kbGVCYXNlRQogX19aTjdXZWJDb3JlMTRDYWNoZWRSZXNvdXJjZTlhZGRDbGllbnRFUE5T
XzIwQ2FjaGVkUmVzb3VyY2VDbGllbnRFCkBAIC0yNDQsNiArMjQ1LDExIEBAIF9fWk43V2ViQ29y
ZTE0RG9jdW1lbnRMb2FkZXIxMGNvbW1pdERhdGFFUEtjbQogX19aTjdXZWJDb3JlMTREb2N1bWVu
dExvYWRlcjEzYXR0YWNoVG9GcmFtZUV2CiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTVk
ZXRhY2hGcm9tRnJhbWVFdgogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjE4YWRkQXJjaGl2
ZVJlc291cmNlRU4zV1RGMTBQYXNzUmVmUHRySU5TXzE1QXJjaGl2ZVJlc291cmNlRUVFCitfX1pO
N1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNT
dGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRQorX19aTjdX
ZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMx
XzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxt
MUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRp
b25FcnJvck1vZGVFCitfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVF
UktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTh0b1N0
cmluZ0V2CitfX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZmZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9h
ZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJFUE5TXzE0UmVzb3VyY2VMb2FkZXJFCiBfX1pON1dl
YkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRBbGxBcmNoaXZlUmVzb3VyY2VzRVBOU183QXJjaGl2
ZUUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIyMmNhbmNlbE1haW5SZXNvdXJjZUxvYWRF
UktOU18xM1Jlc291cmNlRXJyb3JFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IDgzMmI1ZDRiZjZkNjUwMzQ1NjU4ZTE5ZGE3
MGM4MmFlZjA3YmVlYzMuLmQ5NGE4Njc1OWQyODk5ZGU4YjZhZDI3NjE0YWExNTZhZDBmYzNiZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNyZWF0ZShKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYsIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGNyZWF0ZUZyb21XaXJlKGNvbnN0IFN0cmluZyYgdmFs
dWUpIHsgcmV0dXJuIGNyZWF0ZSh2YWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IGFkb3B0KFZlY3Rvcjx1aW50OF90PiYgYnVmZmVyKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTZXJpYWxpemVkU2NyaXB0VmFsdWUoYnVmZmVy
KSk7CkBAIC04NCw2ICs4NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IGJvb2xlYW5WYWx1ZShib29sIHZhbHVlKTsKIAogICAgIFN0cmlu
ZyB0b1N0cmluZygpOworICAgIFN0cmluZyB0b1dpcmVTdHJpbmcoKSB7IHJldHVybiB0b1N0cmlu
ZygpOyB9CiAgICAgCiAgICAgSlNDOjpKU1ZhbHVlIGRlc2VyaWFsaXplKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIE1lc3NhZ2VQb3J0QXJyYXkqLCBTZXJpYWxpemF0aW9u
RXJyb3JNb2RlID0gVGhyb3dpbmcpOwogICAgIEpTVmFsdWVSZWYgZGVzZXJpYWxpemUoSlNDb250
ZXh0UmVmLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24sIE1lc3NhZ2VQb3J0QXJyYXkqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBlYTkxOThiZGNlNGJkZjFjYjViMjkzODI2
YTA0MGQ4NDljMGJlMGJkLi43M2ZmNDQ3MWJhZjZmYTQxMDliMDRmNDNlZmM2ZDQyOGMxNzkxYjJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03MSw2ICs3MSw3IEBACiAj
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lz
dHJ5LmgiCiAjaW5jbHVkZSAiU2VsZWN0UnVsZUZlYXR1cmVTZXQuaCIKKyNpbmNsdWRlICJTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNo
YWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTcGVsbENoZWNrZXIuaCIKQEAgLTE2MjcsNCArMTYyOCwx
NiBAQCBTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCogZG9j
dW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogI2VuZGlmCiB9CiAKK1Bhc3NSZWZQdHI8QXJyYXlC
dWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKK3sKKyAgICBTdHJpbmcgc3RyaW5nVmFsdWUgPSB2YWx1
ZS0+dG9XaXJlU3RyaW5nKCk7CisgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGlj
X2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0cmluZ1ZhbHVlLmltcGwoKS0+Y2hhcmFjdGVycygpKSwgc3Ry
aW5nVmFsdWUuc2l6ZUluQnl0ZXMoKSk7Cit9CisKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBJbnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVyKFBhc3NSZWZQdHI8QXJyYXlCdWZm
ZXI+IGJ1ZmZlcikgY29uc3QKK3sKKyAgICBTdHJpbmcgdmFsdWUoc3RhdGljX2Nhc3Q8Y29uc3Qg
VUNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpIC8gc2l6ZW9mKFVD
aGFyKSk7CisgICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUo
dmFsdWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmNDExNzQx
ZWJkYTI5NDI4Y2RmMGMyZWM4ZjY5ODQ0MGExZDc4YzBhLi5hMTk0NDM1YjUzMzhmOTg2ZGU5ODNh
NDIxODIxODFlYzAxODIxZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIk5vZGVMaXN0Lmgi
CisjaW5jbHVkZSA8d3RmL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgpAQCAtNTMsNiArNTQsNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
Y2xhc3MgU2hhZG93Um9vdDsKIGNsYXNzIFdlYktpdFBvaW50OwogY2xhc3MgTWFsbG9jU3RhdGlz
dGljczsKK2NsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAogdHlwZWRlZiBpbnQgRXhjZXB0
aW9uQ29kZTsKIApAQCAtMjQ2LDYgKzI0OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJh
Y2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHN0b3BU
cmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gc2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPikgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IGRlc2VyaWFsaXplQnVmZmVyKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KSBjb25zdDsKKwogICAg
IFN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBjODVlZmZl
NjAwNzE4ODUzZWViMDM2OWZjZjA5NGI3MWM4OWIyM2I4Li5mMDFiMzVkZDgzMDdmY2M2YmRjNWZh
Yjg3NzM2ZGIyMGQyOTZiZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBA
IC0yMTcsNCArMjE3LDcgQEAKIAogICAgIC8vIFJldHVybnMgYSBzdHJpbmcgd2l0aCBpbmZvcm1h
dGlvbiBhYm91dCB0aGUgbW91c2UgY3Vyc29yIHVzZWQgYXQgdGhlIHNwZWNpZmllZCBjbGllbnQg
bG9jYXRpb24uCiAgICAgRE9NU3RyaW5nIGdldEN1cnJlbnRDdXJzb3JJbmZvKGluIERvY3VtZW50
IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICBTZXJpYWxpemVkU2NyaXB0
VmFsdWUgZGVzZXJpYWxpemVCdWZmZXIoaW4gQXJyYXlCdWZmZXIgYnVmZmVyKTsKKyAgICBBcnJh
eUJ1ZmZlciBzZXJpYWxpemVPYmplY3QoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG9iaik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDdlYjkxY2M3NGQ1ZmYxZDg3N2M0YjUzOTllNGQ2
MzYzZTE2MmM4OGUuLjA4MGZlOTkwNTM3Y2VjYWIwMGYzOWY1ZTI3MTQxNThkZGQyY2JhYmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE1Nyw2ICsxNTcsOCBAQCBFWFBPUlRTCiAgICAgICAg
ID8/MEN1cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBA
UUFFQFBCREBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKKyAgICAgICAgPz8w
U3RyaW5nQFdURkBAUUFFQFBCX1dJQFoKKyAgICAgICAgPz8xU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFFBRUBYWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVy
T2JqZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCiAgICAgICAgID9hYnNvbHV0ZUJv
dW5kaW5nQm94UmVjdElnbm9yaW5nVHJhbnNmb3Jtc0BSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJF
P0FWSW50UmVjdEAyQFhaCiAgICAgICAgID9kZXNjcmlwdGlvbkBEb2N1bWVudE1hcmtlckBXZWJD
b3JlQEBRQkVBQlZTdHJpbmdAV1RGQEBYWgpAQCAtMTY3LDggKzE2OSwxMSBAQCBFWFBPUlRTCiAg
ICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEy
QEFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdl
YkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdU
RkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVu
dEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCisgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoK
KyAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZA
QEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9jcmVh
dGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJD
b3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2Vi
Q29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmpl
Y3RAMUBQQVZOb2RlQDFAQFoKKyAgICAgICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBRQUU/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9i
YWxPYmplY3RANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBX
VEZAQCQwMEBXVEZAQFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1
bWVudFN0YXRlQEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RG
QEAkMEFAQFdURkBAWFoKICAgICAgICAgP2Vuc3VyZVNlbGVjdEZlYXR1cmVTZXRDb2xsZWN0ZWRA
RWxlbWVudFNoYWRvd0BXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP2VxdWFsQFdURkBAWUFfTlBC
VlN0cmluZ0ltcGxAMUBQQkVAWgpAQCAtMjU3LDE0ICsyNjIsMTcgQEAgRVhQT1JUUwogICAgICAg
ICA/dGV4dEBSYW5nZUBXZWJDb3JlQEBRQkU/QVZTdHJpbmdAV1RGQEBYWgogICAgICAgICA/dGV4
dENvbnRlbnRATm9kZUBXZWJDb3JlQEBRQkU/QVZTdHJpbmdAV1RGQEBfTkBaCiAgICAgICAgID90
b0RvY3VtZW50QFdlYkNvcmVAQFlBUEFWRG9jdW1lbnRAMUBWSlNWYWx1ZUBKU0NAQEBaCisgICAg
ICAgID90b0FycmF5QnVmZmVyQFdlYkNvcmVAQFlBUEFWQXJyYXlCdWZmZXJAV1RGQEBWSlNWYWx1
ZUBKU0NAQEBaCiAgICAgICAgID90b0RPTVN0cmluZ0xpc3RAV2ViQ29yZUBAWUE/QVY/JFBhc3NS
ZWZQdHJAVkRPTVN0cmluZ0xpc3RAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpT
VmFsdWVANUBAWgogICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZK
U1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZBcnJheUJ1ZmZlckBXVEZA
QEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0
ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWQ2xpZW50UmVjdEAxQEBaCiAgICAgICAgID90
b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xv
YmFsT2JqZWN0QDFAUEFWQ2xpZW50UmVjdExpc3RAMUBAWgogICAgICAgICA/dG9KU0BXZWJDb3Jl
QEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAx
QFBBVk5vZGVAMUBAWgogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQ
QVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVlJhbmdlQDFAQFoKICAgICAg
ICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNE
T01HbG9iYWxPYmplY3RAMUBQQVZOb2RlTGlzdEAxQEBaCiAgICAgICAgID90b1JhbmdlQFdlYkNv
cmVAQFlBUEFWUmFuZ2VAMUBWSlNWYWx1ZUBKU0NAQEBaCisgICAgICAgID90b1N0cmluZ0BTZXJp
YWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWU3RyaW5nQFdURkBAWFoKICAgICAgICAg
P3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVTY29wZUAyQFhaCiAgICAgICAgID91
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNARG9jdW1lbnRAV2ViQ29yZUBAUUFF
WFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRWZWN0
b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUu
ZGVmCmluZGV4IDA2NWE0MzU0NzJlYTQ5OTZjM2U0MDY4MzM0OTYzM2QzNDQxZTBlNzYuLmUwMmUy
Mzc3MTQ2YzZiMmUxZWRkMmUzM2Q1YWU5Y2UzMzEyYzMyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0MkNGTGl0ZS5kZWYKQEAgLTE1MCw2ICsxNTAsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MEN1
cnNvckBXZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBC
REBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKKyAgICAgICAgPz8wU3RyaW5n
QFdURkBAUUFFQFBCX1dJQFoKKyAgICAgICAgPz8xU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFFBRUBYWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2JqZWN0
QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5n
Qm94UmVjdElnbm9yaW5nVHJhbnNmb3Jtc0BSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50
UmVjdEAyQFhaCiAJP2Rlc2NyaXB0aW9uQERvY3VtZW50TWFya2VyQFdlYkNvcmVAQFFCRUFCVlN0
cmluZ0BXVEZAQFhaCkBAIC0xNjAsOCArMTYyLDExIEBAIEVYUE9SVFMKICAgICAgICAgP2NoaWxk
SXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdU
RkBAQFoKICAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVu
dEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0
QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKKyAgICAgICAgP2NyZWF0ZUBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgorICAgICAgICA/Y3Jl
YXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1Zh
bHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAk
MDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2NyZWF0ZUBTaGFkb3dSb290
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQFBB
VkVsZW1lbnRAMkBBQUhAWgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpT
VmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVA
MUBAWgorICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBB
Vj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlz
dG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBY
WgogICAgICAgICA/ZW5zdXJlU2VsZWN0RmVhdHVyZVNldENvbGxlY3RlZEBFbGVtZW50U2hhZG93
QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/ZXF1YWxAV1RGQEBZQV9OUEJWU3RyaW5nSW1wbEAx
QFBCRUBaCkBAIC0yNTAsMTQgKzI1NSwxOSBAQCBFWFBPUlRTCiAgICAgICAgID90ZXh0QFJhbmdl
QFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BXVEZAQFhaCiAgICAgICAgID90ZXh0Q29udGVudEBOb2Rl
QFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BXVEZAQF9OQFoKICAgICAgICAgP3RvRG9jdW1lbnRAV2Vi
Q29yZUBAWUFQQVZEb2N1bWVudEAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP3RvQXJyYXlC
dWZmZXJAV2ViQ29yZUBAWUFQQVZBcnJheUJ1ZmZlckBXVEZAQFZKU1ZhbHVlQEpTQ0BAQFoKICAg
ICAgICAgP3RvRE9NU3RyaW5nTGlzdEBXZWJDb3JlQEBZQT9BVj8kUGFzc1JlZlB0ckBWRE9NU3Ry
aW5nTGlzdEBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA1QEBaCisg
ICAgICAgID90b0FycmF5QnVmZmVyQFdlYkNvcmVAQFlBUEFWQXJyYXlCdWZmZXJAV1RGQEBWSlNW
YWx1ZUBKU0NAQEBaCisgICAgICAgID90b0RvY3VtZW50QFdlYkNvcmVAQFlBUEFWRG9jdW1lbnRA
MUBWSlNWYWx1ZUBKU0NAQEBaCiAgICAgICAgID90b0VsZW1lbnRAV2ViQ29yZUBAWUFQQVZFbGVt
ZW50QDFAVkpTVmFsdWVASlNDQEBAWgorICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFs
dWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVkFycmF5QnVm
ZmVyQFdURkBAQFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFW
RXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZDbGllbnRSZWN0QDFAQFoKICAg
ICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFW
SlNET01HbG9iYWxPYmplY3RAMUBQQVZDbGllbnRSZWN0TGlzdEAxQEBaCiAgICAgICAgID90b0pT
QFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFs
T2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1
ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWUmFuZ2VAMUBA
WgogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVA
M0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVMaXN0QDFAQFoKICAgICAgICAgP3RvUmFu
Z2VAV2ViQ29yZUBAWUFQQVZSYW5nZUAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP3RvU3Ry
aW5nQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBRQUU/QVZTdHJpbmdAV1RGQEBYWgog
ICAgICAgICA/dHJlZVNjb3BlQE5vZGVAV2ViQ29yZUBAUUJFUEFWVHJlZVNjb3BlQDJAWFoKICAg
ICAgICAgP3VwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0BEb2N1bWVudEBXZWJD
b3JlQEBRQUVYWFoKICAgICAgICAgP3VzZXJQcmVmZXJyZWRMYW5ndWFnZXNAV2ViQ29yZUBAWUE/
QVY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgppbmRleCA5MWJjZDlmMjViNmZkZGEwZmJlMTI2NzMyM2E4OWJlYTJjNDdjMzQxLi5jZGYxZDhi
ZDczMTgzOTRjMmE2YTEzMmU3OTIyNjBkZWIyNGM2MGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKQEAgLTIxMiw2ICsyMTIsMTMgQEAgX1pUVk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbDhTZXR0aW5nc0U7CiBfWk5LN1dlYkNvcmU1RnJhbWUxNWxheWVyVHJlZUFzVGV4
dEVqOwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRUcmFja3NSZXBhaW50c0ViOwogX1pOSzdX
ZWJDb3JlNUZyYW1lMjV0cmFja2VkUmVwYWludFJlY3RzQXNUZXh0RXY7CitfWk43V2ViQ29yZTR0
b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RGMTFBcnJh
eUJ1ZmZlckU7CitfWk43V2ViQ29yZTEzdG9BcnJheUJ1ZmZlckVOM0pTQzdKU1ZhbHVlRTsKK19a
TjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVF
TlMxXzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVF
RUxtMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVOU18yMlNlcmlhbGl6
YXRpb25FcnJvck1vZGVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVh
dGVFUktOM1dURjZTdHJpbmdFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTh0
b1N0cmluZ0V2OworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxp
emVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklO
UzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJy
b3JNb2RlRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVEMUV2OwogCiBsb2Nh
bDoKIF9aKjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBjYjM1NGI1YTg5NzYyYjI2MzE0ZTYzNTQyZGYyOTI3ODkwZDhjZjZl
Li4yNjY1NDcwNTA0Njc0NTk3Y2Q5NzFhNWMyNDBhYmFmNDBhOGYwYzU1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTItMTEtMTQgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBNYWtlIHN1cmUgU2Vy
aWFsaXplZFNjcmlwdFZhbHVlcyBhcmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIGZ1dHVyZSBj
aGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS50eHQ6IEFkZGVkLgorCiAy
MDEyLTExLTE1ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZC4gTW9yZSBzdWJwaXhlbCBsYXlvdXQgdGVzdCByZWJhc2VsaW5lcyBmb3IgV2lu
ZG93cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3Rv
cmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2M2QwZTNjYTA4Zjk3NzUwMWJkZTkyYjgxYjM5MzI5MmYy
ZGQ5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTI1IEBACisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15
TmV3S2V5In19OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJm
b28iOiJ6b28iLCJiYXIiOiJteU5ld0tleSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBl
eHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW106CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIFtd
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28ifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIn06CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byB7ImZvbyI6bnVsbH06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6bnVsbH06CitQQVNTIGJ1ZmZlclZpZXcubGVu
Z3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
IHt9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8gdW5kZWZpbmVkOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byB0cnVlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5n
aWZ5KG9iaikKK1NlcmlhbGl6ZSB0cnVlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gZmFsc2U6CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIGZh
bHNlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8gMTA6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMg
SlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0
aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gLTEwOgor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSAtMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVz
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxMDczNzQxODI0OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxMDczNzQxODI0Ogor
UEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKwor
RGVzZXJpYWxpemUgdG8gMzYwMjg3OTcwMTg5NjM5NzA6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDM2MDI4Nzk3MDE4OTYzOTcw
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8gMS4yMzoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBK
U09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMS4yMzoKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvICIiOgor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSAiIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMu
bGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvICJhYmMiOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAiYWJjIjoKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXpl
IHRvIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09O
LnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJpbnRlZ2VyIjoxMjN9OgorUEFTUyBidWZmZXJW
aWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUg
dG8geyJzdHJpbmciOiJzdHIifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09O
LnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJzdHJpbmciOiJzdHIifToKK1BBU1MgYnVmZmVy
Vmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXpl
IHRvIHsibGlzdCI6WzEsMiwzXX06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsibGlzdCI6WzEsMiwzXX06CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byBudWxsOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSBudWxsOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3Rl
ZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8ge306CitQQVNTIEpTT04uc3Ry
aW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHt9OgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8geyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0sIm91dGVyIjp7ImhlbGxvIjoi
dGhlcmUifX06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnko
b2JqKQorU2VyaWFsaXplIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJoZWxs
byI6InRoZXJlIn19OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZh
bHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJoZWxsbyI6InRoZXJlIn06CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsi
aGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZl
clZhbHVlcy5sZW5ndGgKKworU2VyaWFsaXplIHVuZGVmaW5lZDoKK1BBU1MgdGhyb3duRXhjZXB0
aW9uLmNvZGUgaXMgZXhwZWN0ZWRFeGNlcHRpb24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlw
dC12YWx1ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MTY4MTllODQ4NjdjNzM5YTgwYTg2N2NmYWY2MmEx
N2M3NmRmNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbApAQCAtMCwwICsxLDE1
MiBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorZnVuY3Rpb24gZXhwZWN0QnVmZmVyVmFs
dWUoZXhwZWN0ZWRWYWx1ZXMsIGJ1ZmZlcikgeworICAgIGV4cGVjdGVkQnVmZmVyVmFsdWVzID0g
ZXhwZWN0ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9IG5ldyBVaW50MTZBcnJheShidWZmZXIp
OworICAgIHNob3VsZEJlKCJidWZmZXJWaWV3Lmxlbmd0aCIsICJleHBlY3RlZEJ1ZmZlclZhbHVl
cy5sZW5ndGgiKTsKKyAgICB2YXIgc3VjY2VzcyA9IChidWZmZXJWaWV3Lmxlbmd0aCA9PSBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgpOworICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAg
ICAgIGlmIChleHBlY3RlZFZhbHVlc1tpXSAhPSBidWZmZXJWaWV3W2ldKSB7CisgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiQXJyYXlCdWZmZXJWaWV3cyBkaWZmZXIgYXQgaW5kZXggIiArIGkg
KyAiLiBTaG91bGQgYmUgIiArIGV4cGVjdGVkVmFsdWVzW2ldICsgIi4gV2FzICIgKyB2aWV3W2ld
KTsKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXN1Y2Nlc3Mp
IHsKKyAgICAgICAgLy8gb3V0cHV0IHRoZSBmdWxsIGJ1ZmZlciBmb3IgYWRkaW5nIGJhY2sgaW50
byB0aGUgdGVzdAorICAgICAgICB2YXIgb3V0cHV0ID0gW107CisgICAgICAgIGZvciAoaSA9IDA7
IGkgPCBidWZmZXJWaWV3Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgaGV4VmFsID0g
YnVmZmVyVmlld1tpXS50b1N0cmluZygxNik7CisgICAgICAgICAgICBpZiAoaGV4VmFsLmxlbmd0
aCA8IDQpIHsKKyAgICAgICAgICAgICAgICBoZXhWYWwgPSAiMDAwMCIuc2xpY2UoaGV4VmFsLmxl
bmd0aCkgKyBoZXhWYWw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdXRwdXQucHVzaCgi
MHgiICsgaGV4VmFsKTsKKyAgICAgICAgfQorICAgICAgICBkZWJ1ZygiQWN0dWFsIGJ1ZmZlcjog
WyIgKyBvdXRwdXQuam9pbigiLCAiKSArICJdIik7CisgICAgfQorfQorCitmdW5jdGlvbiBtYWtl
QnVmZmVyKHNlcmlhbGl6ZWRWYWx1ZXMpIHsKKyAgICB2YXIgYnVmZmVyVmlldyA9IG5ldyBVaW50
MTZBcnJheShuZXcgQXJyYXlCdWZmZXIoc2VyaWFsaXplZFZhbHVlcy5sZW5ndGggKiAyKSk7Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZXJpYWxpemVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgIGJ1ZmZlclZpZXdbaV0gPSBzZXJpYWxpemVkVmFsdWVzW2ldOworICAgIH0KKyAgICBy
ZXR1cm4gYnVmZmVyVmlldy5idWZmZXI7Cit9CisKKworZnVuY3Rpb24gdGVzdFNlcmlhbGl6YXRp
b24ob2JqLCB2YWx1ZXMsIG9sZEZvcm1hdCwgc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAg
ICBkZWJ1ZygiIik7CisKKyAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7CisgICAg
ICAgIHNlbGYub2JqID0gb2JqOworICAgICAgICBkZWJ1ZygiRGVzZXJpYWxpemUgdG8gIiArIEpT
T04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgICAgICBzZWxmLm5ld09iaiA9IGludGVybmFs
cy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKHZhbHVlcykpOworICAgICAgICBzaG91bGRC
ZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0cmluZ2lmeShvYmopIik7CisKKyAg
ICAgICAgaWYgKG9sZEZvcm1hdCkgeworICAgICAgICAgICAgc2VsZi5uZXdPYmogPSBpbnRlcm5h
bHMuZGVzZXJpYWxpemVCdWZmZXIobWFrZUJ1ZmZlcihvbGRGb3JtYXQpKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJKU09OLnN0cmluZ2lmeShuZXdPYmopIiwgIkpTT04uc3RyaW5naWZ5KG9iaiki
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGRlYnVnKCJTZXJpYWxpemUgIiArIEpTT04uc3Ry
aW5naWZ5KG9iaikgKyAiOiIpOworICAgIHRyeSB7CisgICAgICAgIHZhciBzZXJpYWxpemVkID0g
aW50ZXJuYWxzLnNlcmlhbGl6ZU9iamVjdChvYmopOworICAgICAgICBpZiAoc2VyaWFsaXplRXhj
ZXB0aW9uVmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIHRocm93
biBhbiBleGNlcHRpb24gb2YgdHlwZSAiLCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSk7CisgICAg
ICAgIH0KKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25W
YWx1ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNlbGYu
dGhyb3duRXhjZXB0aW9uID0gZTsKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRFeGNlcHRpb24g
PSBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ0aHJvd25F
eGNlcHRpb24uY29kZSIsICJleHBlY3RlZEV4Y2VwdGlvbiIpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgfQorICAgIGV4cGVjdEJ1ZmZlclZhbHVlKHZhbHVlcywgc2VyaWFs
aXplZCk7Cit9CisKKy8vIHdlIG9ubHkgdGVzdCBhIGZldyBjYXNlcyBvZiB0aGUgIm9sZCIgc2Vy
aWFsaXphdGlvbiBmb3JtYXQgYmVjYXVzZQorLy8gdGhhdCBpcyBhbGwgdGhhdCB3YXMgbGVmdCBh
cm91bmQgZnJvbSBwcmV2aW91cyB0ZXN0cy4gVGhvc2UgdmFsdWVzCisvLyBhcmUgb25seSBwZXJz
aXN0ZWQgb3V0IGluIHRoZSB3b3JsZCBpbiBJbmRleGVkREIgc3RvcmVzIHRoYXQgd2VyZQorLy8g
d3JpdHRlbiB3aXRoIGltcGxlbWVudGF0aW9ucyBidWlsdCBiZWZvcmUgbWlkLTIwMTEuCit0ZXN0
U2VyaWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiB7YmF6OiAnbXlOZXdLZXknfX0sCisgICAg
ICAgICAgICAgICAgICBbIDB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2NjAzLAor
ICAgICAgICAgICAgICAgICAgICAweDZmNmYsIDB4MDEzZiwgMHgwMzUzLCAweDZmN2EsIDB4M2Y2
ZiwKKyAgICAgICAgICAgICAgICAgICAgMHg1MzAxLCAweDYyMDMsIDB4NzI2MSwgMHgwMTNmLCAw
eDNmNmYsCisgICAgICAgICAgICAgICAgICAgIDB4NTMwMiwgMHg2MjAzLCAweDdhNjEsIDB4MDIz
ZiwgMHgwODUzLAorICAgICAgICAgICAgICAgICAgICAweDc5NmQsIDB4NjU0ZSwgMHg0Yjc3LCAw
eDc5NjUsIDB4MDE3YiwKKyAgICAgICAgICAgICAgICAgICAgMHgwMjdiIF0pOworCit0ZXN0U2Vy
aWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiAnbXlOZXdLZXknfSwKKyAgICAgICAgICAgICAg
ICAgIFsweDAxZmYsIDB4MDAzZiwgMHgzZjZmLCAweDUzMDEsIDB4NjYwMywKKyAgICAgICAgICAg
ICAgICAgICAweDZmNmYsIDB4MDEzZiwgMHgwMzUzLCAweDZmN2EsIDB4M2Y2ZiwKKyAgICAgICAg
ICAgICAgICAgICAweDUzMDEsIDB4NjIwMywgMHg3MjYxLCAweDAxM2YsIDB4MDg1MywKKyAgICAg
ICAgICAgICAgICAgICAweDc5NmQsIDB4NjU0ZSwgMHg0Yjc3LCAweDc5NjUsIDB4MDI3Yl0pOwor
Cit0ZXN0U2VyaWFsaXphdGlvbihbXSwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNDEsIDB4MDAyNCwg
MHgwMDAwIF0pOwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogInpvbyJ9LAorICAgICAgICAgICAg
ICAgICAgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2NjAzLCAweDZmNmYsCisg
ICAgICAgICAgICAgICAgICAgMHgwMTNmLCAweDAzNTMsIDB4NmY3YSwgMHg3YjZmLCAweDAwMDFd
LAorICAgICAgICAgICAgICAgICAgWzB4MDM1MywgMHg2ZjY2LCAweDUzNmYsIDB4N2EwMywgMHg2
ZjZmLCAweDAxN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286IG51bGx9LAorICAgICAgICAg
ICAgICAgICAgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2NjAzLCAweDZmNmYs
CisgICAgICAgICAgICAgICAgICAgMHgwMTNmLCAweDdiMzAsIDB4MDAwMV0sCisgICAgICAgICAg
ICAgICAgICBbMHgwMzUzLCAweDZmNjYsIDB4MzA2ZiwgMHgwMTdiXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbih7fSwgWzB4MDFmZiwgMHgwMDNmLCAweDdiNmYsIDB4MDAwMF0sIFsweDAwN2JdKTsKKwor
dGVzdFNlcmlhbGl6YXRpb24odW5kZWZpbmVkLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA1Zl0pOwor
dGVzdFNlcmlhbGl6YXRpb24odHJ1ZSwgWzB4MDFmZiwgMHgwMDNmLCAweDAwNTRdKTsKK3Rlc3RT
ZXJpYWxpemF0aW9uKGZhbHNlLCBbMHgwMWZmLCAweDAwM2YsIDB4MDA0Nl0pOworLy8gU3BhcnNl
IGFycmF5IGRlc2VyaWFsaXphdGlvbiBpcyBicm9rZW4uCisvLyBTZWU6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgzOAorLy8gdGVzdFNlcmlhbGl6YXRpb24obmV3
IEFycmF5KDEwMCksIFsweDAxZmYsIDB4MDAzZiwgMHg2NDYxLCAweDAwNDAsIDB4MDA2NF0pOwor
dGVzdFNlcmlhbGl6YXRpb24oMTAsIFsweDAxZmYsIDB4MDAzZiwgMHgxNDQ5XSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbigtMTAsIFsweDAxZmYsIDB4MDAzZiwgMHgxMzQ5XSk7Cit0ZXN0U2VyaWFsaXph
dGlvbihNYXRoLnBvdygyLDMwKSwgWzB4MDFmZiwgMHgwMDNmLCAweDgwNDksIDB4ODA4MCwgMHgw
ODgwXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihNYXRoLnBvdygyLDU1KSwgWzB4MDFmZiwgMHgwMDNm
LCAweDAwNGUsIDB4MDAwMCwgMHgwMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDYwMDAsIDB4MDA0M10pOwordGVzdFNlcmlhbGl6YXRpb24oMS4yMywgWzB4MDFmZiwg
MHgwMDNmLCAweGFlNGUsIDB4ZTE0NywgMHgxNDdhLCAweGYzYWUsIDB4MDAzZl0pOwordGVzdFNl
cmlhbGl6YXRpb24oIiIsIFsweDAxZmYsIDB4MDAzZiwgMHgwMDUzXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbigiYWJjIiwgWzB4MDFmZiwgMHgwMDNmLCAweDAzNTMsIDB4NjI2MSwgMHgwMDYzXSk7Cit0
ZXN0U2VyaWFsaXphdGlvbih7aW50ZWdlcjogMTIzfSwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYs
IDB4NTMwMSwgMHg2OTA3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDc0
NmUsIDB4Njc2NSwgMHg3MjY1LCAweDAxM2YsIDB4ZjY0OSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMHg3YjAxLCAweDAwMDFdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtzdHJp
bmc6ICJzdHIifSwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg3MzA2LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3Mjc0LCAweDZlNjksIDB4M2Y2Nywg
MHg1MzAxLCAweDczMDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcy
NzQsIDB4MDE3Yl0pOwordGVzdFNlcmlhbGl6YXRpb24oe2xpc3Q6IFsxLDIsM119LCBbMHgwMWZm
LCAweDAwM2YsIDB4M2Y2ZiwgMHg1MzAxLCAweDZjMDQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDczNjksIDB4M2Y3NCwgMHg0MTAxLCAweDNmMDMsIDB4NDkwMiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M2YwMiwgMHg0OTAyLCAweDNmMDQs
IDB4NDkwMiwgMHgyNDA2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw
MzAwLCAweDAxN2JdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKG51bGwsIFsweDAxZmYsIDB4MDAzZiwg
MHgwMDMwXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigvYWJjLywgWzB4MDFmZiwgMHgwMDNmLCAweDAz
NTIsIDB4NjI2MSwgMHgwMDYzXSk7CisKK3ZhciBpbm5lck9iamVjdCA9IHtoZWxsbzogInRoZXJl
In07Cit2YXIgb3V0ZXJPYmplY3QgPSB7aW5uZXI6IGlubmVyT2JqZWN0fTsKK291dGVyT2JqZWN0
WydvdXRlciddID0gaW5uZXJPYmplY3Q7Cit0ZXN0U2VyaWFsaXphdGlvbihvdXRlck9iamVjdCwg
WzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2OTA1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDZlNmUsIDB4NzI2NSwgMHgwMTNmLCAweDNmNmYsIDB4NTMwMiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ODA1LCAweDZjNjUsIDB4NmY2Yywg
MHgwMjNmLCAweDA1NTMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4Njg3NCwg
MHg3MjY1LCAweDdiNjUsIDB4M2YwMSwgMHg1MzAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweDZmMDUsIDB4NzQ3NSwgMHg3MjY1LCAweDAyM2YsIDB4MDE1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjdiXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihpbm5l
ck9iamVjdCwgWzB4MDFmZiwgMHgwMDNmLCAweDNmNmYsIDB4NTMwMSwgMHg2ODA1LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDZjNjUsIDB4NmY2YywgMHgwMTNmLCAweDA1NTMs
IDB4Njg3NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MjY1LCAweDdiNjUs
IDB4MDAwMV0pOwordGVzdFNlcmlhbGl6YXRpb24oZnVuY3Rpb24oKXt9LCBbXSwgbnVsbCwgRE9N
RXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>